// UT Tip: Decide on a route which will collect everything. Most of the TTs will be useful.
// Rep. by Phil
//--- OBJECT WRITE BEGIN ---
new SimGroup(MissionGroup) {

   new ScriptObject(MissionInfo) {
         level = "28";
         startHelpText = "Make sure to maintain your balance on the treacherous branches!";
         name = "Ultimate Tree";
         desc = "Explore this beautiful tree and collect the gems on the branches. ";
         ultimateTime = "115000";
         type = "Advanced";
         goldTime = "180000";
         artist = "Andrew & Matan";
         music = "Seaside Revisited.ogg";
   };
   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/UltimateTree.dif";
      showTerrainInside = "0";
   };
   new StaticShape(StartPoint) {
      position = "0 -8 -3.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "StartPad";
   };
   new Item() {
      position = "0 8 -3.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-11.75 12.25 16.1";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-18.4 4.9 15.95";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-18.05 -1.4 16.3";
      rotation = "1 0 0 0";
      scale = "0.6 0.6 0.6";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "3500";
   };
   new Item() {
      position = "-9.0625 -2.75 16.8844";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-21 -9 16.65";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "13 5 15.8";
      rotation = "1 0 0 0";
      scale = "0.6 0.6 0.6";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "3500";
   };
   new Item() {
      position = "17.8 15 16.1";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-0.5 26.9 28.15";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-2.3 19 28.25";
      rotation = "1 0 0 0";
      scale = "0.6 0.6 0.6";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "3000";
   };
   new Item() {
      position = "6.9 0.8 28.1";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-0.5 -5.75 31.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-6 0.5 28.9";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "6.55 15.5 28.175";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "4.5 8.3 35.8";
      rotation = "1 0 0 0";
      scale = "0.6 0.6 0.6";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "3500";
   };
   new Item() {
      position = "12 -1.5 35.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-3.7 5.6 35.55";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-10.5 1.5 35.5625";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-19.75 5.5 34.8938";
      rotation = "1 0 0 0";
      scale = "0.6 0.6 0.6";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "3500";
   };
   new Item() {
      position = "-8 11.5 37.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-5.25 8.25 39.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-0.5 9.5 44.3";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "HelicopterItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "11.5 16 45.25";
      rotation = "1 0 0 0";
      scale = "0.6 0.6 0.6";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "3000";
   };
   new Item() {
      position = "-24.5 -1.5 43.7625";
      rotation = "1 0 0 0";
      scale = "0.6 0.6 0.6";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "3500";
   };
   new Item() {
      position = "-22 -2.5 44.1125";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-11.75 3.65 47.25";
      rotation = "1 0 0 0";
      scale = "0.6 0.6 0.6";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         timeBonus = "3500";
   };
   new Item() {
      position = "-5.5 -0.9 45.35";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-17.85 14.15 44.55";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-0.078125 -3.57813 125.65";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-8 8 116.2";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape(EndPoint) {
      position = "0 28 115.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "EndPad";
   };
   new Item() {
      position = "33.25 9 115.15";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "12 16 35.65";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "0 26.2 44.85";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new SimGroup(MustChange_g) {

      new Path() {

         new Marker() {
            position = "0 8 15.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "0";
            msToNext = "1000";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "0 8 15.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "1";
            msToNext = "2500";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "0 8 15.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "2";
            msToNext = "0";
            smoothingType = "Accelerate";
         };
      };
      new PathedInterior(MustChange) {
         position = "0 0 0";
         rotation = "1 0 0 0";
         scale = "1 1 1";
         dataBlock = "PathedDefault";
         interiorResource = "platinum/data/interiors_MBP/UltimateTree.dif";
         interiorIndex = "0";
         basePosition = "0 0 0";
         baseRotation = "1 0 0 0";
         baseScale = "1 1 1";
            initialTargetPosition = "-1";
      };
   };
   new SimGroup(MustChange_g) {

      new Path() {

         new Marker() {
            position = "0 8 15.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "0";
            msToNext = "2000";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "0 8 27.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "1";
            msToNext = "1000";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "0 8 27.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "2";
            msToNext = "2000";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "0 8 15.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "3";
            msToNext = "1000";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "0 8 15.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "4";
            msToNext = "1000";
            smoothingType = "Accelerate";
         };
      };
      new PathedInterior(MustChange) {
         position = "0 0 0";
         rotation = "1 0 0 0";
         scale = "1 1 1";
         dataBlock = "PathedDefault";
         interiorResource = "platinum/data/interiors_MBP/UltimateTree.dif";
         interiorIndex = "1";
         basePosition = "0 0 0";
         baseRotation = "1 0 0 0";
         baseScale = "1 1 1";
            initialTargetPosition = "-1";
      };
   };
   new SimGroup(MustChange_g) {

      new Path() {

         new Marker() {
            position = "17.5 15.5 34.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "0";
            msToNext = "3000";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "17.5 15.5 44.25";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "1";
            msToNext = "1000";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "17.5 15.5 44.25";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "2";
            msToNext = "3000";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "17.5 15.5 34.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "3";
            msToNext = "1000";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "17.5 15.5 34.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "4";
            msToNext = "3000";
            smoothingType = "Accelerate";
         };
      };
      new PathedInterior(MustChange) {
         position = "0 0 0";
         rotation = "1 0 0 0";
         scale = "1 1 1";
         dataBlock = "PathedDefault";
         interiorResource = "platinum/data/interiors_MBP/UltimateTree.dif";
         interiorIndex = "2";
         basePosition = "0 0 0";
         baseRotation = "1 0 0 0";
         baseScale = "1 1 1";
            initialTargetPosition = "-1";
      };
   };
   new SimGroup(MustChange_g) {

      new Path() {

         new Marker() {
            position = "0 8 54.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "0";
            msToNext = "30";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "0 8 55.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "1";
            msToNext = "1500";
            smoothingType = "Accelerate";
         };
         new Marker() {
            position = "0 8 54.75";
            rotation = "1 0 0 0";
            scale = "1 1 1";
            seqNum = "2";
            msToNext = "1500";
            smoothingType = "Accelerate";
         };
      };
      new PathedInterior(MustChange) {
         position = "0 0 0";
         rotation = "1 0 0 0";
         scale = "1 1 1";
         dataBlock = "PathedDefault";
         interiorResource = "platinum/data/interiors_MBP/UltimateTree.dif";
         interiorIndex = "3";
         basePosition = "0 0 0";
         baseRotation = "1 0 0 0";
         baseScale = "1 1 1";
            initialTargetPosition = "-1";
      };
   };
   new Trigger(Bounds) {
      position = "-45 50 -10";
      rotation = "1 0 0 0";
      scale = "100 100 510";
      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 Item() {
      position = "-0.464745 9.42078 48.7128";
      rotation = "1 0 0 0";
      scale = "0.7 0.7 1";
      dataBlock = "easterEgg";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape() {
      position = "1.6452 28.8573 119.103";
      rotation = "0.3691271 0.2490121 0.8953984 6.435795";
      scale = "1 1 1";
      dataBlock = "SignFinish";
   };
   new StaticShape() {
      position = "0 15.5 28";
      rotation = "0 0 1 180";
      scale = "0.5 0.5 0.5";
      dataBlock = "checkPoint";
   };
   new StaticShape() {
      position = "1.31 3.27 35.5";
      rotation = "0 0 1 180";
      scale = "0.5 0.5 0.5";
      dataBlock = "checkPoint";
   };
   new StaticShape() {
      position = "0 15.5 44.5";
      rotation = "0 0 1 180";
      scale = "0.5 0.5 0.5";
      dataBlock = "checkPoint";
   };
   new SimGroup(PathNodeGroup) {

      new StaticShape(CameraPath1) {
         position = "48.48787 -53.09866 74.57828";
         rotation = "0.6538672 0.1909782 -0.7321099 43.499";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "4000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath2";
            useRotation = "1";
      };
      new StaticShape(CameraPath2) {
         position = "26.39439 -46.1092 65.13884";
         rotation = "0.734165 0.1713813 -0.6569858 39.12183";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "4000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath3";
            useRotation = "1";
      };
      new StaticShape(CameraPath3) {
         position = "7.100957 -28.41289 51.49879";
         rotation = "0.9175825 0.1079964 -0.3825955 34.1986";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "0";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath4";
            useRotation = "1";
      };
      new StaticShape(CameraPath4) {
         position = "-22.08288 -11.54259 51.04726";
         rotation = "0.5351081 -0.1886916 0.823441 46.36427";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "3000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath5";
            useRotation = "1";
      };
      new StaticShape(CameraPath5) {
         position = "-11.76761 -10.02539 47.61354";
         rotation = "0.7071561 -0.161363 0.6883984 36.67796";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "3000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath6";
            useRotation = "1";
      };
      new StaticShape(CameraPath6) {
         position = "-2.022605 -6.401387 44.24026";
         rotation = "0.9252813 -0.09023627 0.3683908 29.65524";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "3000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath7";
            useRotation = "1";
      };
      new StaticShape(CameraPath7) {
         position = "5.639401 -0.8425284 41.07658";
         rotation = "0.9609447 0.06717967 -0.2684629 29.1923";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "2000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath8";
            useRotation = "1";
      };
      new StaticShape(CameraPath8) {
         position = "9.163209 3.409337 39.40077";
         rotation = "0.6828058 0.1738198 -0.7096217 39.46949";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "0";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath9";
            useRotation = "1";
      };
      new StaticShape(CameraPath9) {
         position = "-6.727042 7.719993 36.60874";
         rotation = "-0.1825509 -0.4832979 0.8562116 215.8432";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "5000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath10";
            useRotation = "1";
      };
      new StaticShape(CameraPath10) {
         position = "-0.3351666 15.04966 52.72123";
         rotation = "-0.1825509 -0.4832979 0.8562116 215.8432";
         scale = "1 1 1";
         dataBlock = "PathNode";
            timeToNext = "0";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath1";
            useRotation = "1";
      };
   };
   new AudioProfile(MusicProfile) {
      fileName = "~/data/sound/music/Pianoforte (Guitar Remix).ogg";
      description = "AudioMusic";
      preload = "0";
   };
};
//--- OBJECT WRITE END ---
