// Skybox by Perishingflames

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

   new ScriptObject(MissionInfo) {
         game = "Platinum";
         Time = "0";
         artist = "Buzzmusic100";
         desc = "Trapdoors can be used in tons of different ways! Understanding the mechanics of trapdoors is a skill you\'ll need to get all the way through this level.";
         goldTime = "70000";
         level = "2";
         music = "Astrolabe.ogg";
         name = "The Art of Trapdoors";
         startHelpText = "Let\'s start with some simple trapdoor challenges first!";
         type = "LBCustom";
         ultimateTime = "50000";
   };
   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-031 1.3684e-038";
      fogVolume2 = "-1 1.07208e-014 8.756e-014";
      fogVolume3 = "-1 5.1012e-010 2.05098e-008";
      materialList = "~/data/skies/Soothing Orange/sky_day.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/lbinteriors_custom/mbp/trapdoorfun5.dif";
      showTerrainInside = "0";
   };
   new StaticShape(StartPoint) {
      position = "2 0 22";
      rotation = "0 0 -1 90";
      scale = "1 1 1";
      dataBlock = "StartPad";
   };
   new StaticShape() {
      position = "-9 2 23";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "-7 -1 24";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "-5 1 25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new Item() {
      position = "-5 1 25.1775";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape() {
      position = "2 6 34";
      rotation = "0 0 1 90";
      scale = "3 3 3";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "2 12 34";
      rotation = "0 0 1 90";
      scale = "3 3 3";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "-4 12 34";
      rotation = "1 0 0 0";
      scale = "3 3 3";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "-16 22 35.5";
      rotation = "0 0 1 90";
      scale = "1 1 1";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "2 0 34";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "checkpoint";
   };
   new StaticShape() {
      position = "13 32 40";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "checkpoint";
   };
   new StaticShape() {
      position = "-2.4 32 41.8";
      rotation = "0 1 0 90";
      scale = "2 2 2";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "2750";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "13 44 40";
      rotation = "0 0 -1 90";
      scale = "8 3 3";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "4 55 34";
      rotation = "1 0 0 0";
      scale = "2 2 2";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "Default";
         skin = "base";
         timeout = "200";
   };
   new Trigger(Bounds) {
      position = "-70.1714 134.003 9.2";
      rotation = "1 0 0 0";
      scale = "130 150 130";
      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 = "0 0 24";
      rotation = "0 -1 0 90";
      scale = "2 2 2";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "Default";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "0.999998 73 28";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "checkpoint";
   };
   new StaticShape() {
      position = "-28.0695 67 22.2878";
      rotation = "0 -1 0 9.99997";
      scale = "1.5 1.5 1.5";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new StaticShape() {
      position = "-14.7 73 25.6";
      rotation = "0 1 0 90";
      scale = "2 2 2";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new Item() {
      position = "13 43 40";
      rotation = "1 0 0 0";
      scale = "3 3 3";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "13 55 40.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperBounceItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape(EndPoint) {
      position = "-51 43 66";
      rotation = "0 0 -1 90";
      scale = "1 1 1";
      dataBlock = "EndPad";
   };
   new Item() {
      position = "35 41 59.7334";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "HelicopterItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "35 45 60.145";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "ShockAbsorberItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape() {
      position = "1 96.75 28";
      rotation = "0 0 1 90";
      scale = "15 3 3";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new Trigger(teleoob) {
      position = "-1.75 110.75 27";
      rotation = "1 0 0 0";
      scale = "5.4 28 4";
      dataBlock = "TeleportTrigger";
      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";
         delay = "3000";
         destination = "finaldest";
   };
   new StaticShape() {
      position = "-5 -4 24";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "4000";
         skin = "base";
         timeout = "200";
   };
   new Trigger(oob2) {
      position = "-7 15 35";
      rotation = "1 0 0 0";
      scale = "6 6 0.5";
      dataBlock = "OutOfBoundsTrigger";
      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 Trigger(oob1) {
      position = "-1 15 35";
      rotation = "1 0 0 0";
      scale = "6 12 0.5";
      dataBlock = "OutOfBoundsTrigger";
      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 = "-27 55 38.5";
      rotation = "0 1 0 90";
      scale = "0.5 0.5 0.5";
      dataBlock = "AntiGravityItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape() {
      position = "-25 55 42";
      rotation = "1 0 0 0";
      scale = "5 5 5";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "Default";
         skin = "base";
         timeout = "200";
   };
   new Item() {
      position = "-28 55 20.8";
      rotation = "1 0 0 180";
      scale = "1 1 1";
      dataBlock = "AntiGravityItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape() {
      position = "3.20678 43 72.0062";
      rotation = "0 -1 0 92";
      scale = "9 1.5 5";
      dataBlock = "TrapDoor";
         mbuanim = "0";
         open = "0";
         resettime = "6000";
         skin = "base";
         timeout = "200";
   };
   new Trigger(finaldest) {
      position = "37 43 60";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "DestinationTrigger";
      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 = "-4 12 34";
      rotation = "1 0 0 0";
      scale = "7 7 7";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "2.60007 64.5954 34.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         skin = "base";
         timeBonus = "4000";
   };
   new Item() {
      position = "-5 -4 24.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         skin = "base";
         timeBonus = "5000";
   };
   new Item() {
      position = "5.25 15.25 36";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "TimeTravelItem";
      collideable = "0";
      static = "1";
      rotate = "1";
         skin = "base";
         timeBonus = "8000";
   };
   new Item() {
      position = "-51 43 18.9";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "easterEgg";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-27 55 38.3";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "4 43 72.2";
      rotation = "1 0 0 0";
      scale = "4 4 4";
      dataBlock = "GemItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new StaticShape() {
      position = "-51 42.75 71.6";
      rotation = "0 0 1 90";
      scale = "1 1 1";
      dataBlock = "SignFinish";
   };
   new Trigger(oobtriggerhelp) {
      position = "0 2 34";
      rotation = "1 0 0 0";
      scale = "4 4 4";
      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 = "Don\'t touch the OOB triggers above these trapdoors!";
   };
   new Trigger(oobtriggerhelp) {
      position = "10 53 40";
      rotation = "1 0 0 0";
      scale = "6 1 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 get to the higher platform. But you won\'t be able to bounce up there without doing something else first...";
   };
   new Trigger(oobtriggerhelp) {
      position = "-5 58 42";
      rotation = "1 0 0 0";
      scale = "1 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 = "Nice job!";
   };
   new Trigger(oobtriggerhelp) {
      position = "-14 58 42";
      rotation = "1 0 0 0";
      scale = "1 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 = "If you hit the trapdoor in front of you, it will reveal a Gravity Defier. You\'ll need to get it because there\'s a diamond in it. But remember to be careful!";
   };
   new Trigger(oobtriggerhelp) {
      position = "-2 76 28";
      rotation = "1 0 0 0";
      scale = "6 6 1";
      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 = "To get teleported to the last challenge, stay inside the box surrounding the trapdoor for three seconds.";
   };
   new StaticShape() {
      position = "-10 55 42";
      rotation = "0 0 -1 90";
      scale = "1 1 1";
      dataBlock = "checkpoint";
   };
   new SimGroup(PathNodeGroup) {

      new StaticShape(CameraPath1) {
         position = "-16.972 -10.3386 42.7123";
         rotation = "0.711908 -0.247871 0.657075 55.8374";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath2";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath2) {
         position = "-32.6501 11.1183 51.5786";
         rotation = "0.339116 -0.249606 0.907026 78.1181";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath3";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath3) {
         position = "22.724 18.5792 60.4285";
         rotation = "0.619214 0.232725 -0.749942 53.2362";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath4";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath4) {
         position = "24.5452 69.8812 61.4386";
         rotation = "-0.191239 -0.34199 0.920038 234.45";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath5";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath5) {
         position = "48.6929 58.5769 73.6995";
         rotation = "0.112159 0.186427 -0.976046 119.156";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath6";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath6) {
         position = "-39.667 55.3093 75.0809";
         rotation = "-0.0790976 -0.193965 0.977814 223.479";
         scale = "1 1 1";
         dataBlock = "PathNode";
            nextNode = "CameraPath1";
            placed = "1";
            reverseRotation = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
   };
};
//--- OBJECT WRITE END ---
