// UT Tip: Ever hit a nuke with a gyrocopter? Try it, you get tons of height.
// Rep. by Phil
//--- OBJECT WRITE BEGIN ---
new SimGroup(MissionGroup) {

   new ScriptObject(MissionInfo) {
         level = "32";
         startHelpText = "Beware; there are traps and obstacles galore in this castle!";
         name = "Thief";
         alarmStartTime = "30";
         desc = "Invade the castle and steal all the gems within before time runs out!";
         ultimateTime = "70000";
         type = "Advanced";
         goldTime = "150000";
         artist = "Andrew";
         music = "Seaside Revisited.ogg";
         time = "210000";
   };
   new MissionArea(MissionArea) {
      area = "-360 -648 720 1296";
      flightCeiling = "300";
      flightCeilingRange = "20";
         locked = "true";
   };
   new Sky(Sky) {
      position = "336 136 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 = "500";
      useSkyTextures = "1";
      renderBottomTexture = "1";
      SkySolidColor = "0.600000 0.600000 0.600000 1.000000";
      fogDistance = "300";
      fogColor = "0.600000 0.600000 0.600000 1.000000";
      fogVolume1 = "-1 7.45949e-31 1.3684e-38";
      fogVolume2 = "-1 1.07208e-14 8.756e-14";
      fogVolume3 = "-1 5.1012e-10 2.05098e-08";
      materialList = "~/data/skies/Advanced/Advanced_Sky.dml";
      windVelocity = "1 0 0";
      windEffectPrecipitation = "0";
      noRenderBans = "1";
      fogVolumeColor1 = "128.000000 128.000000 128.000000 0.000000";
      fogVolumeColor2 = "128.000000 128.000000 128.000000 0.000004";
      fogVolumeColor3 = "128.000000 128.000000 128.000000 14435505.000000";
   };
   new Sun() {
      direction = "0.638261 0.459006 -0.61801";
      color = "1.400000 1.200000 0.400000 1.000000";
      ambient = "0.300000 0.300000 0.400000 1.000000";
   };
   new InteriorInstance() {
      position = "0 0 0";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      interiorFile = "~/data/interiors_MBP/Thief.dif";
      showTerrainInside = "0";
   };
   new Item() {
      position = "-6 68 14";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-6 49 6";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-6 51.5 0.45";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "5000";
   };
   new Item() {
      position = "-6 40 0.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "3 68.5 16.85";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "HelicopterItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-6 58 36";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "1 63 32.55";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "5000";
   };
   new StaticShape() {
      position = "-5 54 30";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "DuctFan";
   };
   new StaticShape() {
      position = "-31 53 36.6";
      rotation = "1 0 0 89.99999";
      scale = "1 1 1";
      dataBlock = "DuctFan";
   };
   new StaticShape() {
      position = "12.5 33 35.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TrapDoor";
         timeout = "200";
         resettime = "Default";
         open = "0";
   };
   new StaticShape() {
      position = "14.5 33 35.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TrapDoor";
         timeout = "200";
         resettime = "Default";
         open = "0";
   };
   new StaticShape() {
      position = "16.5 33 35.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TrapDoor";
         timeout = "200";
         resettime = "Default";
         open = "0";
   };
   new StaticShape() {
      position = "18.5 33 35.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TrapDoor";
         timeout = "200";
         resettime = "Default";
         open = "0";
   };
   new Item() {
      position = "27 31 35.75";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperSpeedItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-10 62 30";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "53 27 32.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "47 35 34.55";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "5000";
   };
   new Item() {
      position = "21 43 35.75";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperBounceItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "50.5 101 31.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "46 97 33.75";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "ShockAbsorberItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape() {
      position = "46 81 8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "RoundBumper";
   };
   new StaticShape() {
      position = "46 75.5 8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "RoundBumper";
   };
   new StaticShape() {
      position = "46 61 8";
      rotation = "1 0 0 0";
      scale = "3 3 3";
      dataBlock = "Nuke";
         resettime = "Default";
   };
   new StaticShape() {
      position = "45 59 8";
      rotation = "1 0 0 0";
      scale = "3 3 3";
      dataBlock = "Nuke";
         resettime = "Default";
   };
   new StaticShape() {
      position = "47 59 8";
      rotation = "1 0 0 0";
      scale = "3 3 3";
      dataBlock = "Nuke";
         resettime = "Default";
   };
   new StaticShape() {
      position = "47 55 8";
      rotation = "1 0 0 0";
      scale = "3 3 3";
      dataBlock = "Nuke";
         resettime = "Default";
   };
   new StaticShape() {
      position = "46 57 8";
      rotation = "1 0 0 0";
      scale = "3 3 3";
      dataBlock = "Nuke";
         resettime = "Default";
   };
   new StaticShape() {
      position = "45 55 8";
      rotation = "1 0 0 0";
      scale = "3 3 3";
      dataBlock = "Nuke";
         resettime = "Default";
   };
   new StaticShape() {
      position = "47 77 8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "RoundBumper";
   };
   new StaticShape() {
      position = "45 77 8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "RoundBumper";
   };
   new StaticShape() {
      position = "45 79 8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "RoundBumper";
   };
   new StaticShape() {
      position = "47 79 8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "RoundBumper";
   };
   new StaticShape() {
      position = "53.85 68 7.95";
      rotation = "0 0 -1 89.99999";
      scale = "2 2 2";
      dataBlock = "Magnet";
   };
   new Item() {
      position = "46 98.5 32.1";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "5000";
   };
   new Item() {
      position = "46 97.5 8.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "5000";
   };
   new Item() {
      position = "21 81 32.75";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "0.5 28 12.55";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "5000";
   };
   new StaticShape() {
      position = "-42.4 28 17.7";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "Tornado";
   };
   new Item() {
      position = "46 28 8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-57.45 26 28";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "51 31 30";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-80 88 54";
      rotation = "1 0 0 0";
      scale = "4 4 4";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-57 49 30.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-74.5 54 30.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-81 53 37.75";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-93 59.5 48.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-89 65 51.85";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "HelicopterItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-87 55 42.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-65 53.5 30.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-61 33 30.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape(EndPoint) {
      position = "-77 111 36";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "EndPad";
   };
   new Item() {
      position = "-73 103 40.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "5000";
   };
   new StaticShape(StartPoint) {
      position = "-6 6 2";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "StartPad";
   };
   new Trigger(Bounds) {
      position = "-220 233 -18.95";
      rotation = "1 0 0 0";
      scale = "393 336 478";
      dataBlock = "InBoundsTrigger";
      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 StaticShape() {
      position = "-32 51.986 36.6";
      rotation = "0 1 0 89.99999";
      scale = "1 1 1";
      dataBlock = "DuctFan";
   };
   new StaticShape() {
      position = "-25.9869 27.9356 8.10351";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TriangleBumper";
   };
   new StaticShape() {
      position = "-13.95 58 34";
      rotation = "0 0 -1 89.99999";
      scale = "1 1 1";
      dataBlock = "checkPoint";
   };
   new StaticShape() {
      position = "46.05 88 8";
      rotation = "0 0 1 180";
      scale = "1 1 1";
      dataBlock = "checkPoint";
   };
   new StaticShape() {
      position = "-60.1 26 28";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "checkPoint";
   };
   new Trigger(tip) {
      position = "-7 41 0";
      rotation = "1 0 0 0";
      scale = "2 2 2";
      dataBlock = "HelpTrigger";
      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";
         text = "Hint: Jump + Super Jump in order to pass this challenge!";
   };
   new Trigger(tip) {
      position = "2 69.5 16.85";
      rotation = "1 0 0 0";
      scale = "2 2 2";
      dataBlock = "HelpTrigger";
      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";
         text = "Hint: The slope in front of the gem can be used with the Gyrocopter in order to gain the necessary height.";
   };
   new StaticShape() {
      position = "-6.14222 56.4985 29.9629";
      rotation = "0 0 1 95.111";
      scale = "1 1 1";
      dataBlock = "SignUp";
   };
   new StaticShape() {
      position = "-23.5781 58.4526 36.0939";
      rotation = "0 0 -1 73.5211";
      scale = "1 1 1";
      dataBlock = "SignCautionDanger";
   };
   new StaticShape() {
      position = "47.1318 97.0535 34.7952";
      rotation = "0.3571022 0.2182141 -0.9082184 112.1459";
      scale = "1 1 1";
      dataBlock = "SignDownSide";
   };
   new Trigger(tip) {
      position = "44.8738 29.5771 7.70407";
      rotation = "1 0 0 0";
      scale = "2 2 2";
      dataBlock = "HelpTrigger";
      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";
         text = "Hint: Diagonal movement and jumping can help out. ";
   };
   new StaticShape() {
      position = "-75.4432 111.869 43.6223";
      rotation = "0 0 1 13.75098";
      scale = "1 1 1";
      dataBlock = "SignFinish";
   };
   new SimGroup(PathNodeGroup) {

      new StaticShape(CameraPath1) {
         position = "35.98875 -24.09343 67.95089";
         rotation = "0.8150207 0.2009994 -0.5434524 48.8171";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "4000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath2";
            useRotation = "1";
      };
      new StaticShape(CameraPath2) {
         position = "17.85797 -18.29351 58.04395";
         rotation = "0.9045295 0.1409173 -0.4024533 42.3231";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "5000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath3";
            useRotation = "1";
      };
      new StaticShape(CameraPath3) {
         position = "-5.088467 -5.096194 45.88491";
         rotation = "0.9988861 0.01245006 -0.04551461 30.62942";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "0";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath4";
            useRotation = "1";
      };
      new StaticShape(CameraPath4) {
         position = "-33.27678 59.52456 39.3155";
         rotation = "0.05033946 -0.08234875 0.9953315 117.3639";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "2000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath5";
            useRotation = "1";
      };
      new StaticShape(CameraPath5) {
         position = "-38.64561 58.10622 40.67852";
         rotation = "0.1022784 -0.1583073 0.9820784 115.2101";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "2000";
            usePosition = "1";
            placed = "1";
            Spline = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath6";
            useRotation = "1";
      };
      new StaticShape(CameraPath6) {
         position = "-42.64233 54.93454 42.12226";
         rotation = "0.1432565 -0.1890747 0.9714569 107.2905";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "2000";
            usePosition = "1";
            placed = "1";
            Spline = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath7";
            useRotation = "1";
      };
      new StaticShape(CameraPath7) {
         position = "-42.71851 49.66094 41.2388";
         rotation = "0.108542 -0.1410535 0.9840338 105.7323";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "2000";
            usePosition = "1";
            placed = "1";
            Spline = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath8";
            useRotation = "1";
      };
      new StaticShape(CameraPath8) {
         position = "-38.85981 45.46682 39.85416";
         rotation = "0.0440436 -0.05753206 0.9973717 105.2739";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "6500";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath9";
            useRotation = "1";
      };
      new StaticShape(CameraPath9) {
         position = "-7.805804 40.2104 37.07535";
         rotation = "0.03880938 -0.05257045 0.9978629 107.245";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "0";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath10";
            useRotation = "1";
      };
      new StaticShape(CameraPath10) {
         position = "48.37737 37.39977 27.13132";
         rotation = "0.1446167 0.2011738 -0.9688216 110.2893";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "6000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath11";
            useRotation = "1";
      };
      new StaticShape(CameraPath11) {
         position = "8.627369 37.39977 27.13132";
         rotation = "0.1446167 0.2011738 -0.9688216 110.2893";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "0";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath12";
            useRotation = "1";
      };
      new StaticShape(CameraPath12) {
         position = "-99.79522 7.45146 84.64609";
         rotation = "0.7624968 -0.1798427 0.6214945 41.564";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "3000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath13";
            useRotation = "1";
      };
      new StaticShape(CameraPath13) {
         position = "-105.5676 23.29833 77.91641";
         rotation = "0.6600491 -0.1998053 0.7241637 45.37155";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "3350";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath14";
            useRotation = "1";
      };
      new StaticShape(CameraPath14) {
         position = "-109.8392 42.98673 70.15222";
         rotation = "0.5688581 -0.190951 0.7999614 45.5271";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "3350";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath15";
            useRotation = "1";
      };
      new StaticShape(CameraPath15) {
         position = "-103.8824 62.97316 61.81483";
         rotation = "0.4084792 -0.1696531 0.8968627 49.69681";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "5000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath16";
            useRotation = "1";
      };
      new StaticShape(CameraPath16) {
         position = "-103.8824 62.97316 61.81483";
         rotation = "0.4084792 -0.1696531 0.8968627 49.69681";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "0";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath1";
            useRotation = "1";
      };
   };
   new Item() {
      position = "49.5 9 67";
      rotation = "1 0 0 0";
      scale = "1 1 1.3";
      dataBlock = "easterEgg";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new AudioProfile(MusicProfile) {
      fileName = "~/data/sound/music/Pianoforte (Guitar Remix).ogg";
      description = "AudioMusic";
      preload = "0";
   };
};
//--- OBJECT WRITE END ---
