diff --git a/.gitignore b/.gitignore
index 8515aa440adfc8f3362745eb7f7573b17083d3e4..2992197b3308e29e59e399d0b854926c571b4229 100755
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,5 @@ obj
 /.vs
 /Build/DevIL.dll
 /Build/Plugins/*.dll
+/Build/Builder.exe.config
+/Build/Builder.pdb
diff --git a/Builder.sln.DotSettings.user b/Builder.sln.DotSettings.user
new file mode 100644
index 0000000000000000000000000000000000000000..66ccfb21c2a7334293e57fb1c83a2d0b89294c94
--- /dev/null
+++ b/Builder.sln.DotSettings.user
@@ -0,0 +1,7 @@
+<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
+	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestVarOrType_005FBuiltInTypes/@EntryIndexedValue">DO_NOT_SHOW</s:String>
+	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestVarOrType_005FElsewhere/@EntryIndexedValue">DO_NOT_SHOW</s:String>
+	<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=SuggestVarOrType_005FSimpleTypes/@EntryIndexedValue">DO_NOT_SHOW</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=UDMF/@EntryIndexedValue">UDMF</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=Constants/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="AA_BB" /&gt;</s:String>
+	<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/PredefinedNamingRules/=PrivateInstanceFields/@EntryIndexedValue">&lt;Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" /&gt;</s:String></wpf:ResourceDictionary>
\ No newline at end of file
diff --git a/Source/Core/Builder.csproj b/Source/Core/Builder.csproj
index 15b309ca0cc20f79bf6dc0ad23cc4ce83aa6c310..6fd2e3f21c4cdc89353a79884a15565ce7f4daf4 100644
--- a/Source/Core/Builder.csproj
+++ b/Source/Core/Builder.csproj
@@ -1513,12 +1513,17 @@ echo Copying platform-appropriate SlimDX.dll file.
 copy /Y ..\SlimDX\$(PlatformName)\SlimDX.dll .\
 echo Copying platform-appropriate Updater.ini.
 copy /Y ..\UpdaterConfig\Updater-$(PlatformName).ini Updater.ini</PreBuildEvent>
-    <PostBuildEvent>if exist "%25VS140COMNTOOLS%25" goto tools140 
+    <PostBuildEvent>if exist "%25VSAPPIDDIR%25" goto tools17
+if exist "%25VS140COMNTOOLS%25" goto tools140 
 if exist "%25VS120COMNTOOLS%25" goto tools120 
 if exist "%25VS110COMNTOOLS%25" goto tools110 
 if exist "%25VS100COMNTOOLS%25" goto tools100
 if exist "%25VS90COMNTOOLS%25" goto tools90 
 
+:tools17
+call "%25VSAPPIDDIR%25..\Tools\vsdevcmd" -arch=x86
+goto end
+
 :tools140
 call "%25VS140COMNTOOLS%25vsvars32.bat"
 goto end
diff --git a/Source/Plugins/BuilderModes/Resources/Actions.cfg b/Source/Plugins/BuilderModes/Resources/Actions.cfg
index ac7e5315dcd44d97bc2729dcf5a04aff5ffeec7b..472425ca4b6063c89191db525e4b196f298b1423 100755
--- a/Source/Plugins/BuilderModes/Resources/Actions.cfg
+++ b/Source/Plugins/BuilderModes/Resources/Actions.cfg
@@ -632,6 +632,29 @@ raisesector1
 	repeat = true;
 }
 
+lowersector128
+{
+	title = "Lower Floor/Ceiling/Thing by 128 mp";
+	category = "visual";
+	description = "Lowers the targeted or selected floors/ceilings by 128 mp. This also lowers selected or targeted things.";
+	allowkeys = true;
+	allowmouse = true;
+	allowscroll = true;
+	repeat = true;
+}
+
+raisesector128
+{
+	title = "Raise Floor/Ceiling/Thing by 128 mp";
+	category = "visual";
+	description = "Raises the targeted or selected floors/ceilings by 128 mp. This also raises selected or targeted things.";
+	allowkeys = true;
+	allowmouse = true;
+	allowscroll = true;
+	repeat = true;
+}
+
+
 //mxd
 lowersectortonearest
 {
diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs
index 48073570f9807ff4379b3a69b66e895668704bae..2b95e0276ac6537ca52220843769eccef3167c50 100755
--- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs
+++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs
@@ -2106,26 +2106,45 @@ namespace CodeImp.DoomBuilder.BuilderModes
 			PostAction();
 		}
 
-		[BeginAction("raisesector1")]
-		public void RaiseSector1()
-		{
-			PreAction(UndoGroup.SectorHeightChange);
-			List<IVisualEventReceiver> objs = GetSelectedObjects(true, true, true, true);
-			foreach(IVisualEventReceiver i in objs) i.OnChangeTargetHeight(1);
-			PostAction();
-		}
-
-		[BeginAction("lowersector1")]
-		public void LowerSector1()
-		{
-			PreAction(UndoGroup.SectorHeightChange);
-			List<IVisualEventReceiver> objs = GetSelectedObjects(true, true, true, true);
-			foreach(IVisualEventReceiver i in objs) i.OnChangeTargetHeight(-1);
-			PostAction();
-		}
-
-		//mxd
-		[BeginAction("raisesectortonearest")]
+	    [BeginAction("raisesector1")]
+	    public void RaiseSector1() {
+	        PreAction(UndoGroup.SectorHeightChange);
+	        List<IVisualEventReceiver> objs = GetSelectedObjects(true, true, true, true);
+	        foreach (IVisualEventReceiver i in objs)
+	            i.OnChangeTargetHeight(1);
+	        PostAction();
+	    }
+
+	    [BeginAction("lowersector1")]
+	    public void LowerSector1() {
+	        PreAction(UndoGroup.SectorHeightChange);
+	        List<IVisualEventReceiver> objs = GetSelectedObjects(true, true, true, true);
+	        foreach (IVisualEventReceiver i in objs)
+	            i.OnChangeTargetHeight(-1);
+	        PostAction();
+	    }
+
+	    [BeginAction("raisesector128")]
+	    public void RaiseSector128() {
+	        PreAction(UndoGroup.SectorHeightChange);
+	        List<IVisualEventReceiver> objs = GetSelectedObjects(true, true, true, true);
+	        foreach (IVisualEventReceiver i in objs)
+	            i.OnChangeTargetHeight(128);
+	        PostAction();
+	    }
+
+	    [BeginAction("lowersector128")]
+	    public void LowerSector128() {
+	        PreAction(UndoGroup.SectorHeightChange);
+	        List<IVisualEventReceiver> objs = GetSelectedObjects(true, true, true, true);
+	        foreach (IVisualEventReceiver i in objs)
+	            i.OnChangeTargetHeight(-128);
+	        PostAction();
+	    }
+
+
+        //mxd
+        [BeginAction("raisesectortonearest")]
 		public void RaiseSectorToNearest() 
 		{
 			Dictionary<Sector, VisualFloor> floors = new Dictionary<Sector, VisualFloor>();
diff --git a/Source/Plugins/StairSectorBuilder/StairSectorBuilder.csproj b/Source/Plugins/StairSectorBuilder/StairSectorBuilder.csproj
index c070dbc1ce70342ebbcf1bbda6944f2634afe379..af0dcf67164dd2ba06197821aff7c5596b98c7e2 100755
--- a/Source/Plugins/StairSectorBuilder/StairSectorBuilder.csproj
+++ b/Source/Plugins/StairSectorBuilder/StairSectorBuilder.csproj
@@ -88,11 +88,6 @@
     <Optimize>true</Optimize>
   </PropertyGroup>
   <ItemGroup>
-    <Reference Include="Builder, Version=1.14.0.2201, Culture=neutral, processorArchitecture=x86">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\..\Build\Builder.exe</HintPath>
-      <Private>False</Private>
-    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
@@ -134,6 +129,12 @@
   <ItemGroup>
     <EmbeddedResource Include="Resources\StairIcon.png" />
   </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\Core\Builder.csproj">
+      <Project>{818b3d10-f791-4c3f-9af5-bb2d0079b63c}</Project>
+      <Name>Builder</Name>
+    </ProjectReference>
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.