function clientCbOnMissionLoaded () {
   new MaterialProperty(floor_bounce) {
      friction    = 1;
      restitution = 1; //How high you bounce when you hit the texture
      force       = 18; //Bouncy floor-like property (force applied to marble, 7.5 is a jump)
   };
   addMaterialMapping("floor_bounce", floor_bounce);
}
function clientCbOnMissionEnded () {
   addMaterialMapping("floor_bounce", floor_bounce);
}


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

   new ScriptObject(MissionInfo) {
         artist = "August";
         customRadarRule = "0";
         desc = "Traverse your way up this tower with the aid of the Gravity Modifiers!";
         game = "Platinum";
         gameMode = "null";
         level = "19";
         music = "Metropolis.ogg";
         name = "Gravity Tower";
         platinumTime = "40000";
         startHelpText = "Use the Gravity Modifiers to reach the finish!";
         type = "custom";
         ultimateTime = "26000";
   };
   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/Intermediate/Intermediate_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 StaticShape(StartPoint) {
      position = "14 8.25 -25.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "StartPad";
   };
   new StaticShape(EndPoint) {
      position = "16 0 2.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "EndPad";
   };
   new SimGroup(PathNodeGroup) {

      new StaticShape(CameraPath1) {
         position = "2.83586 6.14945 -9.66269";
         rotation = "0.335913 -0.21955 0.915948 71.021";
         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 = "0";
            nextNode = "CameraPath2";
            placed = "1";
            reverseRotation = "0";
            speed = "0";
            timeToNext = "7000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath2) {
         position = "-2.53499 13.3944 -1.49848";
         rotation = "0.189319 -0.394453 0.899202 133.312";
         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 = "0";
            nextNode = "CameraPath3";
            placed = "1";
            reverseRotation = "0";
            speed = "0";
            timeToNext = "1";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath3) {
         position = "21.1012 -16.7032 -22.101";
         rotation = "-0.189687 -0.0750133 -0.978975 43.9926";
         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 = "0";
            nextNode = "CameraPath4";
            placed = "1";
            reverseRotation = "0";
            speed = "0";
            timeToNext = "8000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath4) {
         position = "15.3367 -20.5392 9.43113";
         rotation = "0.830747 0.162013 -0.532551 40.2255";
         scale = "1 1 1";
         dataBlock = "PathNode";
            FinalRotOffset = "1 0 0 0";
            RotationMultiplier = "1";
            Smooth = "0";
            SmoothEnd = "0";
            SmoothStart = "0";
            Spline = "1";
            bezier = "0";
            branchNodes = " ";
            delay = "0";
            nextNode = "CameraPath5";
            placed = "1";
            reverseRotation = "0";
            speed = "0";
            timeToNext = "3000";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
      new StaticShape(CameraPath5) {
         position = "1.57751 -6.34052 7.96473";
         rotation = "0.245284 -0.128162 0.960943 57.0693";
         scale = "1 1 1";
         dataBlock = "PathNode";
            FinalRotOffset = "1 0 0 0";
            RotationMultiplier = "1";
            Smooth = "0";
            SmoothEnd = "0";
            SmoothStart = "0";
            Spline = "1";
            bezier = "0";
            branchNodes = " ";
            delay = "0";
            nextNode = "CameraPath1";
            placed = "1";
            reverseRotation = "0";
            speed = "0";
            timeToNext = "1";
            usePosition = "1";
            useRotation = "1";
            useScale = "0";
      };
   };
   new StaticShape() {
      position = "16.25 0 9.75";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SignFinish";
   };
   new Item() {
      position = "16 -5 3.5";
      rotation = "1 0 0 180";
      scale = "1 1 1";
      dataBlock = "AntiGravityItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new InteriorInstance() {
      position = "11.9977 10.2499 -26";
      rotation = "1 0 0 0";
      scale = "0.5 0.5 0.5";
      interiorFile = "~/data/lbinteriors_custom/mbp/custom/august_gravitytower.dif";
      showTerrainInside = "0";
   };
   new StaticShape() {
      position = "2.75 7.5 -20.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SignUp";
   };
   new Item() {
      position = "-2 8.25 -11.25";
      rotation = "0 1 0 90";
      scale = "1 1 1";
      dataBlock = "AntiGravityItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "27 16.25 -21";
      rotation = "0 -1 0 90";
      scale = "1 1 1";
      dataBlock = "AntiGravityItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "20.25 8.25 -13";
      rotation = "1 0 0 180";
      scale = "1 1 1";
      dataBlock = "AntiGravityItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "4 8.25 -20.25";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "SuperJumpItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "11 -7 -23.5";
      rotation = "1 0 0 90";
      scale = "1 1 1";
      dataBlock = "AntiGravityItem";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "-0.500002 -11.75 -4";
      rotation = "0 -1 0 90";
      scale = "1 1 1";
      dataBlock = "GemItemPurple";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "14 8.25 -18.5";
      rotation = "1 0 0 0";
      scale = "1 1 1";
      dataBlock = "GemItemBlue";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "21 16.25 4";
      rotation = "0 1 0 90";
      scale = "1 1 1";
      dataBlock = "GemItemYellow";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Item() {
      position = "10 -8 -19.5";
      rotation = "0 -1 0 90";
      scale = "1 1 1";
      dataBlock = "GemItemGreen";
      collideable = "0";
      static = "1";
      rotate = "1";
   };
   new Trigger(Bounds) {
      position = "-25.0023 -29.5001 -38";
      rotation = "1 0 0 0";
      scale = "76 63.25 99.65";
      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";
   };
};
//--- OBJECT WRITE END ---
