// UT Tip: Try not to use any powerups along your way... except for the last one.
// Rep. by Phil
//--- OBJECT WRITE BEGIN ---
new SimGroup(MissionGroup) {

   new ScriptObject(MissionInfo) {
         level = "18";
         startHelpText = "Control your bounce as you hit the floor!";
         ultimateTime = "17000";
         name = "Recoil Training";
         artist = "Ian";
         music = "Rising Temper.ogg";
         desc = "Practice your skills on bouncing!";
         type = "beginner";
         goldTime = "22000";
   };
   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/Beginner/Beginner_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/RecoilTraining.dif";
      showTerrainInside = "0";
   };
   new StaticShape(EndPoint) {
      position = "-4 -10 -120";
      rotation = "0 0 -1 89.99999";
      scale = "1 1 1";
      dataBlock = "EndPad";
   };
   new Item() {
      position = "-3.5 14.5 -8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "2 20 -12";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "11 23 -48";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "39 23 -49.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "35 9 -64";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "30 -4 -75.8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "ShockAbsorberItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "17 23 -47.6";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperBounceItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "11 -10 -112";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "9 -10 -111.8";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "ShockAbsorberItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape(StartPoint) {
      position = "-3 3 0.5";
      rotation = "0 0 -1 45.00001";
      scale = "1 1 1";
      dataBlock = "StartPad";
   };
   new Trigger() {
      position = "16.4953 26.0001 -48";
      rotation = "1 0 0 0";
      scale = "1 6 3";
      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 = "Use the Super Bounce powerup to help your marble bounce higher!";
   };
   new Trigger() {
      position = "28 -2 -76";
      rotation = "1 0 0 0";
      scale = "4 4 3";
      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 = "The Shock Absorber Powerup stops the marble from rebounding.";
   };
   new Trigger(Bounds) {
      position = "-15 35 -126.8";
      rotation = "1 0 0 0";
      scale = "60 54 166.5";
      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 = "-4 -11 -115";
      rotation = "0 0 1 89.99999";
      scale = "1 1 1";
      dataBlock = "SignFinish";
   };
   new StaticShape() {
      position = "-5.7 3.7 0.5";
      rotation = "0 0 -1 20.00002";
      scale = "1 1 1";
      dataBlock = "SignDownSide";
   };
   new StaticShape() {
      position = "28.5 -3 -76";
      rotation = "0 0 1 180";
      scale = "1 1 1";
      dataBlock = "SignDownSide";
   };
   new StaticShape() {
      position = "-8 11.6 -4";
      rotation = "0 0 1 135";
      scale = "1 1 1";
      dataBlock = "SignDown";
   };
   new StaticShape() {
      position = "-3.3 17.7 -8";
      rotation = "0 0 1 135";
      scale = "1 1 1";
      dataBlock = "SignDown";
   };
   new StaticShape() {
      position = "4 22 -12";
      rotation = "0 0 1 180";
      scale = "1 1 1";
      dataBlock = "SignDown";
   };
   new StaticShape() {
      position = "41 20.8 -49.5";
      rotation = "0 0 -1 89.99999";
      scale = "1 1 1";
      dataBlock = "SignDownSide";
   };
   new StaticShape() {
      position = "37.2 6.2 -64";
      rotation = "0 0 -1 89.99999";
      scale = "1 1 1";
      dataBlock = "SignDownSide";
   };
   new Item() {
      position = "4 -6 -43";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperBounceItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "4 -14 -48.3";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "14 28.8 16.4";
      rotation = "1 0 0 50.00001";
      scale = "1 1 1.3";
      dataBlock = "easterEgg";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new SimGroup(PathNodeGroup) {

      new StaticShape(CameraPath1) {
         position = "-5.437359 -4.456525 12.88601";
         rotation = "0.9802856 -0.09332503 0.1741566 57.32604";
         scale = "1 1 1";
         dataBlock = "PathNode";
            useRotation = "1";
            timeToNext = "3000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath2";
      };
      new StaticShape(CameraPath2) {
         position = "-9.48792 0.8838206 7.974827";
         rotation = "0.8072559 -0.2735673 0.5229712 65.88648";
         scale = "1 1 1";
         dataBlock = "PathNode";
            useRotation = "1";
            timeToNext = "3000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath3";
      };
      new StaticShape(CameraPath3) {
         position = "-10.57702 6.618749 3.970955";
         rotation = "0.6138452 -0.3483624 0.7084051 77.39697";
         scale = "1 1 1";
         dataBlock = "PathNode";
            useRotation = "1";
            timeToNext = "3000";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath4";
      };
      new StaticShape(CameraPath4) {
         position = "-9.58329 12.69618 -0.01033022";
         rotation = "0.4554042 -0.3688002 0.8103045 89.96642";
         scale = "1 1 1";
         dataBlock = "PathNode";
            useRotation = "1";
            timeToNext = "3300";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath5";
      };
      new StaticShape(CameraPath5) {
         position = "-5.550584 19.19685 -4.7531";
         rotation = "0.2942093 -0.3784907 0.8776023 111.398";
         scale = "1 1 1";
         dataBlock = "PathNode";
            useRotation = "1";
            timeToNext = "0";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath6";
      };
      new StaticShape(CameraPath6) {
         position = "37.09734 26.28108 -41.40618";
         rotation = "0.02904596 -0.4765143 0.8786868 173.8683";
         scale = "1 1 1";
         dataBlock = "PathNode";
            useRotation = "1";
            timeToNext = "3600";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath7";
      };
      new StaticShape(CameraPath7) {
         position = "28.41099 16.8633 -50.74019";
         rotation = "0.1011255 -0.4677184 0.8780736 158.5008";
         scale = "1 1 1";
         dataBlock = "PathNode";
            useRotation = "1";
            timeToNext = "3600";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath8";
      };
      new StaticShape(CameraPath8) {
         position = "21.71659 4.378772 -61.19324";
         rotation = "0.1790183 -0.4581992 0.8706355 142.4278";
         scale = "1 1 1";
         dataBlock = "PathNode";
            useRotation = "1";
            timeToNext = "0";
            usePosition = "1";
            placed = "1";
            reverseRotation = "0";
            useScale = "0";
            nextNode = "CameraPath1";
      };
   };
   new AudioProfile(MusicProfile) {
      fileName = "~/data/sound/music/Pianoforte (Guitar Remix).ogg";
      description = "AudioMusic";
      preload = "0";
   };
};
//--- OBJECT WRITE END ---
