diff --git a/src/Blaze-Brigade/Blaze_Brigade/Game.cs b/src/Blaze-Brigade/Blaze_Brigade/Game.cs
index a92732ab2dc707d7ea7665c76dcde5646607a62b..e2d3e05be7e06bfb81a470adc02f6229356010dc 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/Game.cs
+++ b/src/Blaze-Brigade/Blaze_Brigade/Game.cs
@@ -348,16 +348,28 @@ namespace Controller
                         if (!GameState.isAnimating)
                         {
                             drawUI.drawHighlightNodes(spriteBatch, graph, moveableNode, attackableNode);
-                            drawUI.drawDropDownMenu(spriteBatch);
-                            drawUI.drawInventoryMenu(spriteBatch, font);
+                            if (GameState.dropDownMenuOpen) // if dropDowMenu should be opened, draw dropDownMenu
+                            {
+                                drawUI.drawDropDownMenu(spriteBatch);
+                            }
+                            if (GameState.inventoryOpen)
+                            {
+                                drawUI.drawInventoryMenu(spriteBatch, font);
+                            }
                         }
                     }
                     #endregion
 
                     // redraws unit at game over to be darker
-                    drawUI.drawUnitsAtGameOver(spriteBatch, player1, player2);
+                    if (GameState.gameOver)
+                    {
+                        drawUI.drawUnitsAtGameOver(spriteBatch, player1, player2);
+                    }
                     // draws end turn button 
-                    drawUI.drawEndTurnButton(spriteBatch, endTurnButton);
+                    if (GameState.endTurnButton)
+                    {
+                        drawUI.drawEndTurnButton(spriteBatch, endTurnButton);
+                    }
                     break;
             }
             spriteBatch.End();      // end spriteBatch
@@ -371,8 +383,12 @@ namespace Controller
             if (GameState.playableUnitSelected)
             {
                 //draw attack confirm menu
-                drawUI.drawAttackConfirm(spriteBatch, font, largeFont, largestFont, player1, graph);
+                if (GameState.attackConfirmOpen && !GameState.isAnimating)
+                {
+                    drawUI.drawAttackConfirm(spriteBatch, font, largeFont, largestFont, player1, graph);
+                }
                 //draw char info screen menu
+
                 drawUI.drawInfoScreen(spriteBatch, player1, font, largeFont);
                 Unit unit = GameState.selectedUnit;
 
@@ -525,9 +541,15 @@ namespace Controller
                 }
             }
             //draw game over menu
-            drawUI.drawGameOverMenu(spriteBatch, gameOver, backGround, largestFont);
+            if (GameState.gameOver)
+            {
+                drawUI.drawGameOverMenu(spriteBatch, gameOver, backGround, largestFont);
+            }
             //draw turn transition
-            drawUI.drawTurnTransition(spriteBatch, player1Transition, player2Transition, player1);
+            if (GameState.transitionTurn)
+            {
+                drawUI.drawTurnTransition(spriteBatch, player1Transition, player2Transition, player1);
+            }
 
             spriteBatch.End();
             #endregion
diff --git a/src/Blaze-Brigade/Blaze_Brigade/drawUI.cs b/src/Blaze-Brigade/Blaze_Brigade/drawUI.cs
index 99450185970df45413f5db2b9249a86dd2ad9a6b..9d686e1a7be771e3604b367ec26ecdf2eeb83188 100644
--- a/src/Blaze-Brigade/Blaze_Brigade/drawUI.cs
+++ b/src/Blaze-Brigade/Blaze_Brigade/drawUI.cs
@@ -42,79 +42,71 @@ namespace View
         {
             Unit unit = GameState.selectedUnit;
             if (GameState.beforeMove && !GameState.attackSelect) // if unit has yet to move, display the overall move and attack range of unit
-                            {
-                                // Highlight movable nodes in blue
-                                foreach (Node move in GameState.moveableNodes)
-                                {
-                                    spriteBatch.Draw(moveableNode, move.getPosition(), null, Color.White * 0.2f, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.9f);
-                                }
+            {
+                // Highlight movable nodes in blue
+                foreach (Node move in GameState.moveableNodes)
+                {
+                    spriteBatch.Draw(moveableNode, move.getPosition(), null, Color.White * 0.2f, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.9f);
+                }
 
-                                // Highlight attackable nodes in red
-                                LinkedList<Node> attackableNodes = GameFunction.getAttackableNodes(graph, unit);
+                // Highlight attackable nodes in red
+                LinkedList<Node> attackableNodes = GameFunction.getAttackableNodes(graph, unit);
 
-                                foreach (Node attack in attackableNodes)
-                                {
-                                    if ((!GameState.moveableNodes.Contains(attack)) && (attack.unitOnNode != unit) && (!attack.isObstacle))
-                                    {
-                                        spriteBatch.Draw(attackableNode, attack.getPosition(), null, Color.White * 0.2f, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.9f);
-                                    }
-                                }
+                foreach (Node attack in attackableNodes)
+                {
+                    if ((!GameState.moveableNodes.Contains(attack)) && (attack.unitOnNode != unit) && (!attack.isObstacle))
+                    {
+                        spriteBatch.Draw(attackableNode, attack.getPosition(), null, Color.White * 0.2f, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.9f);
+                    }
+                }
 
-                            }
-                            else // else if unit has already moved, only display the attack range
-                            {
-                                LinkedList<Node> attackableNodes = GameFunction.getAttackRangeAfterMoving(graph, unit);
-                                foreach (Node attack in attackableNodes)
-                                {
-                                    spriteBatch.Draw(attackableNode, attack.getPosition(), null, Color.White * 0.2f, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.9f);
-                                }
-                            }
+            }
+            else // else if unit has already moved, only display the attack range
+            {
+                LinkedList<Node> attackableNodes = GameFunction.getAttackRangeAfterMoving(graph, unit);
+                foreach (Node attack in attackableNodes)
+                {
+                    spriteBatch.Draw(attackableNode, attack.getPosition(), null, Color.White * 0.2f, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.9f);
+                }
+            }
         }
 
         public static void drawDropDownMenu(SpriteBatch spriteBatch)
         {
             Unit unit = GameState.selectedUnit;
-            
-                unit.setButtonCoordinates(unit.PixelCoordinates);
-
-                Button[] unitButtons = unit.getButtons();
-                for (int i = 0; i < 4; i++)
+            unit.setButtonCoordinates(unit.PixelCoordinates);
+            Button[] unitButtons = unit.getButtons();
+            for (int i = 0; i < 4; i++)
+            {
+                if (unitButtons[i].Active)
                 {
-                    if (unitButtons[i].Active)
-                    {
-                        spriteBatch.Draw(unitButtons[i].getImage(), unitButtons[i].getPixelCoordinates(), null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0f);
-                    }
+                    spriteBatch.Draw(unitButtons[i].getImage(), unitButtons[i].getPixelCoordinates(), null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0f);
                 }
-
-            
+            }
         }
 
         public static void drawInventoryMenu(SpriteBatch spriteBatch, SpriteFont font)
         {
             Unit unit = GameState.selectedUnit;
-            if (GameState.inventoryOpen)
-            {
-                unit.setButtonCoordinates(unit.PixelCoordinates); //update button positions
+            unit.setButtonCoordinates(unit.PixelCoordinates); //update button positions
 
-                Button[] unitButtons = unit.getButtons(); //for each inventory button
-                for (int i = 5; i < 9; i++)
+            Button[] unitButtons = unit.getButtons(); //for each inventory button
+            for (int i = 5; i < 9; i++)
+            {
+                if (unitButtons[i].Active) //if inventory menu buttons are active
                 {
-                    if (unitButtons[i].Active) //if inventory menu buttons are active
+                    if (unitButtons[i].hasItem) //if current menu button actually has an item stored in it
                     {
-                        if (unitButtons[i].hasItem) //if current menu button actually has an item stored in it
-                        {
-                            spriteBatch.DrawString(font, unitButtons[i].weapon.name.ToString(), unitButtons[i].getPixelCoordinates() + (new Vector2(15, 5)), Color.Black, 0,
-                                Vector2.Zero, 1f, SpriteEffects.None, 0f); //draws item stored in unitButtons[i]
-                            spriteBatch.Draw(unitButtons[i].getImage(), unitButtons[i].getPixelCoordinates(), null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.1f);
-                        }
+                        spriteBatch.DrawString(font, unitButtons[i].weapon.name.ToString(), unitButtons[i].getPixelCoordinates() + (new Vector2(15, 5)), Color.Black, 0,
+                            Vector2.Zero, 1f, SpriteEffects.None, 0f); //draws item stored in unitButtons[i]
+                        spriteBatch.Draw(unitButtons[i].getImage(), unitButtons[i].getPixelCoordinates(), null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.1f);
                     }
                 }
             }
+
         }
         public static void drawUnitsAtGameOver(SpriteBatch spriteBatch, Player player1, Player player2)
         {
-            if (GameState.gameOver)
-            {
                 // draws faded units
 
                 #region Player 1 Units
@@ -142,15 +134,14 @@ namespace View
                     }
                 }
                 #endregion
-            }
+            
         }
 
         public static void drawEndTurnButton(SpriteBatch spriteBatch, Texture2D endTurnButton)
         {
-            if (GameState.endTurnButton)
-            {
+            
                 spriteBatch.Draw(endTurnButton, GameState.endTurnButtonLocation, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0);
-            }
+            
         }
 
         private static bool findAttackType(Unit unit1)
@@ -167,8 +158,7 @@ namespace View
 
         public static void drawAttackConfirm(SpriteBatch spriteBatch, SpriteFont font, SpriteFont largeFont, SpriteFont largestFont, Player player1, Graph graph)
         {
-            if (GameState.attackConfirmOpen && !GameState.isAnimating)
-            {
+            
                 Unit unit = GameState.selectedUnit;
                 Unit attackedUnit = GameState.unitToAttack;
                 Button confirmButton = unit.getButtonType(ButtonType.AttackConfirm);
@@ -233,7 +223,7 @@ namespace View
                     }
                 }
                 spriteBatch.Draw(confirmButton.getImage(), confirmButton.getPixelCoordinates(), null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.8f);
-            }
+            
         }
 
         public static void drawInfoScreen(SpriteBatch spriteBatch, Player player1, SpriteFont font, SpriteFont largeFont)
@@ -293,20 +283,18 @@ namespace View
 
         public static void drawGameOverMenu(SpriteBatch spriteBatch, Texture2D gameOver, Texture2D backGround, SpriteFont largestFont)
         {
-            if (GameState.gameOver)
-            {
+            
                 Vector2 gameOverLocation = new Vector2(-370, -300);
                 spriteBatch.DrawString(largestFont, "Game Over", new Vector2(350, 200), Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0f); //draws Game Over Text
                 spriteBatch.Draw(gameOver, Vector2.Zero, null, Color.White, 0, gameOverLocation, 1f, SpriteEffects.None, 0f);
                 spriteBatch.Draw(backGround, Vector2.Zero, null, Color.Black * 0.5f, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.9f);
 
-            }
+            
         }
 
         public static void drawTurnTransition(SpriteBatch spriteBatch, Texture2D player1Transition, Texture2D player2Transition, Player player1)
         {
-            if (GameState.transitionTurn)
-            {
+            
                 if (GameState.currentPlayer == player1)
                 {
                     spriteBatch.Draw(player1Transition, Vector2.Zero, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.7f); //draw turn transition 
@@ -316,6 +304,6 @@ namespace View
                     spriteBatch.Draw(player2Transition, Vector2.Zero, null, Color.White, 0, Vector2.Zero, 1f, SpriteEffects.None, 0.7f); //draw turn transition 
                 }
             }
-        }
+        
     }
 }