//--- export object begin ---//
instant SimGroup "MissionGroup" {
	instant SimGroup "Volumes" {
		instant SimVolume "InterfaceVol" {
			fileName = "Interface.vol";
		};
		instant SimVolume "entities" {
			fileName = "Entities.vol";
		};
		instant SimVolume "World" {
			fileName = "marsWorld.vol";
		};
		instant SimVolume "WorldTerrain" {
			fileName = "marsTerrain.vol";
		};
		instant SimVolume "marsDML" {
			fileName = "marsDML.vol";
		};
		instant SimVolume "savanaDML" {
			fileName = "savanaDML.vol";
		};
		instant SimVolume "human1DML" {
			fileName = "human1DML.vol";
		};
		instant SimVolume "TedFile" {
			fileName = "Rollercoaster.ted";
		};
		instant SimVolume "MissionLighting" {
			fileName = "Rollercoaster.vol";
		};
	};
	instant SimGroup "World" {
		instant SimPalette "Palette" {
			fileName = "mars.day.ppl";
		};
		instant MissionCenterPos "MissionCenter" {
			x = "2";
			y = "-40";
			w = "900";
			h = "1000";
		};
	};
	instant SimGroup "Landscape" {
		instant Sky "Sky" {
			dmlName = "marsdaycloud.dml";
			skyColor = "0 0 0";
			hazeColor = "0 0 0";
			featurePosition = "0";
			size = "400";
			textures[0] = "0";
			textures[1] = "1";
			textures[2] = "2";
			textures[3] = "3";
			textures[4] = "4";
			textures[5] = "5";
			textures[6] = "6";
			textures[7] = "7";
			textures[8] = "8";
			textures[9] = "9";
			textures[10] = "10";
			textures[11] = "11";
			textures[12] = "12";
			textures[13] = "13";
			textures[14] = "14";
			textures[15] = "15";
		};
		instant Planet "Sun" {
			fileName = "";
			azimuth = "-69";
			incidence = "38";
			castShadows = "True";
			useLensFlare = "False";
			intensity = "0.699967 0.699967 0.699967";
			ambient = "0.299967 0.299967 0.399967";
			size = "50";
			distance = "485";
		};
		instant SimTerrain "Terrain" {
			tedFileName = "Rollercoaster.dtf";
			visibleDistance = "475";
			hazeDistance = "350";
			hazeVerticalMin = "-NAN";
			hazeVerticalMax = "1.43099e-38";
			perspectiveDistance = "100";
			screenSize = "46";
			contGravity = "0 0 -20";
			contDrag = "0";
			contHeight = "10000";
			position = "-3072 -3072 0";
			rotation = "0 0 0";
		};
	};
	instant SimGroup "Lights";
	instant SimGroup "Teams" {
		instant TeamGroup "Team0" {
			instant SimGroup "DropPoints" {
				instant SimGroup "start" {
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "478.5 825.065 72.0951";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "550.128 836.268 72.4781";
						rotation = "0 -0 -0.280001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "546.001 837.297 72.4781";
						rotation = "0 -0 -0.300001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "519.476 846.073 72.4781";
						rotation = "0 -0 -0.320001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "523.378 844.813 72.4781";
						rotation = "0 -0 -0.300001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "530.752 775.804 72.4781";
						rotation = "0 -0 2.84303";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "526.77 776.882 72.4781";
						rotation = "0 -0 2.84303";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "500.274 785.637 72.4781";
						rotation = "0 -0 2.82303";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "504 784.422 72.4781";
						rotation = "0 -0 2.86303";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "507.343 820.75 72.4781";
						rotation = "0 -0 1.28304";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "505.042 813.142 72.4781";
						rotation = "0 -0 1.26304";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "519.191 828.236 85.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "530.132 793.53 85.4781";
						rotation = "0 -0 1.24313";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "446.25 817.84 72.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "456.635 850.125 72.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "415.073 864.338 72.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "403.966 830.133 72.4781";
						rotation = "0 -0 -1.8798";
					};
				};
				instant SimGroup "Random" {
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "552.173 825.694 72.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "550.27 819.669 72.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "547.73 811.628 72.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "543.125 796.875 72.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "540.404 789.212 72.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "537.711 781.334 72.4781";
						rotation = "0 -0 -1.8798";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "515.223 799.375 70.4781";
						rotation = "0 -0 -0.320001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "523.854 826.299 70.4781";
						rotation = "0 -0 2.80303";
					};
				};
			};
			instant SimGroup "base" {
				instant InteriorShape "float11" {
					fileName = "float1.0.dis";
					isContainer = "1";
					position = "525.128 810.879 73.9781";
					rotation = "0 -0 -1.8798";
					lightParams = "0 ";
					locked = "1";
				};
				instant InteriorShape "float41" {
					fileName = "float4.0.dis";
					isContainer = "1";
					position = "430.5 840.596 73.9781";
					rotation = "0 -0 -1.8798";
					lightParams = "0 ";
					locked = "1";
				};
				instant InteriorShape "catwalkA1" {
					fileName = "catwalkA.0.dis";
					isContainer = "1";
					position = "478.839 825.214 54.0957";
					rotation = "0 -0 -1.8798";
					lightParams = "4 1.400000 1 1.400000 1 8.399998 1 8.399998 1 ";
					locked = "1";
				};
				instant InteriorShape "DSSfloatingpad1" {
					fileName = "DSSfloatingPad.0.dis";
					isContainer = "1";
					position = "486.563 857.57 41.5625";
					rotation = "0 -0 -1.8798";
					lightParams = "9 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 ";
					locked = "0";
				};
				instant InteriorShape "DSSfloatingpad1" {
					fileName = "DSSfloatingPad.1.dis";
					isContainer = "1";
					position = "460.875 800.625 62.7611";
					rotation = "0 -0 -1.8798";
					lightParams = "9 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 ";
					locked = "0";
				};
				instant SimGroup "PowerGroup" {
					instant StaticShape "solar1" {
						dataBlock = "SolarPanel";
						name = "Solar Panel #1";
						position = "518.316 813.096 79.4781";
						rotation = "0 -0 -1.89978";
						destroyable = "True";
						deleteOnDestroy = "False";
					};
					instant StaticShape "solar1" {
						dataBlock = "SolarPanel";
						name = "Solar Panel #2";
						position = "531.955 808.8 79.4781";
						rotation = "0 -0 1.26309";
						destroyable = "True";
						deleteOnDestroy = "False";
					};
					instant StaticShape "InventoryStation1" {
						dataBlock = "InventoryStation";
						name = "Inventory Station #1";
						position = "529.85 824.687 70.4781";
						rotation = "0 -0 -0.340055";
						destroyable = "True";
						deleteOnDestroy = "False";
					};
					instant StaticShape "InventoryStation1" {
						dataBlock = "InventoryStation";
						name = "Inventory Station #2";
						position = "520.037 797.125 70.4781";
						rotation = "0 -0 2.86307";
						destroyable = "True";
						deleteOnDestroy = "False";
					};
					instant Turret "ELFTurret1" {
						dataBlock = "ELFTurret";
						name = "ELF Turret";
						position = "486.642 857.352 59.0625";
						rotation = "0 -0 -1.8798";
						destroyable = "True";
						deleteOnDestroy = "False";
						shieldStrength = "0.0299999";
					};
					instant SimGroup "Front_Door" {
						instant SimPath "Path" {
							isLooping = "False";
							isCompressed = "False";
							instant Marker "Marker1" {
								dataBlock = "PathMarker";
								name = "";
								position = "511.837 815.141 62.4781";
								rotation = "0 -0 -1.8798";
							};
							instant Marker "Marker1" {
								dataBlock = "PathMarker";
								name = "";
								position = "511.838 815.138 72.4781";
								rotation = "0 -0 -1.8798";
							};
						};
						instant Moveable "DoorForceField1" {
							dataBlock = "DoorForceField";
							name = "The Very Cool Forcefield";
							position = "511.838 815.138 72.4781";
							rotation = "0 0 -1.8798";
							destroyable = "True";
							deleteOnDestroy = "False";
							closeTime = "1";
							Status = "close";
							center = "1";
							fadeTime = "0";
						};
					};
					instant SimGroup "Back_Door" {
						instant SimPath "Path" {
							isLooping = "False";
							isCompressed = "False";
							instant Marker "Marker1" {
								dataBlock = "PathMarker";
								name = "";
								position = "538.469 806.625 62.4781";
								rotation = "0 -0 -1.8798";
							};
							instant Marker "Marker1" {
								dataBlock = "PathMarker";
								name = "";
								position = "538.469 806.625 72.4781";
								rotation = "0 -0 -1.8798";
							};
						};
						instant Moveable "DoorForceField1" {
							dataBlock = "DoorForceField";
							name = "the Very Cool Forcefield";
							position = "538.469 806.625 72.4781";
							rotation = "0 0 -1.8798";
							destroyable = "True";
							deleteOnDestroy = "False";
							closeTime = "1";
							Status = "close";
							center = "1";
							fadeTime = "0";
						};
					};
					instant Sensor "MedPulse1" {
						dataBlock = "MediumPulseSensor";
						name = "Pulse Sensor";
						position = "507.445 793.557 85.4781";
						rotation = "0 -0 1.26306";
						destroyable = "True";
						deleteOnDestroy = "False";
						shieldStrength = "0.0299999";
						lastDamageObject = "2049";
						lastDamageTeam = "1";
					};
					instant Turret "PlasmaTurret1" {
						dataBlock = "PlasmaTurret";
						name = "Plasma Turret";
						position = "461.074 800.349 80.2581";
						rotation = "0 -0 -1.8798";
						destroyable = "True";
						deleteOnDestroy = "False";
						shieldStrength = "0.0299999";
					};
					instant StaticShape "VehicleStation1" {
						dataBlock = "VehicleStation";
						name = "Vehicle Station";
						position = "523 808.449 85.978";
						rotation = "0 -0 2.69984";
						destroyable = "True";
						deleteOnDestroy = "False";
						vehiclePad = "3214";
					};
					instant StaticShape "vehiclePad1" {
						dataBlock = "vehiclePad";
						name = "Vehicle Pad";
						position = "529.29 825.832 85.478";
						rotation = "0 -0 -1.86307";
						destroyable = "True";
						deleteOnDestroy = "False";
						busy = "2102.02";
					};
				};
				instant Marker "Map Marker1" {
					dataBlock = "MapMarker";
					name = "SR base";
					position = "430 840 77";
					rotation = "0 0 0";
				};
				instant Item "flag1" {
					dataBlock = "flag";
					name = "";
					position = "430.681 840.547 77.3373";
					rotation = "0 -0 -1.8798";
					destroyable = "True";
					deleteOnDestroy = "False";
					rotates = "False";
					collideable = "False";
					count = "1";
					objectiveLine = "13";
					scoreValue = "1";
					originalPosition = "430.681 840.547 77.3369";
					atHome = "true";
					pickupSequence = "0";
					carrier = "-1";
					holdingTeam = "-1";
					enemyCaps = "0";
					caps0 = "0";
					caps1 = "0";
					caps2 = "0";
					caps3 = "0";
					caps4 = "0";
					caps5 = "0";
					caps6 = "0";
					caps7 = "0";
					changeTeamCount = "0";
				};
				instant InteriorShape "eround1" {
					fileName = "eround.0.dis";
					isContainer = "1";
					position = "522.875 808.146 85.4781";
					rotation = "0 -0 -0.359984";
					lightParams = "0 ";
					locked = "1";
				};
				instant Item "RepairPack1" {
					dataBlock = "RepairPack";
					name = "";
					position = "450.454 826.301 73.4781";
					rotation = "0 0 0";
					destroyable = "True";
					deleteOnDestroy = "False";
					rotates = "True";
					collideable = "False";
					count = "1";
				};
			};
		};
		instant TeamGroup "team1" {
			instant SimGroup "DropPoints" {
				instant SimGroup "start" {
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "382.685 101.821 71.3725";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "455.196 101.466 71.7563";
						rotation = "0 -0 -0.44001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "451.284 103.14 71.7563";
						rotation = "0 -0 -0.46001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "426.5 116.031 71.7563";
						rotation = "0 -0 -0.48001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "430.146 114.165 71.7563";
						rotation = "0 -0 -0.46001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "426.432 44.8792 71.7563";
						rotation = "0 -0 2.68304";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "422.673 46.5776 71.7563";
						rotation = "0 -0 2.68304";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "397.909 59.4433 71.7563";
						rotation = "0 -0 2.66304";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "401.383 57.6508 71.7563";
						rotation = "0 -0 2.70304";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "410.5 92.9814 71.7563";
						rotation = "0 -0 1.12305";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "407 85.8368 71.7563";
						rotation = "0 -0 1.10305";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "428.486 102.705 84.7562";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "425.085 59.4938 84.7562";
						rotation = "0 -0 1.06314";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "349.698 99.8424 71.7563";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "365.101 130.036 71.7563";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "326.334 150.697 71.7563";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "309.919 118.697 71.7563";
						rotation = "0 -0 -2.03979";
					};
				};
				instant SimGroup "Random" {
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "455.528 90.7182 71.7563";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "452.69 85.0751 71.7563";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "448.901 77.5414 71.7563";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "442 63.7014 71.7563";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "438.097 56.5788 71.7563";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "434.183 49.2305 71.7563";
						rotation = "0 -0 -2.03979";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "414.875 70.6222 69.7563";
						rotation = "0 -0 -0.48001";
					};
					instant Marker "Drop Point1" {
						dataBlock = "DropPointMarker";
						name = "";
						position = "427.667 95.8296 69.7563";
						rotation = "0 -0 2.64304";
					};
				};
			};
			instant SimGroup "base" {
				instant InteriorShape "float11" {
					fileName = "float1.1.dis";
					isContainer = "1";
					position = "426.428 80.4638 73.2562";
					rotation = "0 -0 -2.03978";
					lightParams = "0 ";
					locked = "1";
				};
				instant InteriorShape "float41" {
					fileName = "float4.1.dis";
					isContainer = "1";
					position = "337.778 124.8 73.2563";
					rotation = "0 -0 -2.03978";
					lightParams = "0 ";
					locked = "0";
				};
				instant InteriorShape "catwalkA1" {
					fileName = "catwalkA.1.dis";
					isContainer = "1";
					position = "383.053 101.913 53.3725";
					rotation = "0 -0 -2.03978";
					lightParams = "4 1.400000 1 1.400000 1 8.399998 1 8.399998 1 ";
					locked = "0";
				};
				instant InteriorShape "DSSfloatingpad1" {
					fileName = "DSSfloatingPad.2.dis";
					isContainer = "1";
					position = "363.134 79.2406 40.8387";
					rotation = "0 -0 1.16303";
					lightParams = "9 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 ";
					locked = "0";
				};
				instant InteriorShape "DSSfloatingpad1" {
					fileName = "DSSfloatingPad.3.dis";
					isContainer = "1";
					position = "394.312 133.376 62.0386";
					rotation = "0 -0 1.16303";
					lightParams = "9 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 0.700000 1 ";
					locked = "0";
				};
				instant SimGroup "PowerGroup" {
					instant StaticShape "solar1" {
						dataBlock = "SolarPanel";
						name = "Solar Panel #1";
						position = "419.504 83.3941 79.3072";
						rotation = "0 -0 -2.05977";
						destroyable = "True";
						deleteOnDestroy = "False";
					};
					instant StaticShape "solar1" {
						dataBlock = "SolarPanel";
						name = "Solar Panel #2";
						position = "432.438 76.7888 78.7562";
						rotation = "0 -0 1.06307";
						destroyable = "True";
						deleteOnDestroy = "False";
					};
					instant StaticShape "InventoryStation1" {
						dataBlock = "InventoryStation";
						name = "Inventory Station #1";
						position = "433.329 93.2822 69.7562";
						rotation = "0 -0 -0.500048";
						destroyable = "True";
						deleteOnDestroy = "False";
						lastPlayer = "8399";
					};
					instant StaticShape "InventoryStation1" {
						dataBlock = "InventoryStation";
						name = "Inventory Station #2";
						position = "419.25 67.6189 69.7562";
						rotation = "0 -0 2.70306";
						destroyable = "True";
						deleteOnDestroy = "False";
						lastDamageObject = "2050";
						lastDamageTeam = "1";
						lastPlayer = "8399";
					};
					instant Turret "ELFTurret1" {
						dataBlock = "ELFTurret";
						name = "ELF Turret";
						position = "363.077 79.4644 58.3386";
						rotation = "0 -0 1.16303";
						destroyable = "True";
						deleteOnDestroy = "False";
						shieldStrength = "0.0299999";
					};
					instant SimGroup "Front_Door" {
						instant SimPath "Path" {
							isLooping = "False";
							isCompressed = "False";
							instant Marker "Marker1" {
								dataBlock = "PathMarker";
								name = "";
								position = "414.025 86.7281 61.7561";
								rotation = "0 -0 -2.03979";
							};
							instant Marker "Marker1" {
								dataBlock = "PathMarker";
								name = "";
								position = "414.026 86.7255 71.7563";
								rotation = "0 -0 -2.03979";
							};
						};
						instant Moveable "DoorForceField1" {
							dataBlock = "DoorForceField";
							name = "the Very Cool Forcefield";
							position = "414.026 86.7255 71.7563";
							rotation = "0 0 -2.03979";
							destroyable = "True";
							deleteOnDestroy = "False";
							closeTime = "36.9518";
							Status = "close";
							center = "1";
							fadeTime = "36.9519";
						};
					};
					instant SimGroup "Back_Door" {
						instant SimPath "Path" {
							isLooping = "False";
							isCompressed = "False";
							instant Marker "Marker1" {
								dataBlock = "PathMarker";
								name = "";
								position = "438.961 74.0756 61.7559";
								rotation = "0 -0 -2.03979";
							};
							instant Marker "Marker1" {
								dataBlock = "PathMarker";
								name = "";
								position = "438.961 74.0743 71.7563";
								rotation = "0 -0 -2.03979";
							};
						};
						instant Moveable "DoorForceField1" {
							dataBlock = "DoorForceField";
							name = "CornBoy!'s Force Field";
							position = "438.961 74.0743 71.7563";
							rotation = "0 0 -2.03979";
							destroyable = "True";
							deleteOnDestroy = "False";
							closeTime = "28.1518";
							Status = "close";
							center = "1";
							fadeTime = "28.1519";
						};
					};
					instant Sensor "MedPulse1" {
						dataBlock = "MediumPulseSensor";
						name = "Pulse Sensor";
						position = "425.921 105.455 84.752";
						rotation = "0 -0 1.10305";
						destroyable = "True";
						deleteOnDestroy = "False";
						shieldStrength = "0.0299999";
						lastDamageObject = "0";
						lastDamageTeam = "-1";
					};
					instant Turret "PlasmaTurret1" {
						dataBlock = "PlasmaTurret";
						name = "Plasma Turret";
						position = "394.125 133.662 79.534";
						rotation = "0 -0 1.16303";
						destroyable = "True";
						deleteOnDestroy = "False";
						shieldStrength = "0.0299999";
					};
					instant StaticShape "vehiclePad1" {
						dataBlock = "vehiclePad";
						name = "";
						position = "433.592 90.7435 84.7562";
						rotation = "0 -0 0.97998";
						destroyable = "True";
						deleteOnDestroy = "False";
						busy = "2648.94";
					};
					instant StaticShape "VehicleStation1" {
						dataBlock = "VehicleStation";
						name = "";
						position = "420.021 67.9421 85.2562";
						rotation = "0 -0 2.73984";
						destroyable = "True";
						deleteOnDestroy = "False";
						vehiclePad = "3223";
					};
					instant Sensor "DuckSensor" {
						dataBlock = "MediumPulseSensor";
						name = "Duck Sensor";
						position = "373.086 320.964 284.566";
						rotation = "0 0 0";
						destroyable = "True";
						deleteOnDestroy = "False";
					};
				};
				instant Marker "Map Marker1" {
					dataBlock = "MapMarker";
					name = "Mad Skillz base";
					position = "337 124 76";
					rotation = "0 0 0";
				};
				instant Item "flag1" {
					dataBlock = "flag";
					name = "";
					position = "337.95 124.72 76.6184";
					rotation = "0 -0 -2.03978";
					destroyable = "True";
					deleteOnDestroy = "False";
					rotates = "False";
					collideable = "False";
					count = "1";
					objectiveLine = "14";
					scoreValue = "1";
					originalPosition = "337.95 124.72 76.618";
					atHome = "true";
					pickupSequence = "0";
					carrier = "-1";
					holdingTeam = "-1";
					enemyCaps = "0";
					caps0 = "0";
					caps1 = "0";
					caps2 = "0";
					caps3 = "0";
					caps4 = "0";
					caps5 = "0";
					caps6 = "0";
					caps7 = "0";
					changeTeamCount = "0";
				};
				instant InteriorShape "bunker1" {
					fileName = "bunker.0.dis";
					isContainer = "1";
					position = "419.972 78.1115 84.7562";
					rotation = "0 -0 2.67984";
					lightParams = "0 ";
				};
				instant Item "RepairPack1" {
					dataBlock = "RepairPack";
					name = "";
					position = "363.002 125.729 72.5563";
					rotation = "0 0 0";
					destroyable = "True";
					deleteOnDestroy = "False";
					rotates = "True";
					collideable = "False";
					count = "1";
				};
			};
		};
	};
	instant SimGroup "ObserverDropPoints" {
		instant Marker "Drop Point1" {
			dataBlock = "DropPointMarker";
			name = "";
			position = "403.31 775.828 103.75";
			rotation = "-0.373965 0 -0.823285";
		};
		instant Marker "Drop Point1" {
			dataBlock = "DropPointMarker";
			name = "";
			position = "426.106 851.636 85.0572";
			rotation = "-0.481965 0 -2.64376";
		};
		instant Marker "Drop Point1" {
			dataBlock = "DropPointMarker";
			name = "";
			position = "522.875 827.779 75.5922";
			rotation = "-0.319963 0 -2.78553";
		};
		instant Marker "Drop Point1" {
			dataBlock = "DropPointMarker";
			name = "";
			position = "348.625 189.775 94";
			rotation = "-0.271963 0 -2.9375";
		};
		instant Marker "Drop Point1" {
			dataBlock = "DropPointMarker";
			name = "";
			position = "324.911 120.461 84.9447";
			rotation = "-0.33196 0 -1.33312";
		};
		instant Marker "Drop Point1" {
			dataBlock = "DropPointMarker";
			name = "";
			position = "427.125 97.5471 74.7855";
			rotation = "-0.383959 0 -2.85495";
		};
	};
	instant SimGroup "DuckGroup" {
		instant StaticShape "DuckTrigger" {
			dataBlock = "TowerSwitch";
			name = "DuckTrigger";
			position = "339.069 127.417 87.7563";
			rotation = "0 -0 1.11997";
			destroyable = "True";
			deleteOnDestroy = "False";
			scoreValue = "0";
			numSwitchTeams = "0";
		};
	};
};
//--- export object end ---//
$teamScoreLimit = 8;
exec(objectives);
$Game::missionType = "Duck";
$cdTrack = 8;
$cdPlayMode = 1;

// Start Duck Code ---------------------------------------------

$DuckPos[0] = "342.1 339.0 31.5";
$DuckRot[0] = "0 -0 5.7";
$DuckVel[0] = 200;
$DuckDeg[0] = 500;

$DuckPos[1] = "486.0 371.3 59.0";
$DuckRot[1] = "0 -0 0.1";
$DuckVel[1] = 200;
$DuckDeg[1] = 500;

$DuckPos[2] = "341.6 143.0 33.5";
$DuckRot[2] = "0 -0 5.8";
$DuckVel[2] = 200;
$DuckDeg[2] = 500;

$DuckPos[3] = "412.7 337.9 12.2";
$DuckRot[3] = "0 -0 5.8";
$DuckVel[3] = 200;
$DuckDeg[3] = 500;

$DuckPos[4] = "487.7 423.5 69.9";
$DuckRot[4] = "0 -0 2.5";
$DuckVel[4] = 200;
$DuckDeg[4] = 500;

$DuckPos[5] = "414.3 482.3 72.6";
$DuckRot[5] = "0 -0 3.0";
$DuckVel[5] = 200;
$DuckDeg[5] = 500;

$DuckPos[6] = "337.2 507.1 57.8";
$DuckRot[6] = "0 -0 3.3";
$DuckVel[6] = 200;
$DuckDeg[6] = 500;

$DuckPos[7] = "303.0 407.2 28.1";
$DuckRot[7] = "0 -0 5.6";
$DuckVel[7] = 200;
$DuckDeg[7] = 500;

$DuckPos[8] = "457.9 337.7 20.9";
$DuckRot[8] = "0 -0 5.7";
$DuckVel[8] = 200;
$DuckDeg[8] = 500;

$DuckPos[9] = "462.2 313.6 22.5";
$DuckRot[9] = "0 -0 2.7";
$DuckVel[9] = 200;
$DuckDeg[9] = 500;

$DuckNum = 0;

function Duck::Pull()
{
	%ducknum = floor(getRandom() * 10) - 3;
	if(%ducknum <= 0)
		%ducknum = 1;

	if(%ducknum > 1)
	{
		%flagduck = floor(getRandom() * 10) - 3;
		if(%flagduck <=0)
			%flagduck = 1;
	}
	else
		%flagduck = 0;

	for(%i = 0; %i < %ducknum; %i++)
	{
        %ducksite = floor(getRandom() * 10);
        
        if(%ducksite <  0)
        	%ducksite = 0;
        else if(%ducksite > 9)
        	%ducksite = 9;
    
    	%DuckPos = $DuckPos[%ducksite];
    	%DuckRot = $DuckRot[%ducksite];
    	%DuckVel = $DuckVel[%ducksite];
    	%DuckDeg = $DuckDeg[%ducksite];
    
    	if(Ai::Spawn("Duck-" @ $DuckNum, larmor, %DuckPos, %DuckRot) == "false")
    		return;
    
    	%duck = Client::getOwnedObject(Ai::getId("Duck-" @ $DuckNum));
    
		if(%flagduck && (%i + 1) == %flagduck)
		{
			Player::setItemCount(%duck, Flag, 1);
			Player::mountItem(%duck, Flag, $FlagSlot, 0);
			%duck.flagduck = 1;
		}

    	$DuckNum++;
    
    	%jumpDir = Vector::getFromRot(%DuckRot, %DuckVel, %DuckDeg);
    	Player::applyImpulse(%duck, %jumpDir);
    	%duck.isDuck = 1;
    
    	Schedule("Duck::Kill(" @ %duck @ ", " @ $DuckNum - 1 @ ");", 10, %duck);
	}
}

function Duck::Kill(%duck, %ducknum)
{
	if(%duck.deadDuck)
		return;

	Player::blowUp(%duck);
	Player::Kill(%duck);

	GameBase::PlaySound(%duck, shockExplosion, 0);
}

// Objective.cs change ----------------------------------

function TowerSwitch::onCollision(%this, %object)
{
	// Duck Code Change
	if(GameBase::getMapName(%this) == "DuckTrigger")
	{
		Duck::Pull();
		return;
		GameBase::PlaySound(%this, SoundFireDisc, 3);
	}
	// Duck Code Change End

   //echo("switch collision ", %object);
   if(getObjectType(%object) != "Player")
      return;

   if(Player::isDead(%object))
      return;

   %playerTeam = GameBase::getTeam(%object);
   %oldTeam = GameBase::getTeam(%this);
   if(%oldTeam == %playerTeam)
      return;

   %this.trainingObjectiveComplete = true;
   
   %playerClient = Player::getClient(%object);
   %touchClientName = Client::getName(%playerClient);
   %group = GetGroup(%this);
   Group::iterateRecursive(%group, GameBase::setTeam, %playerTeam);

   %dropPoints = nameToID(%group @ "/DropPoints");
   %oldDropSet = nameToID("MissionCleanup/TeamDrops" @ %oldTeam);
   %newDropSet = nameToID("MissionCleanup/TeamDrops" @ %playerTeam);

   $deltaTeamScore[%oldTeam] -= %this.deltaTeamScore;
   $deltaTeamScore[%playerTeam] += %this.deltaTeamScore;
   $teamScore[%oldTeam] -= %this.scoreValue;
   $teamScore[%playerTeam] += %this.scoreValue;

   if(%dropPoints != -1)
   {
      for(%i = 0; (%dropPoint = Group::getObject(%dropPoints, %i)) != -1; %i++)
      {
         if(%oldDropSet != -1)
            removeFromSet(%oldDropSet, %dropPoint);
         addToSet(%newDropSet, %dropPoint);
      }
   }

   if(%oldTeam == -1)
   {
      MessageAllExcept(%playerClient, 0, %touchClientName @ " claimed " @ %this.objectiveName @ " for the " @ getTeamName(%playerTeam) @ " team!");
      Client::sendMessage(%playerClient, 0, "You claimed " @ %this.objectiveName @ " for the " @ getTeamName(%playerTeam) @ " team!");
 	}
   else
   {
      if(%this.objectiveLine)
      {
         MessageAllExcept(%playerClient, 0, %touchClientName @ " captured " @ %this.objectiveName @ " from the " @ getTeamName(%oldTeam) @ " team!");
         Client::sendMessage(%playerClient, 0, "You captured " @ %this.objectiveName @ " from the " @ getTeamName(%oldTeam) @ " team!");
			%this.numSwitchTeams++;	
			schedule("TowerSwitch::timeLimitCheckPoints(" @ %this @ "," @ %playerClient @ "," @ %this.numSwitchTeams @ ");",60);
      }
   }
   if(%this.objectiveLine)
   {
      TeamMessages(1, %playerTeam, "Your team has taken an objective.~wCapturedTower.wav");
		TeamMessages(0, %playerTeam, "The " @ getTeamName(%playerTeam) @ " has taken an objective.");
		if(%oldTeam != -1)
	      TeamMessages(1, %oldTeam, "The " @ getTeamName(%playerTeam) @ " team has taken your objective.~wLostTower.wav");
      ObjectiveMission::ObjectiveChanged(%this);
   }
   ObjectiveMission::checkScoreLimit();
}

function Flag::onDrop(%player, %type)
{
	// Duck Code Change
	if(%player.isDuck)
		return;
	// Duck Code Change End

   %playerTeam = GameBase::getTeam(%player);
   %flag = %player.carryFlag;
   %flagTeam = GameBase::getTeam(%flag);
   %playerClient = Player::getClient(%player);
   %dropClientName = Client::getName(%playerClient);

   if(%flagTeam == -1)
   {
      MessageAllExcept(%playerClient, 1, %dropClientName @ " dropped " @ %flag.objectiveName @ "!");
      Client::sendMessage(%playerClient, 1, "You dropped "  @ %flag.objectiveName @ "!");
   }
   else
   {
      MessageAllExcept(%playerClient, 0, %dropClientName @ " dropped the " @ getTeamName(%flagTeam) @ " flag!");
      Client::sendMessage(%playerClient, 0, "You dropped the " @ getTeamName(%flagTeam) @ " flag!");
      TeamMessages(1, %flagTeam, "Your flag was dropped in the field.", -2, "", "The " @ getTeamName(%flagTeam) @ " flag was dropped in the field.");
   }
   GameBase::throw(%flag, %player, 10, false);
   Item::hide(%flag, false);
   Player::setItemCount(%player, "Flag", 0);
   %flag.carrier = -1;
   %player.carryFlag = "";
   Flag::clearWaypoint(%playerClient, false);

   schedule("Flag::checkReturn(" @ %flag @ ", " @ %flag.pickupSequence @ ");", $flagReturnTime);
	%flag.dropFade = 1;
   ObjectiveMission::ObjectiveChanged(%flag);
}

// Player.cs change ----------------------------------------

function Player::onDamage(%this,%type,%value,%pos,%vec,%mom,%vertPos,%quadrant,%object)
{
	if (Player::isExposed(%this)) {
      %damagedClient = Player::getClient(%this);
      %shooterClient = %object;

		Player::applyImpulse(%this,%mom);
		if($teamplay && %damagedClient != %shooterClient && Client::getTeam(%damagedClient) == Client::getTeam(%shooterClient) ) {
			if (%shooterClient != -1) {
				%curTime = getSimTime();
			   if ((%curTime - %this.DamageTime > 3.5 || %this.LastHarm != %shooterClient) && %damagedClient != %shooterClient && $Server::TeamDamageScale > 0) {
					if(%type != $MineDamageType) {
						Client::sendMessage(%shooterClient,0,"You just harmed Teammate " @ Client::getName(%damagedClient) @ "!");
						Client::sendMessage(%damagedClient,0,"You took Friendly Fire from " @ Client::getName(%shooterClient) @ "!");
					}
					else {
						Client::sendMessage(%shooterClient,0,"You just harmed Teammate " @ Client::getName(%damagedClient) @ " with your mine!");
						Client::sendMessage(%damagedClient,0,"You just stepped on Teamate " @ Client::getName(%shooterClient) @ "'s mine!");
					}
					%this.LastHarm = %shooterClient;
					%this.DamageStamp = %curTime;
				}
			}
			%friendFire = $Server::TeamDamageScale;
		}
		else if(%type == $ImpactDamageType && Client::getTeam(%object.clLastMount) == Client::getTeam(%damagedClient)) 
			%friendFire = $Server::TeamDamageScale;
		else  
			%friendFire = 1.0;

		// Duck Code Change

		if(%this.isDuck == 1 && %shooterClient != %damagedClient && Client::getName(%shooterClient) != "")
		{
			Player::blowUp(%this);
			Player::Kill(%this);
			messageAll(0, Client::getName(%shooterClient) @ " nailed a duck, shot position: " @ %vertPos @ " " @ %quadrant @ ".");
			%this.deadDuck = 1;

			GameBase::PlaySound(%this, shockExplosion, 0);

			if(%vertPos == "head" || %this.flagduck)
			{
				echo("Headshot...score!");
				%shooterClient.score++;
				Game::refreshClientScore(%shooterClient);
			}
		}
		// Duck Code Change End			

		if (!Player::isDead(%this)) {
			%armor = Player::getArmor(%this);
			//More damage applyed to head shots
			if(%vertPos == "head" && %type == $LaserDamageType) {
				if(%armor == "harmor") { 
					if(%quadrant == "middle_back" || %quadrant == "middle_front" || %quadrant == "middle_middle") {
						%value += (%value * 0.3);
					}
				}
				else {
					%value += (%value * 0.3);
				}
			}
			//If Shield Pack is on
			if (%type != -1 && %this.shieldStrength) {
				%energy = GameBase::getEnergy(%this);
				%strength = %this.shieldStrength;
				if (%type == $ShrapnelDamageType || %type == $MortarDamageType)
					%strength *= 0.75;
				%absorb = %energy * %strength;
				if (%value < %absorb) {
					GameBase::setEnergy(%this,%energy - ((%value / %strength)*%friendFire));
					%thisPos = getBoxCenter(%this);
					%offsetZ =((getWord(%pos,2))-(getWord(%thisPos,2)));
					GameBase::activateShield(%this,%vec,%offsetZ);
					%value = 0;
				}
				else {
					GameBase::setEnergy(%this,0);
					%value = %value - %absorb;
				}
			}
  			if (%value) {
				%value = $DamageScale[%armor, %type] * %value * %friendFire;
            %dlevel = GameBase::getDamageLevel(%this) + %value;
            %spillOver = %dlevel - %armor.maxDamage;
				GameBase::setDamageLevel(%this,%dlevel);
				%flash = Player::getDamageFlash(%this) + %value * 2;
				if (%flash > 0.75) 
					%flash = 0.75;
				Player::setDamageFlash(%this,%flash);
				//If player not dead then play a random hurt sound
				if(!Player::isDead(%this)) { 
					if(%damagedClient.lastDamage < getSimTime()) {
						%sound = radnomItems(3,injure1,injure2,injure3);
						playVoice(%damagedClient,%sound);
						%damagedClient.lastdamage = getSimTime() + 1.5;
					}
				}
				else {
               if(%spillOver > 0.5 && (%type== $ExplosionDamageType || %type == $ShrapnelDamageType || %type== $MortarDamageType|| %type == $MissileDamageType)) {
		 				Player::trigger(%this, $WeaponSlot, false);
						%weaponType = Player::getMountedItem(%this,$WeaponSlot);
						if(%weaponType != -1)
							Player::dropItem(%this,%weaponType);
                	Player::blowUp(%this);
					}
					else
					{
						if ((%value > 0.40 && (%type== $ExplosionDamageType || %type == $ShrapnelDamageType || %type== $MortarDamageType || %type == $MissileDamageType )) || (Player::getLastContactCount(%this) > 6) ) {
					  		if(%quadrant == "front_left" || %quadrant == "front_right") 
								%curDie = $PlayerAnim::DieBlownBack;
							else
								%curDie = $PlayerAnim::DieForward;
						}
						else if( Player::isCrouching(%this) ) 
							%curDie = $PlayerAnim::Crouching;							
						else if(%vertPos=="head") {
							if(%quadrant == "front_left" ||	%quadrant == "front_right"	) 
								%curDie = radnomItems(2, $PlayerAnim::DieHead, $PlayerAnim::DieBack);
						  	else 
								%curDie = radnomItems(2, $PlayerAnim::DieHead, $PlayerAnim::DieForward);
						}
						else if (%vertPos == "torso") {
							if(%quadrant == "front_left" ) 
								%curDie = radnomItems(3, $PlayerAnim::DieLeftSide, $PlayerAnim::DieChest, $PlayerAnim::DieForwardKneel);
							else if(%quadrant == "front_right") 
								%curDie = radnomItems(3, $PlayerAnim::DieChest, $PlayerAnim::DieRightSide, $PlayerAnim::DieSpin);
							else if(%quadrant == "back_left" ) 
								%curDie = radnomItems(4, $PlayerAnim::DieLeftSide, $PlayerAnim::DieGrabBack, $PlayerAnim::DieForward, $PlayerAnim::DieForwardKneel);
							else if(%quadrant == "back_right") 
								%curDie = radnomItems(4, $PlayerAnim::DieGrabBack, $PlayerAnim::DieRightSide, $PlayerAnim::DieForward, $PlayerAnim::DieForwardKneel);
						}
						else if (%vertPos == "legs") {
							if(%quadrant == "front_left" ||	%quadrant == "back_left") 
								%curDie = $PlayerAnim::DieLegLeft;
							if(%quadrant == "front_right" ||	%quadrant == "back_right") 
								%curDie = $PlayerAnim::DieLegRight;
						}
						Player::setAnimation(%this, %curDie);
					}
					if(%type == $ImpactDamageType && %object.clLastMount != "")  
						%shooterClient = %object.clLastMount;
					Client::onKilled(%damagedClient,%shooterClient, %type);
				}
			}
		}
	}
}