public void draw(Graphics2D graphics, int screenX, int screenY) {
        intX = (int) (player.position.X + player.dblWidth / 2) + screenX;
        intY = (int) (player.position.Y + player.dblHeight / 2) + screenY;
        FontMetrics metrics = null;
        int width;
        //Draw when player alive
        if (!player.blnDead) {
            //Secondary
            for (int i = 0; i < player.dblWeaponMaxVelocity2 / 2; i += player.dblWeaponMaxVelocity2 / 15) {
                graphics.setColor(new Color(255, 0, 0, (int) (255 - i * (255 / player.dblWeaponMaxVelocity2 * 2))));
                graphics.drawOval((int) (intX - player.dblWeaponMaxVelocity2 + i), (int) (intY - player.dblWeaponMaxVelocity2 + i), (int) (player.dblWeaponMaxVelocity2 * 2 - i * 2), (int) (player.dblWeaponMaxVelocity2 * 2 - i * 2));
            }
            //Primary
            for (int i = 0; i < player.dblWeaponMaxVelocity1 / 2; i += player.dblWeaponMaxVelocity1 / 15) {
                graphics.setColor(new Color(0, 255, 0, (int) (255 - i * (255 / player.dblWeaponMaxVelocity1 * 2))));
                graphics.drawOval((int) (intX - player.dblWeaponMaxVelocity1 + i), (int) (intY - player.dblWeaponMaxVelocity1 + i), (int) (player.dblWeaponMaxVelocity1 * 2 - i * 2), (int) (player.dblWeaponMaxVelocity1 * 2 - i * 2));
            }
        } else { //Draw death screen
            graphics.setColor(new Color(0, 0, 0, 175));
            graphics.fillRect(0, 0, panel.getWidth(), panel.getHeight());

            graphics.setFont(new Font("Callibri", Font.BOLD, 50));
            // get metrics from the graphics
            metrics = graphics.getFontMetrics(graphics.getFont());
            // get text width
            width = metrics.stringWidth("You died! :(");
            graphics.setColor(Color.white);
            graphics.drawString("You died! :(", (int) (panel.getWidth() / 2 - width / 2), (int) (panel.getHeight() / 5));
            //Print Respawn Counter
            width = metrics.stringWidth("Respawning in " + intRespawnCounter + "...");
            graphics.drawString("Respawning in " + intRespawnCounter + "...", (int) (panel.getWidth() / 2 - width / 2), (int) (panel.getHeight() * 4 / 5));
        }
        //Draw Score
        Player tPlayer = null;
        intTeam1Score = 0;
        intTeam2Score = 0;
        graphics.setFont(new Font("Callibri",Font.PLAIN,16));
        for(int i = 0; i < playerlist.size(); i++){
        	tPlayer = playerlist.get(i);
        	if(tPlayer.intTeam == 1){
        		graphics.setColor(Color.BLUE);
        		intTeam1Score += tPlayer.intKills - tPlayer.intDeaths;
        	}else if(tPlayer.intTeam == 2){
        		graphics.setColor(Color.RED);
        		intTeam2Score += tPlayer.intKills - tPlayer.intDeaths;
        	}else{
        		graphics.setColor(Color.BLACK);
        	}
        	graphics.drawString(tPlayer.strName + " - K: " + tPlayer.intKills + " D: " + tPlayer.intDeaths, 10,60+20*i);
        }
        //Draw Team Score, if not free for all
        if(tPlayer.intTeam != 3){
        	graphics.setFont(new Font("Callibri",Font.BOLD,20));
        	graphics.setColor(Color.BLUE);
        	graphics.drawString("Team 1: "+intTeam1Score, 10,20);
        	graphics.setColor(Color.RED);
        	graphics.drawString("Team 2: "+intTeam2Score, 10,40);
        }
        //Draw Game Time
        graphics.setFont(new Font("Callibri", Font.PLAIN, 30));
        // get metrics from the graphics
        metrics = graphics.getFontMetrics(graphics.getFont());
        // get text width
        width = metrics.stringWidth("Time: "+panel.intTimeSeconds);
        graphics.setColor(Color.BLACK);
        graphics.drawString("Time: "+panel.intTimeSeconds, (int) (panel.getWidth() / 2 - width / 2), (int) (panel.getHeight() / 10));
        
        //Draw end screen
        if(blnEnd){
        	graphics.setColor(new Color(0, 0, 0, 175));
            graphics.fillRect(0, 0, panel.getWidth(), panel.getHeight());

            graphics.setFont(new Font("Callibri", Font.BOLD, 50));
            // get metrics from the graphics
            metrics = graphics.getFontMetrics(graphics.getFont());
            // get text width
            width = metrics.stringWidth("Game Over");
            graphics.setColor(Color.white);
            graphics.drawString("Game Over", (int) (panel.getWidth() / 2 - width / 2), (int) (panel.getHeight() / 5));
            
            graphics.setFont(new Font("Callibri", Font.PLAIN, 50));
            // get metrics from the graphics
            metrics = graphics.getFontMetrics(graphics.getFont());
            
            if(strWinner.equals("DrawGame2ffef233029j")){
            	width = metrics.stringWidth("Draw Game");
            	graphics.drawString("Draw Game", (int) (panel.getWidth() / 2 - width / 2), (int) (panel.getHeight() / 5 + 60));
            }else{
            	width = metrics.stringWidth(strWinner + " has won!");
            	graphics.drawString(strWinner + " has won!", (int) (panel.getWidth() / 2 - width / 2), (int) (panel.getHeight() / 5 + 60));
            }
        }
    }