//UT Tip: lol lol lol jij jaj jej joj jvj jcj jqj joj jkj

//--- OBJECT WRITE BEGIN ---
new SimGroup(MissionGroup) {

   new ScriptObject(MissionInfo) {
         artist = "hPerks";
         desc = "Master the intricacies of marble spin!";
         goldTime = "120000";
         level = "39";
         music = "Perspective.ogg";
         name = "Spin Class";
         startHelpText = "Control your angular momentum in the air to land these jumps!";
         type = "custom";
         ultimateTime = "90000";
   };
   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";
      cloudSpeed2 = "0";
      cloudSpeed3 = "0";
      visibleDistance = "500";
      useSkyTextures = "1";
      renderBottomTexture = "1";
      SkySolidColor = "0.000000 0.000000 0.000000 0.000000";
      fogDistance = "300";
      fogColor = "0.000000 0.000000 0.000000 0.000000";
      fogVolume1 = "0 0 0";
      fogVolume2 = "0 0 0";
      fogVolume3 = "0 0 0";
      materialList = "~/data/skies/Advanced/Advanced_Sky.dml";
      windVelocity = "0 0 0";
      windEffectPrecipitation = "0";
      noRenderBans = "1";
      fogVolumeColor1 = "0.000000 0.000000 0.000000 0.000000";
      fogVolumeColor2 = "0.000000 0.000000 0.000000 0.000000";
      fogVolumeColor3 = "0.000000 0.000000 0.000000 0.000000";
   };
   new Sun() {
      direction = "0.57735 0.57735 -0.57735";
      color = "1.400000 1.200000 0.400000 1.000000";
      ambient = "0.300000 0.300000 0.400000 1.000000";
   };
   new StaticShape(StartPoint) {
      position = "0 2 0";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "StartPad";
   };
   new StaticShape(EndPoint) {
      position = "29 -60.583 19";
      rotation = "0 0 -1 90";
      scale = "1 1 1";
      dataBlock = "EndPad";
   };
   new StaticShape(FinishSign) {
      position = "28 -60.583 25";
      rotation = "0 0 -1 90";
      scale = "1 1 1";
      dataBlock = "SignFinish";
   };
   new InteriorInstance() {
      position = "0 0 0";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      interiorFile = "~/data/lbinteriors_custom/mbp/spinclass.dif";
      showTerrainInside = "0";
   };
   new InteriorInstance() {
      position = "36 -19.5 0";
      rotation = "0 0 -1 45";
      scale = "1 1 1";
      interiorFile = "~/data/lbinteriors_custom/mbp/spinclass2.dif";
      showTerrainInside = "0";
   };
   new InteriorInstance() {
      position = "53 -50.6 5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      interiorFile = "~/data/lbinteriors_custom/mbp/spinclass3.dif";
      showTerrainInside = "0";
   };
   new InteriorInstance() {
      position = "25 49 0";
      rotation = "0 0 1 45";
      scale = "1 1 1";
      interiorFile = "~/data/lbinteriors_custom/mbp/spinclass4.dif";
      showTerrainInside = "0";
   };
   new Item() {
      position = "25 39 4";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "25 23 -15";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "8 7 -30";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "25 13 -25.8225";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperSpeedItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "25 49 -32";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-7 37 -28.8225";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperSpeedItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-14 -4.5 -29";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "12 -20 -29.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "HelicopterItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "12 -48 -17";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "48 -42 -13.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "HelicopterItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "46 -11 -8";
      rotation = "-1 0 0 90";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "50 -11 -8";
      rotation = "-1 0 0 90";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "39 4 0.5";
      rotation = "0 -1 0 90";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "39 4 4.5";
      rotation = "0 -1 0 90";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "15.5 -7 8.187";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "28.929 -35.056 17";
      rotation = "1 0 0 180";
      scale = "2 2 2";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "40.95 -50.613 19";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "40.95 -60.654 19";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape() {
      position = "25 7 -26";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "checkpoint";
   };
   new StaticShape() {
      position = "6 -13 -29";
      rotation = "0 0 1 90";
      scale = "1 1 1";
      dataBlock = "checkpoint";
   };
   new StaticShape() {
      position = "36 -19.5 6";
      rotation = "0 0 1 135";
      scale = "1 1 1";
      dataBlock = "checkpoint";
   };
   new Trigger() {
      position = "7.5 42.5 0";
      rotation = "1 0 0 0";
      scale = "10.5 7 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";
         displayonce = "0";
         persistTime = "5000";
         text = "When you hit a frictional surface, your spin is converted to speed.";
   };
   new Trigger() {
      position = "21.5 36 4";
      rotation = "1 0 0 0";
      scale = "7 8.5 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";
         displayonce = "0";
         persistTime = "5000";
         text = "Use forward spin to bounce from the gem below to the platform in front.";
   };
   new Trigger() {
      position = "17.5 10.5 -11";
      rotation = "1 0 0 0";
      scale = "11 7 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";
         displayonce = "0";
         persistTime = "5000";
         text = "Get as much backspin as you can for this next bounce!";
   };
   new Trigger() {
      position = "21.5 14.5 -26";
      rotation = "1 0 0 0";
      scale = "7 4.5 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";
         displayonce = "0";
         persistTime = "5000";
         text = "The rug surface is great for emergency stops - but be careful!";
   };
   new Trigger() {
      position = "-3.5 52.5 -32";
      rotation = "1 0 0 0";
      scale = "7 18 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";
         displayonce = "0";
         persistTime = "5000";
         text = "Is it possible to wall-hit off of the ice?";
   };
   new Trigger() {
      position = "-17.5 40.5 -29";
      rotation = "1 0 0 0";
      scale = "7 18 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";
         displayonce = "0";
         persistTime = "5000";
         text = "Hmm... There\'s no rug to help you slow down this time... what could you use instead?";
   };
   new Trigger() {
      position = "8.5 -16 -29";
      rotation = "1 0 0 0";
      scale = "7 7 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";
         displayonce = "0";
         persistTime = "5000";
         text = "You\'ll need to control your height from this wall-hit to make it up in time.";
   };
   new Trigger() {
      position = "44.5 -38.5 -13";
      rotation = "1 0 0 0";
      scale = "7 6.5 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";
         displayonce = "0";
         persistTime = "5000";
         text = "Here\'s a real puzzler: how can you get both those gems and still make it up in time? Hint - try an \'anti-wall-hit\'!";
   };
   new Trigger() {
      position = "44.5 1 -3";
      rotation = "1 0 0 0";
      scale = "7 6 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";
         displayonce = "0";
         persistTime = "5000";
         text = "Ice isn\'t just a hazard - you can use it to increase your spin without increasing your speed!";
   };
   new Trigger() {
      position = "32.5 7.5 8";
      rotation = "1 0 0 0";
      scale = "6 7 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";
         displayonce = "0";
         persistTime = "5000";
         text = "Well done! Take this super jump - you\'ll need it in a bit.";
   };
   new Trigger() {
      position = "31.05 -19.5 6";
      rotation = "0 0 -1 45";
      scale = "7 6.5 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";
         displayonce = "0";
         persistTime = "5000";
         text = "Get the gem to the right first. Just jump-superjump and let the sandy ceiling do the rest!";
   };
   new Trigger() {
      position = "44.132 -14.904 6";
      rotation = "0 0 -1 45";
      scale = "6.5 6.5 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";
         displayonce = "0";
         persistTime = "5000";
         text = "The random force pushes you in the opposite direction of your spin. You\'ll build up a lot of backspin here - be careful!";
   };
   new Trigger() {
      position = "49.5 -47 19";
      rotation = "1 0 0 0";
      scale = "7 7 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";
         displayonce = "0";
         persistTime = "5000";
         text = "The final challenge - how can you control your movement in this icy room? Hint - use your head!";
   };
   new Trigger() {
      position = "25.5 -57 19";
      rotation = "1 0 0 0";
      scale = "7 7 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";
         displayonce = "0";
         persistTime = "5000";
         text = "Congratulations! You\'ve learned the ways of the spinning marble!";
   };
   new Trigger() {
      position = "-40 70 -50";
      rotation = "1 0 0 0";
      scale = "140 160 200";
      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 SimGroup(PathNodeGroup) {

      new StaticShape(CameraPath1) {
         position = "-19.6275 -0.661279 9.63982";
         rotation = "0.249378 -0.185359 0.950501 76.0505";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath2";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath2) {
         position = "-16.7692 32.7499 9.63982";
         rotation = "0.114663 -0.190144 0.975037 119.091";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath3";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath3) {
         position = "19.3271 52.3913 9.63982";
         rotation = "-0.00667135 -0.198736 0.98003 183.769";
         scale = "1 1 1";
         dataBlock = "PathNode";
            FinalRotOffset = "1 0 0 0";
            RotationMultiplier = "1";
            Smooth = "0";
            SmoothEnd = "0";
            SmoothStart = "0";
            Spline = "0";
            bezier = "0";
            branchNodes = " ";
            delay = "500";
            nextNode = "CameraPath4";
            placed = "1";
            reverseRotation = "0";
            speed = "0";
            timeToNext = "0";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath4) {
         position = "17.4056 65.7062 -19.2514";
         rotation = "-0.0324103 -0.227657 0.973202 195.776";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath5";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath5) {
         position = "-26.7084 48.4637 -19.2514";
         rotation = "0.0735822 -0.151517 0.985712 128.839";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath6";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath6) {
         position = "-43.6023 13.093 -19.2514";
         rotation = "0.11664 -0.131287 0.984459 97.6527";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath7";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath7) {
         position = "-43.512 -19.9517 -19.2514";
         rotation = "0.121857 -0.114018 0.985977 87.0008";
         scale = "1 1 1";
         dataBlock = "PathNode";
            FinalRotOffset = "1 0 0 0";
            RotationMultiplier = "1";
            Smooth = "0";
            SmoothEnd = "0";
            SmoothStart = "0";
            Spline = "0";
            bezier = "0";
            branchNodes = " ";
            delay = "500";
            nextNode = "CameraPath8";
            placed = "1";
            reverseRotation = "0";
            speed = "0";
            timeToNext = "0";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath8) {
         position = "70.3689 -1.07843 30.2224";
         rotation = "-0.119063 -0.28424 0.951332 223.454";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath9";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath9) {
         position = "87.8117 -32.4658 30.2224";
         rotation = "0.191371 0.231393 -0.953852 103.462";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath10";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath10) {
         position = "75.9421 -66.5249 30.2224";
         rotation = "0.495509 0.217375 -0.840963 55.0978";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath11";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath11) {
         position = "58.0851 -76.7447 30.2224";
         rotation = "0.838448 0.132437 -0.528645 33.2714";
         scale = "1 1 1";
         dataBlock = "PathNode";
            FinalRotOffset = "1 0 0 0";
            RotationMultiplier = "1";
            Smooth = "0";
            SmoothEnd = "0";
            SmoothStart = "0";
            Spline = "0";
            bezier = "0";
            branchNodes = " ";
            delay = "500";
            nextNode = "CameraPath1";
            placed = "1";
            reverseRotation = "0";
            speed = "0";
            timeToNext = "0";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
   };
};
//--- OBJECT WRITE END ---
