Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 65.81 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. import java.awt.Color;
  2. import java.awt.Container;
  3. import java.awt.Dimension;
  4. import java.awt.Font;
  5. import java.awt.Graphics;
  6. import java.awt.Graphics2D;
  7. import java.awt.Insets;
  8. import java.awt.Point;
  9. import java.awt.Rectangle;
  10. import java.awt.RenderingHints;
  11. import java.awt.event.ActionEvent;
  12. import java.awt.event.ActionListener;
  13. import java.awt.event.KeyEvent;
  14. import java.io.BufferedReader;
  15. import java.io.BufferedWriter;
  16. import java.io.IOException;
  17. import java.io.InputStreamReader;
  18. import java.net.URL;
  19. import java.net.URLConnection;
  20. import java.text.DecimalFormat;
  21. import java.util.Map;
  22.  
  23. import javax.swing.DefaultComboBoxModel;
  24. import javax.swing.JButton;
  25. import javax.swing.JComboBox;
  26. import javax.swing.JFrame;
  27. import javax.swing.JLabel;
  28. import javax.swing.JOptionPane;
  29. import javax.swing.WindowConstants;
  30.  
  31. import org.rsbot.bot.Bot;
  32. import org.rsbot.bot.input.Mouse;
  33. import org.rsbot.event.events.ServerMessageEvent;
  34. import org.rsbot.event.listeners.PaintListener;
  35. import org.rsbot.event.listeners.ServerMessageListener;
  36. import org.rsbot.script.Calculations;
  37. import org.rsbot.script.Constants;
  38. import org.rsbot.script.Script;
  39. import org.rsbot.script.ScriptManifest;
  40. import org.rsbot.script.wrappers.RSInterface;
  41. import org.rsbot.script.wrappers.RSInterfaceChild;
  42. import org.rsbot.script.wrappers.RSItemTile;
  43. import org.rsbot.script.wrappers.RSNPC;
  44. import org.rsbot.script.wrappers.RSObject;
  45. import org.rsbot.script.wrappers.RSTile;
  46. import org.rsbot.util.ScreenshotUtil;
  47.  
  48. @ScriptManifest(authors = { "Gribonn53", "Max2413" }, category = "Woodcutting", name = "Gribonn's Yews Chopper", version = 2.7, description = "Settings are in GUI")
  49. public class GibsYewChopper extends Script implements PaintListener,
  50.                 ServerMessageListener {
  51.  
  52.         public ScriptManifest info = getClass().getAnnotation(ScriptManifest.class);
  53.         public DecimalFormat df = new DecimalFormat("#");
  54.         public String status = "";
  55.         public String location = "";
  56.         public int treeID = 1309;
  57.         public int[] hatchetID = { 1351, 1349, 1353, 1361, 1355, 1357, 1359, 4031,
  58.                         6739, 13470, 14108 };
  59.         public int[] bankBoothID = { 11758, 11402, 34752, 35647, 2213, 25808, 2213,
  60.                         26972, 27663, 4483, 14367, 19230, 29085, 12759, 6084, 24914 };
  61.         public int[] nestID = { 5070, 5071, 5072, 5073, 5074, 5075, 5076, 7413,
  62.                         11966 };
  63.  
  64.         public int[] bankerID = {  44, 45, 494, 495, 499, 958, 1036, 2271, 2354, 2355, 3824, 5488, 5901, 5912, 5913, 6362, 6532, 6533, 6534, 6535, 7605, 8948, 14367};
  65.         public int logs = 0;
  66.         public int levels = 0;
  67.         public int yewID = 1515;
  68.         public int prevTreeE = 0;
  69.         public int profit;
  70.         public int startexp;
  71.         public int timer = 0;
  72.         public int antiBanRate;
  73.         public int yewCost = grandExchange.loadItemInfo(yewID).getMarketPrice();
  74.         public int yewXP;
  75.         public long startTime;
  76.         public int y;
  77.         public int yMenu;
  78.         public boolean showPaint, showAveraging, showGained, showStatInfo,
  79.                         end = false, maySayHi = true, chatResponder, paintTop = true,
  80.                         paintAdvanced = true, added = false;
  81.         public boolean guiWait = true, guiExit;
  82.         GYCGUI gui;
  83.         public RSTile midTree1 = new RSTile(2935, 3226);
  84.         public RSTile midTree2 = new RSTile(2936, 3230);
  85.         public RSTile midTree3 = new RSTile(2934, 3234);
  86.         public RSTile midTree4 = new RSTile(2941, 3233);
  87.         public RSTile midTree5 = new RSTile(3205, 3504);
  88.         public RSTile midTree6 = new RSTile(3210, 3504);
  89.         public RSTile midTree7 = new RSTile(3222, 3503);
  90.         public RSTile midTree8 = new RSTile(2715, 3460);
  91.         public RSTile midTree9 = new RSTile(2706, 3460);
  92.         public RSTile midTree10 = new RSTile(2706, 3465);
  93.         public RSTile midTree11 = new RSTile(2766, 3428);
  94.         public RSTile midTree12 = new RSTile(2760, 3428);
  95.         public RSTile midTree13 = new RSTile(2761, 3432);
  96.         public RSTile midTree14 = new RSTile(2758, 3434);
  97.         public RSTile midTree15 = new RSTile(2756, 3431);
  98.         public RSTile midTree16 = new RSTile(2755, 3434);
  99.         public RSTile midTree17 = new RSTile(3086, 3469);
  100.         public RSTile midTree18 = new RSTile(3086, 3481);
  101.         public RSTile banktileR = new RSTile(3014, 3355);
  102.         public RSTile treetileR = new RSTile(2938, 3231);
  103.         public RSTile banktileGE = new RSTile(3168, 3489);
  104.         public RSTile treetileGE = new RSTile(3215, 3500);
  105.         public RSTile banktileS = new RSTile(2726, 3491);
  106.         public RSTile treetileS = new RSTile(2710, 3462);
  107.         public RSTile banktileC = new RSTile(2809, 3440);
  108.         public RSTile treetileC = new RSTile(2760, 3430);
  109.         public RSTile banktileE = new RSTile(3093, 3492);
  110.         public RSTile treetileE = new RSTile(3087, 3472);
  111.         public RSTile[] bankToYewsR = { new RSTile(3013, 3358),
  112.                         new RSTile(3008, 3349), new RSTile(3006, 3334),
  113.                         new RSTile(3005, 3319), new RSTile(2996, 3308),
  114.                         new RSTile(2986, 3296), new RSTile(2977, 3284),
  115.                         new RSTile(2972, 3270), new RSTile(2964, 3260),
  116.                         new RSTile(2958, 3247), new RSTile(2945, 3238),
  117.                         new RSTile(2938, 3232) };
  118.         public RSTile[] yewsToBankR = reversePath(bankToYewsR);
  119.         public RSTile[] bankToYewsGE = { new RSTile(3168, 3489),
  120.                         new RSTile(3180, 3488), new RSTile(3191, 3488),
  121.                         new RSTile(3196, 3494), new RSTile(3202, 3502) };
  122.         public RSTile[] yewsToBankGE = reversePath(bankToYewsGE);
  123.         public RSTile[] yewsToBankS = { new RSTile(2715, 3463),
  124.                         new RSTile(2722, 3474), new RSTile(2724, 3485),
  125.                         new RSTile(2726, 3491) };
  126.         public RSTile[] bankToYewsS = reversePath(yewsToBankS);
  127.         public RSTile[] yewsToBankC = { new RSTile(2763, 3431),
  128.                         new RSTile(2774, 3435), new RSTile(2785, 3435),
  129.                         new RSTile(2794, 3434), new RSTile(2804, 3435),
  130.                         new RSTile(2809, 3440) };
  131.         public RSTile[] bankToYewsC = reversePath(yewsToBankC);
  132.         public RSTile[] yewsToBankE = { new RSTile(3087, 3472),
  133.                         new RSTile(3094, 3478), new RSTile(3093, 3492) };
  134.         public RSTile[] bankToYewsE = reversePath(yewsToBankE);
  135.  
  136.         @Override
  137.         protected int getMouseSpeed() {
  138.                 return random(4, 6);
  139.         }
  140.  
  141.         public boolean onStart(Map<String, String> args) {
  142.                 URLConnection url = null;
  143.                 BufferedReader in = null;
  144.                 BufferedWriter out = null;
  145.                 try {
  146.                         url = new URL(
  147.                                         "http://gribonn53.webs.com/scripts/GibsYewsChopperVersion.txt")
  148.                                         .openConnection();
  149.                         in = new BufferedReader(new InputStreamReader(url.getInputStream()));
  150.                         if (Double.parseDouble(in.readLine()) > info.version()) {
  151.                                 JOptionPane
  152.                                                 .showMessageDialog(null,
  153.                                                                 "Update found. Please check the thread to get newer version");
  154.                         } else
  155.                                 in.close();
  156.                         if (out != null)
  157.                                 out.close();
  158.                 } catch (IOException e) {
  159.                         log("Problem getting version");
  160.                 }
  161.                 gui = new GYCGUI();
  162.                 gui.setVisible(true);
  163.                 while (guiWait) {
  164.                         wait(100);
  165.                 }
  166.                 startTime = System.currentTimeMillis();
  167.                 return !guiExit;
  168.         }
  169.  
  170.         public void onFinish() {
  171.                 end = true;
  172.                 showGained = true;
  173.                 wait(10);
  174.                 ScreenshotUtil.takeScreenshot(true);
  175.                 long millis = System.currentTimeMillis() - startTime;
  176.                 long hours = millis / (1000 * 60 * 60);
  177.                 millis -= hours * (1000 * 60 * 60);
  178.                 long minutes = millis / (1000 * 60);
  179.                 millis -= minutes * (1000 * 60);
  180.                 long seconds = millis / 1000;
  181.                 log("Thank You for using Gribonns Yew Chopper!");
  182.                 log("Time ran: " + hours + ":" + minutes + ":" + seconds);
  183.                 log("Logs cut: " + logs);
  184.                 log("Levels Gained: " + levels);
  185.                 log("Profit got: " + profit);
  186.         }
  187.  
  188.         @Override
  189.         public int loop() {
  190.                 if (chatResponder == true) {
  191.                         chatResponderFunc();
  192.                 }
  193.                 if (isInventoryFull()) {
  194.                         if (atBank()) {
  195.                                 bank();
  196.                         } else {
  197.                                 toBank();
  198.                         }
  199.                 }
  200.                 if (!isInventoryFull()) {
  201.                         if (atTrees()) {
  202.                                 chop();
  203.                         } else {
  204.                                 toTrees();
  205.                         }
  206.                 }
  207.                 if (timer <= 250 && timer >= 1) {
  208.                         maySayHi = false;
  209.                         timer++;
  210.                 } else if (timer >= 251) {
  211.                         maySayHi = true;
  212.                         timer = 0;
  213.                 }
  214.                 return random(100, 250);
  215.         }
  216.  
  217.         // METHODS
  218.  
  219.         public boolean atBank() {
  220.                 if (location.equals("Rimmington")) {
  221.                         return distanceTo(banktileR) <= 7;
  222.                 }
  223.                 if (location.equals("Grand Exchange")) {
  224.                         return distanceTo(banktileGE) <= 7;
  225.                 }
  226.                 if (location.equals("Seers Village")) {
  227.                         return distanceTo(banktileS) <= 7;
  228.                 }
  229.                 if (location.equals("Catherby")) {
  230.                         return distanceTo(banktileC) <= 7;
  231.                 }
  232.                 if (location.equals("Edgeville")) {
  233.                         return distanceTo(banktileE) <= 7;
  234.                 }
  235.                 return false;
  236.         }
  237.  
  238.         public boolean atTrees() {
  239.                 if (location.equals("Rimmington")) {
  240.                         return distanceTo(treetileR) <= 10;
  241.                 }
  242.                 if (location.equals("Grand Exchange")) {
  243.                         return distanceTo(treetileGE) <= 15;
  244.                 }
  245.                 if (location.equals("Seers Village")) {
  246.                         return distanceTo(treetileS) <= 10;
  247.                 }
  248.                 if (location.equals("Catherby")) {
  249.                         return distanceTo(treetileC) <= 10;
  250.                 }
  251.                 if (location.equals("Edgeville")) {
  252.                         return distanceTo(treetileE) <= 10;
  253.                 }
  254.                 return false;
  255.         }
  256.  
  257.         public void antiBan() {
  258.                 int randomNumber = random(1, antiBanRate);
  259.                 if (randomNumber <= 18) {
  260.                         if (antiBanRate != 18) {
  261.                                 status = "Antiban";
  262.                         }
  263.                         if (randomNumber == 1) {
  264.                                 setCameraRotation(random(1, 360));
  265.                         }
  266.                         if (randomNumber == 2) {
  267.                                 moveMouse(random(50, 700), random(50, 450), 2, 2);
  268.                         }
  269.                         if (randomNumber == 3) {
  270.                                 setCameraRotation(random(1, 360));
  271.                                 moveMouse(random(50, 700), random(50, 450), 2, 2);
  272.                         }
  273.                         if (randomNumber == 4) {
  274.                                 moveMouse(random(50, 700), random(50, 450), 2, 2);
  275.                                 setCameraRotation(random(1, 360));
  276.                                 moveMouse(random(50, 700), random(50, 450), 2, 2);
  277.                         }
  278.                         if (randomNumber == 5) {
  279.                                 setCameraUpDown();
  280.                         }
  281.                         if (randomNumber == 6) {
  282.                                 if (random(1, 2) == 1) {
  283.                                         moveMouse(random(50, 700), random(50, 450), 2, 2);
  284.                                         setCameraUpDown();
  285.                                         setCameraRotation(random(1, 360));
  286.                                 } else {
  287.                                         setCameraRotation(random(1, 360));
  288.                                         setCameraUpDown();
  289.                                         moveMouse(random(50, 700), random(50, 450), 2, 2);
  290.                                 }
  291.                         }
  292.                         if (randomNumber == 7) {
  293.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_DOWN);
  294.                                 wait(random(1, 100));
  295.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_LEFT);
  296.                                 wait(random(1, 1000));
  297.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_LEFT);
  298.                                 wait(random(1, 100));
  299.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_DOWN);
  300.                         }
  301.                         if (randomNumber == 8) {
  302.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_UP);
  303.                                 wait(random(1, 100));
  304.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_RIGHT);
  305.                                 wait(random(1, 1000));
  306.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_RIGHT);
  307.                                 wait(random(1, 100));
  308.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_UP);
  309.                         }
  310.                         if (randomNumber == 9) {
  311.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_UP);
  312.                                 wait(random(1, 100));
  313.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_LEFT);
  314.                                 wait(random(1, 1000));
  315.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_LEFT);
  316.                                 wait(random(1, 100));
  317.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_UP);
  318.                         }
  319.                         if (randomNumber == 10) {
  320.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_DOWN);
  321.                                 wait(random(1, 100));
  322.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_RIGHT);
  323.                                 wait(random(1, 1000));
  324.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_RIGHT);
  325.                                 wait(random(1, 100));
  326.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_DOWN);
  327.                         }
  328.                         if (randomNumber == 11) {
  329.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_UP);
  330.                                 wait(random(1, 100));
  331.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_RIGHT);
  332.                                 wait(random(1, 1000));
  333.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_UP);
  334.                                 wait(random(1, 100));
  335.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_RIGHT);
  336.                         }
  337.                         if (randomNumber == 12) {
  338.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_UP);
  339.                                 wait(random(1, 100));
  340.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_LEFT);
  341.                                 wait(random(1, 1000));
  342.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_UP);
  343.                                 wait(random(1, 100));
  344.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_LEFT);
  345.                         }
  346.                         if (randomNumber == 13) {
  347.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_DOWN);
  348.                                 wait(random(1, 100));
  349.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_RIGHT);
  350.                                 wait(random(1, 1000));
  351.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_DOWN);
  352.                                 wait(random(1, 100));
  353.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_RIGHT);
  354.                         }
  355.                         if (randomNumber == 14) {
  356.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_DOWN);
  357.                                 wait(random(1, 100));
  358.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_LEFT);
  359.                                 wait(random(1, 1000));
  360.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_DOWN);
  361.                                 wait(random(1, 100));
  362.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_LEFT);
  363.                         }
  364.                         if (randomNumber == 15) {
  365.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_RIGHT);
  366.                                 wait(random(1, 100));
  367.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_UP);
  368.                                 wait(random(1, 1000));
  369.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_UP);
  370.                                 wait(random(1, 100));
  371.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_RIGHT);
  372.                         }
  373.                         if (randomNumber == 16) {
  374.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_LEFT);
  375.                                 wait(random(1, 100));
  376.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_DOWN);
  377.                                 wait(random(1, 1000));
  378.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_DOWN);
  379.                                 wait(random(1, 100));
  380.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_LEFT);
  381.                         }
  382.                         if (randomNumber == 17) {
  383.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_LEFT);
  384.                                 wait(random(1, 100));
  385.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_UP);
  386.                                 wait(random(1, 1000));
  387.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_UP);
  388.                                 wait(random(1, 100));
  389.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_LEFT);
  390.                         }
  391.                         if (randomNumber == 18) {
  392.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_RIGHT);
  393.                                 wait(random(1, 100));
  394.                                 Bot.getInputManager().pressKey((char) KeyEvent.VK_UP);
  395.                                 wait(random(1, 1000));
  396.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_UP);
  397.                                 wait(random(1, 100));
  398.                                 Bot.getInputManager().releaseKey((char) KeyEvent.VK_RIGHT);
  399.                         }
  400.                 }
  401.                 int randomnumber2 = random(1, 200);
  402.                 if (randomnumber2 == 1) {
  403.                         if (getCurrentTab() != TAB_STATS) {
  404.                                 openTab(TAB_STATS);
  405.                                 wait(random(100, 200));
  406.                                 moveMouse(random(675, 731), random(351, 373), 2, 2);
  407.                                 wait(random(750, 1000));
  408.                                 openTab(TAB_INVENTORY);
  409.                         }
  410.                 }
  411.         }
  412.  
  413.         public void setCameraUpDown() {
  414.                 final int random = random(1, 2);
  415.                 if (random == 2) {
  416.                         Bot.getInputManager().pressKey((char) KeyEvent.VK_DOWN);
  417.                         wait(random(1, 1500));
  418.                         Bot.getInputManager().releaseKey((char) KeyEvent.VK_DOWN);
  419.                 } else if (random == 1) {
  420.                         Bot.getInputManager().pressKey((char) KeyEvent.VK_UP);
  421.                         wait(random(1, 1500));
  422.                         Bot.getInputManager().releaseKey((char) KeyEvent.VK_UP);
  423.                 }
  424.         }
  425.  
  426.         public boolean atTree(final String action) {
  427.                 try {
  428.                         final RSObject yew = getNearestObjectByID(treeID);
  429.                         if (location.equals("Rimmington")) {
  430.                                 if (distanceBetween(yew.getLocation(), midTree1) <= 1) {
  431.                                         if (distanceTo(midTree1) >= 4 && getMyPlayer().isIdle()) {
  432.                                                 setRun(true);
  433.                                                 walkTo(midTree1);
  434.                                         }
  435.                                         atTile(midTree1, action);
  436.                                         return false;
  437.                                 }
  438.                                 if (distanceBetween(yew.getLocation(), midTree2) <= 1) {
  439.                                         if (distanceTo(midTree2) >= 4 && getMyPlayer().isIdle()) {
  440.                                                 setRun(true);
  441.                                                 walkTo(midTree2);
  442.                                         }
  443.                                         atTile(midTree2, action);
  444.                                         return false;
  445.                                 }
  446.                                 if (distanceBetween(yew.getLocation(), midTree3) <= 1) {
  447.                                         if (distanceTo(midTree3) >= 4 && getMyPlayer().isIdle()) {
  448.                                                 setRun(true);
  449.                                                 walkTo(midTree3);
  450.                                         }
  451.                                         atTile(midTree3, action);
  452.                                         return false;
  453.                                 }
  454.                                 if (distanceBetween(yew.getLocation(), midTree4) <= 1) {
  455.                                         if (distanceTo(midTree4) >= 4 && getMyPlayer().isIdle()) {
  456.                                                 setRun(true);
  457.                                                 walkTo(midTree4);
  458.                                         }
  459.                                         atTile(midTree4, action);
  460.                                         return false;
  461.                                 }
  462.                         }
  463.                         if (location.equals("Grand Exchange")) {
  464.                                 if (distanceBetween(yew.getLocation(), midTree5) <= 1) {
  465.                                         if (distanceTo(midTree5) >= 4 && getMyPlayer().isIdle()) {
  466.                                                 setRun(true);
  467.                                                 walkTo(midTree5);
  468.                                         }
  469.                                         atTile(midTree5, action);
  470.                                         return false;
  471.                                 }
  472.                                 if (distanceBetween(yew.getLocation(), midTree6) <= 1) {
  473.                                         if (distanceTo(midTree6) >= 4 && getMyPlayer().isIdle()) {
  474.                                                 setRun(true);
  475.                                                 walkTo(midTree6);
  476.                                         }
  477.                                         atTile(midTree6, action);
  478.                                         return false;
  479.                                 }
  480.                                 if (distanceBetween(yew.getLocation(), midTree7) <= 1) {
  481.                                         if (distanceTo(midTree7) >= 4 && getMyPlayer().isIdle()) {
  482.                                                 setRun(true);
  483.                                                 walkTo(midTree7);
  484.                                         }
  485.                                         atTile(midTree7, action);
  486.                                         return false;
  487.                                 }
  488.                         }
  489.                         if (location.equals("Seers Village")) {
  490.                                 if (distanceBetween(yew.getLocation(), midTree8) <= 1) {
  491.                                         if (distanceTo(midTree8) >= 4 && getMyPlayer().isIdle()) {
  492.                                                 setRun(true);
  493.                                                 walkTo(midTree8);
  494.                                         }
  495.                                         atTile(midTree8, action);
  496.                                         return false;
  497.                                 }
  498.                                 if (distanceBetween(yew.getLocation(), midTree9) <= 1) {
  499.                                         if (distanceTo(midTree9) >= 4 && getMyPlayer().isIdle()) {
  500.                                                 setRun(true);
  501.                                                 walkTo(midTree9);
  502.                                         }
  503.                                         atTile(midTree9, action);
  504.                                         return false;
  505.                                 }
  506.                                 if (distanceBetween(yew.getLocation(), midTree10) <= 1) {
  507.                                         if (distanceTo(midTree10) >= 4 && getMyPlayer().isIdle()) {
  508.                                                 setRun(true);
  509.                                                 walkTo(midTree10);
  510.                                         }
  511.                                         atTile(midTree10, action);
  512.                                         return false;
  513.                                 }
  514.                         }
  515.                         if (location.equals("Catherby")) {
  516.                                 if (distanceBetween(yew.getLocation(), midTree11) <= 1) {
  517.                                         if (distanceTo(midTree11) >= 4 && getMyPlayer().isIdle()) {
  518.                                                 setRun(true);
  519.                                                 walkTo(midTree11);
  520.                                         }
  521.                                         atTile(midTree11, action);
  522.                                         return false;
  523.                                 }
  524.                                 if (distanceBetween(yew.getLocation(), midTree12) <= 1) {
  525.                                         if (distanceTo(midTree12) >= 4 && getMyPlayer().isIdle()) {
  526.                                                 setRun(true);
  527.                                                 walkTo(new RSTile(2759, 3431));
  528.                                         }
  529.                                         atTile(midTree12, action);
  530.                                         return false;
  531.                                 }
  532.                                 if (distanceBetween(yew.getLocation(), midTree13) <= 1) {
  533.                                         if (distanceTo(midTree13) >= 4 && getMyPlayer().isIdle()) {
  534.                                                 setRun(true);
  535.                                                 walkTo(new RSTile(2759, 3431));
  536.                                         }
  537.                                         atTile(midTree13, action);
  538.                                         return false;
  539.                                 }
  540.                                 if (distanceBetween(yew.getLocation(), midTree14) <= 1) {
  541.                                         if (distanceTo(midTree14) >= 4 && getMyPlayer().isIdle()) {
  542.                                                 setRun(true);
  543.                                                 walkTo(new RSTile(2759, 3431));
  544.                                         }
  545.                                         atTile(midTree14, action);
  546.                                         return false;
  547.                                 }
  548.                                 if (distanceBetween(yew.getLocation(), midTree15) <= 1) {
  549.                                         if (distanceTo(midTree15) >= 4 && getMyPlayer().isIdle()) {
  550.                                                 setRun(true);
  551.                                                 walkTo(new RSTile(2759, 3431));
  552.                                         }
  553.                                         atTile(midTree15, action);
  554.                                         return false;
  555.                                 }
  556.                                 if (distanceBetween(yew.getLocation(), midTree16) <= 1) {
  557.                                         if (distanceTo(midTree16) >= 4 && getMyPlayer().isIdle()) {
  558.                                                 setRun(true);
  559.                                                 walkTo(new RSTile(2754, 3431));
  560.                                         }
  561.                                         atTile(midTree16, action);
  562.                                         return false;
  563.                                 }
  564.                         }
  565.                         if (location.equals("Edgeville")) {
  566.                                 if (distanceBetween(yew.getLocation(), midTree17) <= 1) {
  567.                                         prevTreeE = 1;
  568.                                         if (distanceTo(midTree17) >= 4 && getMyPlayer().isIdle()) {
  569.                                                 setRun(true);
  570.                                                 walkTo(new RSTile(3086, 3471));
  571.                                         }
  572.                                         atTile(midTree17, action);
  573.                                         return false;
  574.                                 }
  575.                                 if (distanceBetween(yew.getLocation(), midTree18) <= 1) {
  576.                                         prevTreeE = 2;
  577.                                         if (distanceTo(midTree18) >= 4 && getMyPlayer().isIdle()) {
  578.                                                 setRun(true);
  579.                                                 walkTo(new RSTile(3086, 3479));
  580.                                         }
  581.                                         atTile(midTree18, action);
  582.                                         return false;
  583.                                 }
  584.                         }
  585.                 } catch (Exception e) {
  586.                         log("Something went wrong, but it didn't stop the script");
  587.                 }
  588.                 return true;
  589.         }
  590.  
  591.         public boolean chatResponderFunc() {
  592.                 try {
  593.                         final int random = random(1, 13);
  594.                         String message = "";
  595.                         String userName = "";
  596.                         RSInterface chatinterface = RSInterface.getInterface(137);
  597.                         for (RSInterfaceChild child : chatinterface.getChildren()) {
  598.                                 if (child.getText().contains("<col=0000ff>")) {
  599.                                         String user = child.getText().substring(0,
  600.                                                         child.getText().indexOf(":"));
  601.                                         String text = child.getText().substring(
  602.                                                         child.getText().indexOf("<col=0000ff>") + 12);
  603.                                         message = text.toLowerCase();
  604.                                         userName = user.toLowerCase();
  605.                                 }
  606.                         }
  607.                         if (userName.contains(getMyPlayer().getName().toLowerCase()) == false) {
  608.                                 if (message.contains("wc") || message.contains("wood")
  609.                                                 || message.contains("cut")) {
  610.                                         if (message.contains("lvl") || message.contains("levl")
  611.                                                         || message.contains("level")) {
  612.                                                 if (message.contains("?") || message.equals("wc lvls")
  613.                                                                 || message.equals("wc lvl")
  614.                                                                 || message.equals("wc level")
  615.                                                                 || message.equals("woodcutting level")
  616.                                                                 || message.equals("wc levels")
  617.                                                                 || message.equals("woodcutting levels")) {
  618.                                                         if (random == 1) {
  619.                                                                 sendText(
  620.                                                                                 "My wc lvl is "
  621.                                                                                                 + skills
  622.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  623.                                                                                 true);
  624.                                                                 log("ChatResponder answered to " + userName
  625.                                                                                 + ": '" + message + "'");
  626.                                                                 log("ChatResponder's answer: 'My wc lvl is "
  627.                                                                                 + skills
  628.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  629.                                                                                 + "'");
  630.                                                         } else if (random == 2) {
  631.                                                                 sendText(
  632.                                                                                 "My woodcutting level is "
  633.                                                                                                 + skills
  634.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  635.                                                                                 true);
  636.                                                                 log("ChatResponder answered to " + userName
  637.                                                                                 + ": '" + message + "'");
  638.                                                                 log("ChatResponder's answer: 'My woodcutting level is "
  639.                                                                                 + skills
  640.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  641.                                                                                 + "'");
  642.                                                         } else if (random == 3) {
  643.                                                                 sendText(
  644.                                                                                 ""
  645.                                                                                                 + skills
  646.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  647.                                                                                 true);
  648.                                                                 log("ChatResponder answered to " + userName
  649.                                                                                 + ": '" + message + "'");
  650.                                                                 log("ChatResponder's answer: '"
  651.                                                                                 + skills
  652.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  653.                                                                                 + "'");
  654.                                                         } else if (random == 4) {
  655.                                                                 sendText(
  656.                                                                                 "Mines "
  657.                                                                                                 + skills
  658.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  659.                                                                                 true);
  660.                                                                 log("ChatResponder answered to " + userName
  661.                                                                                 + ": '" + message + "'");
  662.                                                                 log("ChatResponder's answer: 'Mines "
  663.                                                                                 + skills
  664.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  665.                                                                                 + "'");
  666.                                                         } else if (random == 5) {
  667.                                                                 sendText(
  668.                                                                                 "My woodcuttin level is "
  669.                                                                                                 + skills
  670.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  671.                                                                                 true);
  672.                                                                 log("ChatResponder answered to " + userName
  673.                                                                                 + ": '" + message + "'");
  674.                                                                 log("ChatResponder's answer: 'My woodcuttin level is "
  675.                                                                                 + skills
  676.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  677.                                                                                 + "'");
  678.                                                         } else if (random == 6) {
  679.                                                                 sendText(
  680.                                                                                 "My woodcutting is "
  681.                                                                                                 + skills
  682.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  683.                                                                                 true);
  684.                                                                 log("ChatResponder answered to " + userName
  685.                                                                                 + ": '" + message + "'");
  686.                                                                 log("ChatResponder's answer: 'My woodcutting is "
  687.                                                                                 + skills
  688.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  689.                                                                                 + "'");
  690.                                                         } else if (random == 7) {
  691.                                                                 sendText(
  692.                                                                                 "Mine woodcutting is "
  693.                                                                                                 + skills
  694.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  695.                                                                                 true);
  696.                                                                 log("ChatResponder answered to " + userName
  697.                                                                                 + ": '" + message + "'");
  698.                                                                 log("ChatResponder's answer: 'Mine woodcutting is "
  699.                                                                                 + skills
  700.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  701.                                                                                 + "'");
  702.                                                         } else if (random == 8) {
  703.                                                                 sendText(
  704.                                                                                 "My wc level is "
  705.                                                                                                 + skills
  706.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  707.                                                                                 true);
  708.                                                                 log("ChatResponder answered to " + userName
  709.                                                                                 + ": '" + message + "'");
  710.                                                                 log("ChatResponder's answer: 'My wc level is "
  711.                                                                                 + skills
  712.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  713.                                                                                 + "'");
  714.                                                         } else if (random == 9) {
  715.                                                                 sendText(
  716.                                                                                 "My woodcutting lvl is "
  717.                                                                                                 + skills
  718.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  719.                                                                                 true);
  720.                                                                 log("ChatResponder answered to " + userName
  721.                                                                                 + ": '" + message + "'");
  722.                                                                 log("ChatResponder's answer: 'My woodcutting lvl is "
  723.                                                                                 + skills
  724.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  725.                                                                                 + "'");
  726.                                                         } else if (random == 10) {
  727.                                                                 sendText(
  728.                                                                                 "My wc is "
  729.                                                                                                 + skills
  730.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  731.                                                                                 true);
  732.                                                                 log("ChatResponder answered to " + userName
  733.                                                                                 + ": '" + message + "'");
  734.                                                                 log("ChatResponder's answer: 'My wc is "
  735.                                                                                 + skills
  736.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  737.                                                                                 + "'");
  738.                                                         } else if (random == 11) {
  739.                                                                 sendText(
  740.                                                                                 "My wc level is "
  741.                                                                                                 + skills
  742.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  743.                                                                                 true);
  744.                                                                 log("ChatResponder answered to " + userName
  745.                                                                                 + ": '" + message + "'");
  746.                                                                 log("ChatResponder's answer: 'My wc level is "
  747.                                                                                 + skills
  748.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  749.                                                                                 + "'");
  750.                                                         } else if (random == 12) {
  751.                                                                 sendText(
  752.                                                                                 "Mines wc lvl is "
  753.                                                                                                 + skills
  754.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  755.                                                                                 true);
  756.                                                                 log("ChatResponder answered to " + userName
  757.                                                                                 + ": '" + message + "'");
  758.                                                                 log("ChatResponder's answer: 'Mines wc lvl is "
  759.                                                                                 + skills
  760.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  761.                                                                                 + "'");
  762.                                                         } else if (random == 13) {
  763.                                                                 sendText(
  764.                                                                                 "The wc of mine is "
  765.                                                                                                 + skills
  766.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  767.                                                                                 true);
  768.                                                                 log("ChatResponder answered to " + userName
  769.                                                                                 + ": '" + message + "'");
  770.                                                                 log("ChatResponder's answer: 'The wc of mine is "
  771.                                                                                 + skills
  772.                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING)
  773.                                                                                 + "'");
  774.                                                         }
  775.                                                 }
  776.                                         }
  777.                                 } else if (message.contains("boting")
  778.                                                 || message.contains("botting")
  779.                                                 || message.contains("bottting")
  780.                                                 || message.contains("botttting")
  781.                                                 || message.contains("bottttting")
  782.                                                 || message.contains("botin")
  783.                                                 || message.contains("bottin")) {
  784.                                         if (message.contains("?")
  785.                                                         || message.contains(getMyPlayer().getName()
  786.                                                                         .toLowerCase())
  787.                                                         || message.contains("tough")) {
  788.                                                 final int random3 = random(1, 7);
  789.                                                 if (random3 == 1) {
  790.                                                         sendText("no, why?", true);
  791.                                                         log("ChatResponder answered to " + userName + ": '"
  792.                                                                         + message + "'");
  793.                                                         log("ChatResponder's answer: 'No, why?'");
  794.                                                 } else if (random3 == 2) {
  795.                                                         sendText("no, ignoring", true);
  796.                                                         log("ChatResponder answered to " + userName + ": '"
  797.                                                                         + message + "'");
  798.                                                         log("ChatResponder's answer: 'No, ignoring'");
  799.                                                 } else if (random3 == 3) {
  800.                                                         sendText("no, why do u think that?", true);
  801.                                                         log("ChatResponder answered to " + userName + ": '"
  802.                                                                         + message + "'");
  803.                                                         log("ChatResponder's answer: 'No, why do u think that?'");
  804.                                                 } else if (random3 == 4) {
  805.                                                         sendText("no, just ignoring", true);
  806.                                                         log("ChatResponder answered to " + userName + ": '"
  807.                                                                         + message + "'");
  808.                                                         log("ChatResponder's answer: 'No, just ignoring'");
  809.                                                 } else if (random3 == 5) {
  810.                                                         sendText("no", true);
  811.                                                         log("ChatResponder answered to " + userName + ": '"
  812.                                                                         + message + "'");
  813.                                                         log("ChatResponder's answer: 'No'");
  814.                                                 } else if (random3 == 6) {
  815.                                                         sendText("lol, no", true);
  816.                                                         log("ChatResponder answered to " + userName + ": '"
  817.                                                                         + message + "'");
  818.                                                         log("ChatResponder's answer: 'Lol, no'");
  819.                                                 } else if (random3 == 7) {
  820.                                                         sendText("nope", true);
  821.                                                         log("ChatResponder answered to " + userName + ": '"
  822.                                                                         + message + "'");
  823.                                                         log("ChatResponder's answer: 'Nope'");
  824.                                                 }
  825.                                         }
  826.                                 } else if (message.contains("sup")
  827.                                                 || message.contains("what's up")
  828.                                                 || message.contains("whats up")
  829.                                                 || message.contains("wat's up")
  830.                                                 || message.contains("wats up")) {
  831.                                         final int random3 = random(1, 5);
  832.                                         if (random3 == 1) {
  833.                                                 sendText("nthin", true);
  834.                                                 log("ChatResponder answered to " + userName + ": '"
  835.                                                                 + message + "'");
  836.                                                 log("ChatResponder's answer: 'Nthin'");
  837.                                         } else if (random3 == 2) {
  838.                                                 sendText("nothing", true);
  839.                                                 log("ChatResponder answered to " + userName + ": '"
  840.                                                                 + message + "'");
  841.                                                 log("ChatResponder's answer: 'Nothing'");
  842.                                         } else if (random3 == 3) {
  843.                                                 sendText("woodcuttin", true);
  844.                                                 log("ChatResponder answered to " + userName + ": '"
  845.                                                                 + message + "'");
  846.                                                 log("ChatResponder's answer: 'Woodcuttin'");
  847.                                         } else if (random3 == 4) {
  848.                                                 sendText("wcing", true);
  849.                                                 log("ChatResponder answered to " + userName + ": '"
  850.                                                                 + message + "'");
  851.                                                 log("ChatResponder's answer: 'Wcing'");
  852.                                         } else if (random3 == 5) {
  853.                                                 sendText("just wcing", true);
  854.                                                 log("ChatResponder answered to " + userName + ": '"
  855.                                                                 + message + "'");
  856.                                                 log("ChatResponder's answer: 'Just wcing'");
  857.                                         }
  858.                                 } else if (message.equals("hi") || message.equals("hello")
  859.                                                 || message.equals("hello!") || message.equals("hello.")
  860.                                                 || message.equals("hi!") || message.equals("hi.")) {
  861.                                         final int random2 = random(1, 6);
  862.                                         if (maySayHi == true) {
  863.                                                 if (random2 == 1) {
  864.                                                         sendText("hi!", true);
  865.                                                         log("ChatResponder answered to " + userName + ": '"
  866.                                                                         + message + "'");
  867.                                                         log("ChatResponder's answer: 'Hi!'");
  868.                                                 } else if (random2 == 2) {
  869.                                                         sendText("hi.", true);
  870.                                                         log("ChatResponder answered to " + userName + ": '"
  871.                                                                         + message + "'");
  872.                                                         log("ChatResponder's answer: 'Hi.'");
  873.                                                 } else if (random2 == 3) {
  874.                                                         sendText("hi", true);
  875.                                                         log("ChatResponder answered to " + userName + ": '"
  876.                                                                         + message + "'");
  877.                                                         log("ChatResponder's answer: 'Hi'");
  878.                                                 } else if (random2 == 4) {
  879.                                                         sendText("hello!", true);
  880.                                                         log("ChatResponder answered to " + userName + ": '"
  881.                                                                         + message + "'");
  882.                                                         log("ChatResponder's answer: 'Hello!'");
  883.                                                 } else if (random2 == 5) {
  884.                                                         sendText("hello.", true);
  885.                                                         log("ChatResponder answered to " + userName + ": '"
  886.                                                                         + message + "'");
  887.                                                         log("ChatResponder's answer: 'Hello.'");
  888.                                                 } else if (random2 == 6) {
  889.                                                         sendText("hello", true);
  890.                                                         log("ChatResponder answered to " + userName + ": '"
  891.                                                                         + message + "'");
  892.                                                         log("ChatResponder's answer: 'Hello'");
  893.                                                 }
  894.                                                 timer = 1;
  895.                                         }
  896.                                 } else if (message.equals(getMyPlayer().getName().toLowerCase()
  897.                                                 + "?")
  898.                                                 || message.equals(getMyPlayer().getName().toLowerCase()
  899.                                                                 + "=")
  900.                                                 || message.contains(getMyPlayer().getName()
  901.                                                                 .toLowerCase())
  902.                                                 || message.contains(getMyPlayer().getName()
  903.                                                                 .toLowerCase()
  904.                                                                 + " ")
  905.                                                 || message.contains(" "
  906.                                                                 + getMyPlayer().getName().toLowerCase())) {
  907.                                         final int random2 = random(1, 6);
  908.                                         if (random2 == 1) {
  909.                                                 sendText("what?", true);
  910.                                                 log("ChatResponder answered to " + userName + ": '"
  911.                                                                 + message + "'");
  912.                                                 log("ChatResponder's answer: 'What?'");
  913.                                         } else if (random2 == 2) {
  914.                                                 sendText("?", true);
  915.                                                 log("ChatResponder answered to " + userName + ": '"
  916.                                                                 + message + "'");
  917.                                                 log("ChatResponder's answer: '?'");
  918.                                         } else if (random2 == 3) {
  919.                                                 sendText("wat?", true);
  920.                                                 log("ChatResponder answered to " + userName + ": '"
  921.                                                                 + message + "'");
  922.                                                 log("ChatResponder's answer: 'wat?'");
  923.                                         }
  924.                                 } else if (message.contains(getMyPlayer().getName()
  925.                                                 .toLowerCase())) {
  926.                                         final int random2 = random(1, 2);
  927.                                         if (random2 == 1) {
  928.                                                 sendText("i dont wanna talk with you", true);
  929.                                                 log("ChatResponder answered to " + userName + ": '"
  930.                                                                 + message + "'");
  931.                                                 log("ChatResponder's answer: 'I dont wanna talk with you'");
  932.                                         } else if (random2 == 1) {
  933.                                                 sendText("i not want to talk with you", true);
  934.                                                 log("ChatResponder answered to " + userName + ": '"
  935.                                                                 + message + "'");
  936.                                                 log("ChatResponder's answer: 'I not want to talk with you'");
  937.                                         }
  938.                                 }
  939.                         }
  940.                 } catch (Exception e) {
  941.  
  942.                 }
  943.                 return true;
  944.         }
  945.  
  946.         public boolean chop() {
  947.                 final RSItemTile nest = getNearestGroundItemByID(nestID);
  948.                 if (nest != null) {
  949.                         if (isInventoryFull() == false) {
  950.                                 status = "Picking nest";
  951.                                 atTile(nest, "Take");
  952.                                 wait(random(500, 600));
  953.                         }
  954.                 } else {
  955.                         if (getMyPlayer().getAnimation() == 2846
  956.                                         || getMyPlayer().getAnimation() == 867) {
  957.                                 status = "Chopping";
  958.                                 antiBan();
  959.                                 wait(random(500, 1000));
  960.                         }
  961.                         if (getMyPlayer().getAnimation() != 2846
  962.                                         && getMyPlayer().getAnimation() != 867) {
  963.                                 status = "Waiting";
  964.                                 if (location.equals("Grand Exchange")) {
  965.                                         final RSObject yew = getNearestObjectByID(treeID);
  966.                                         if (yew == null) {
  967.                                                 if (distanceTo(new RSTile(3213, 3501)) > 2) {
  968.                                                         walkTo(new RSTile(3213, 3501));
  969.                                                 } else {
  970.                                                         antiBan();
  971.                                                 }
  972.                                         }
  973.                                 } else if (location.equals("Edgeville")) {
  974.                                         final RSObject yew = getNearestObjectByID(treeID);
  975.                                         if (yew == null) {
  976.                                                 if (prevTreeE == 1) {
  977.                                                         if (distanceTo(new RSTile(3086, 3478)) >= 3
  978.                                                                         && getMyPlayer().isIdle()) {
  979.                                                                 walkTo(new RSTile(3086, 3478));
  980.                                                         } else {
  981.                                                                 antiBan();
  982.                                                         }
  983.                                                 } else if (prevTreeE == 2) {
  984.                                                         if (distanceTo(new RSTile(3086, 3472)) >= 3
  985.                                                                         && getMyPlayer().isIdle()) {
  986.                                                                 walkTo(new RSTile(3086, 3472));
  987.                                                         } else {
  988.                                                                 antiBan();
  989.                                                         }
  990.                                                 }
  991.                                         }
  992.                                 } else {
  993.                                         antiBan();
  994.                                 }
  995.                                 wait(random(500, 1000));
  996.                         }
  997.                         if (!(getMyPlayer().getAnimation() == 2846 || getMyPlayer()
  998.                                         .getAnimation() == 867)) {
  999.                                 final RSObject yew = getNearestObjectByID(treeID);
  1000.                                 if (yew != null) {
  1001.                                         atTree("Chop down Yew");
  1002.                                         wait(random(300, 700));
  1003.                                 }
  1004.                         }
  1005.                 }
  1006.                 return true;
  1007.         }
  1008.  
  1009.         public int toBank() {
  1010.                 if (!isIdle()) {
  1011.                         antiBan();
  1012.                 }
  1013.                 status = ("Walking to bank");
  1014.                 if (getEnergy() >= 65) {
  1015.                         setRun(true);
  1016.                 }
  1017.                 if (location.equals("Rimmington")) {
  1018.                         if (distanceTo(getDestination()) < random(5, 12)
  1019.                                         || distanceTo(getDestination()) > 40) {
  1020.                                 if (!walkPathMM(yewsToBankR)) {
  1021.                                         walkToClosestTile(randomizePath(yewsToBankR, 2, 2));
  1022.                                         return random(150, 300);
  1023.                                 }
  1024.                         }
  1025.                 }
  1026.                 if (location.equals("Grand Exchange")) {
  1027.                         if (distanceTo(getDestination()) < random(5, 12)
  1028.                                         || distanceTo(getDestination()) > 40) {
  1029.                                 if (!walkPathMM(yewsToBankGE)) {
  1030.                                         walkToClosestTile(randomizePath(yewsToBankGE, 2, 2));
  1031.                                         return random(150, 300);
  1032.                                 }
  1033.                         }
  1034.                 }
  1035.                 if (location.equals("Seers Village")) {
  1036.                         if (distanceTo(getDestination()) < random(5, 12)
  1037.                                         || distanceTo(getDestination()) > 40) {
  1038.                                 if (!walkPathMM(yewsToBankS)) {
  1039.                                         walkToClosestTile(randomizePath(yewsToBankS, 2, 2));
  1040.                                         return random(150, 300);
  1041.                                 }
  1042.                         }
  1043.                 }
  1044.                 if (location.equals("Catherby")) {
  1045.                         if (distanceTo(getDestination()) < random(5, 12)
  1046.                                         || distanceTo(getDestination()) > 40) {
  1047.                                 if (!walkPathMM(yewsToBankC)) {
  1048.                                         walkToClosestTile(randomizePath(yewsToBankC, 2, 2));
  1049.                                         return random(150, 300);
  1050.                                 }
  1051.                         }
  1052.                 }
  1053.                 if (location.equals("Edgeville")) {
  1054.                         if (distanceTo(getDestination()) < random(5, 12)
  1055.                                         || distanceTo(getDestination()) > 40) {
  1056.                                 if (!walkPathMM(yewsToBankE)) {
  1057.                                         walkToClosestTile(randomizePath(yewsToBankE, 2, 2));
  1058.                                         return random(150, 300);
  1059.                                 }
  1060.                         }
  1061.                 }
  1062.                 return random(100, 250);
  1063.         }
  1064.  
  1065.         public int toTrees() {
  1066.                 if (!isIdle()) {
  1067.                         antiBan();
  1068.                 }
  1069.                 status = ("Walking to yews");
  1070.                 if (getEnergy() >= 65) {
  1071.                         setRun(true);
  1072.                 }
  1073.                 if (location.equals("Rimmington")) {
  1074.                         if (distanceTo(getDestination()) < random(5, 12)
  1075.                                         || distanceTo(getDestination()) > 40) {
  1076.                                 if (!walkPathMM(randomizePath(bankToYewsR, 2, 2))) {
  1077.                                         walkToClosestTile(randomizePath(bankToYewsR, 2, 2));
  1078.                                         return random(150, 300);
  1079.                                 }
  1080.                         }
  1081.                 }
  1082.                 if (location.equals("Grand Exchange")) {
  1083.                         if (distanceTo(getDestination()) < random(5, 12)
  1084.                                         || distanceTo(getDestination()) > 40) {
  1085.                                 if (!walkPathMM(randomizePath(bankToYewsGE, 2, 2))) {
  1086.                                         walkToClosestTile(randomizePath(bankToYewsGE, 2, 2));
  1087.                                         return random(150, 300);
  1088.                                 }
  1089.                         }
  1090.                 }
  1091.                 if (location.equals("Seers Village")) {
  1092.                         if (distanceTo(getDestination()) < random(5, 12)
  1093.                                         || distanceTo(getDestination()) > 40) {
  1094.                                 if (!walkPathMM(randomizePath(bankToYewsS, 2, 2))) {
  1095.                                         walkToClosestTile(randomizePath(bankToYewsS, 2, 2));
  1096.                                         return random(150, 300);
  1097.                                 }
  1098.                         }
  1099.                 }
  1100.                 if (location.equals("Catherby")) {
  1101.                         if (distanceTo(getDestination()) < random(5, 12)
  1102.                                         || distanceTo(getDestination()) > 30) {
  1103.                                 if (!walkPathMM(randomizePath(bankToYewsC, 2, 2))) {
  1104.                                         walkToClosestTile(randomizePath(bankToYewsC, 2, 2));
  1105.                                         return random(150, 300);
  1106.                                 }
  1107.                         }
  1108.                 }
  1109.                 if (location.equals("Edgeville")) {
  1110.                         if (distanceTo(getDestination()) < random(5, 12)
  1111.                                         || distanceTo(getDestination()) > 30) {
  1112.                                 if (!walkPathMM(randomizePath(bankToYewsE, 2, 2))) {
  1113.                                         walkToClosestTile(randomizePath(bankToYewsE, 2, 2));
  1114.                                         return random(150, 300);
  1115.                                 }
  1116.                         }
  1117.                 }
  1118.                 return random(100, 250);
  1119.         }
  1120.  
  1121.         public int bank() {
  1122.                 status = "Banking";
  1123.                 if (bank.isOpen()) {
  1124.                         bank.depositAllExcept(hatchetID);
  1125.                         wait(random(800, 1000));
  1126.                 }
  1127.                 if (!(bank.isOpen())) {
  1128.                         final RSObject bankBooth = getNearestObjectByID(bankBoothID);
  1129.                         final RSNPC bankNPC = getNearestNPCByID(bankerID);
  1130.                         if (isIdle()) {
  1131.                                 if (!location.equals("Grand Exchange")) {
  1132.                                         try {
  1133.                                                 if (bankBooth != null) {
  1134.                                                         atObject(bankBooth, "Use-Quickly");
  1135.                                                         wait(random(500, 600));
  1136.                                                 }
  1137.                                         } catch (Exception e) {
  1138.                                         }
  1139.                                 } else {
  1140.                                         try {
  1141.                                                 if (bankNPC != null) {
  1142.                                                         atNPC(bankNPC, "Bank Banker");
  1143.                                                         wait(random(500, 600));
  1144.                                                 }
  1145.                                         } catch (Exception e) {
  1146.                                         }
  1147.                                 }
  1148.                         }
  1149.                 }
  1150.                 return random(150, 350);
  1151.         }
  1152.  
  1153.         public void drawMyLocation(final Graphics g, final Color borderColor,
  1154.                         final Color color) {
  1155.                 final RSTile Myloc = getMyPlayer().getLocation();
  1156.                 if (!bank.isOpen()) {
  1157.                         Calculations.tileToScreen(Myloc);
  1158.                         final Point I = Calculations.tileToScreen(Myloc.getX(), Myloc
  1159.                                         .getY(), 0, 0, 0);
  1160.                         final Point II = Calculations.tileToScreen(Myloc.getX() + 1, Myloc
  1161.                                         .getY(), 0, 0, 0);
  1162.                         final Point III = Calculations.tileToScreen(Myloc.getX(), Myloc
  1163.                                         .getY() + 1, 0, 0, 0);
  1164.                         final Point IV = Calculations.tileToScreen(Myloc.getX() + 1, Myloc
  1165.                                         .getY() + 1, 0, 0, 0);
  1166.                         getMyPlayer().getHeight();
  1167.                         g.setColor(borderColor);
  1168.                         g.drawPolygon(new int[] { III.x, IV.x, II.x, I.x }, new int[] {
  1169.                                         III.y, IV.y, II.y, I.y }, 4);
  1170.                         g.setColor(color);
  1171.                         g.fillPolygon(new int[] { III.x, IV.x, II.x, I.x }, new int[] {
  1172.                                         III.y, IV.y, II.y, I.y }, 4);
  1173.                 }
  1174.         }
  1175.  
  1176.         public void drawCurrentTree(final Graphics g, final Color borderColor,
  1177.                         final Color color) {
  1178.                 final RSObject yew = getNearestObjectByID(treeID);
  1179.                 RSTile Treeloc = null;
  1180.                 RSTile Treeloc2 = null;
  1181.                 RSTile Treeloc3 = null;
  1182.                 RSTile Treeloc4 = null;
  1183.                 RSTile Treeloc5 = null;
  1184.                 RSTile Treeloc6 = null;
  1185.                 RSTile Treeloc7 = null;
  1186.                 RSTile Treeloc8 = null;
  1187.                 RSTile Treeloc9 = null;
  1188.                 try {
  1189.                         if (yew != null && !bank.isOpen()) {
  1190.                                 if (location.equals("Rimmington")) {
  1191.                                         if (distanceBetween(yew.getLocation(), midTree1) <= 1) {
  1192.                                                 Treeloc = midTree1;
  1193.                                                 Treeloc2 = new RSTile(midTree1.getX() - 1, midTree1
  1194.                                                                 .getY());
  1195.                                                 Treeloc3 = new RSTile(midTree1.getX(),
  1196.                                                                 midTree1.getY() - 1);
  1197.                                                 Treeloc4 = new RSTile(midTree1.getX() - 1, midTree1
  1198.                                                                 .getY() - 1);
  1199.                                                 Treeloc5 = new RSTile(midTree1.getX() + 1, midTree1
  1200.                                                                 .getY());
  1201.                                                 Treeloc6 = new RSTile(midTree1.getX(),
  1202.                                                                 midTree1.getY() + 1);
  1203.                                                 Treeloc7 = new RSTile(midTree1.getX() + 1, midTree1
  1204.                                                                 .getY() + 1);
  1205.                                                 Treeloc8 = new RSTile(midTree1.getX() - 1, midTree1
  1206.                                                                 .getY() + 1);
  1207.                                                 Treeloc9 = new RSTile(midTree1.getX() + 1, midTree1
  1208.                                                                 .getY() - 1);
  1209.                                         }
  1210.                                         if (distanceBetween(yew.getLocation(), midTree2) <= 1) {
  1211.                                                 Treeloc = midTree2;
  1212.                                                 Treeloc2 = new RSTile(midTree2.getX() - 1, midTree2
  1213.                                                                 .getY());
  1214.                                                 Treeloc3 = new RSTile(midTree2.getX(),
  1215.                                                                 midTree2.getY() - 1);
  1216.                                                 Treeloc4 = new RSTile(midTree2.getX() - 1, midTree2
  1217.                                                                 .getY() - 1);
  1218.                                                 Treeloc5 = new RSTile(midTree2.getX() + 1, midTree2
  1219.                                                                 .getY());
  1220.                                                 Treeloc6 = new RSTile(midTree2.getX(),
  1221.                                                                 midTree2.getY() + 1);
  1222.                                                 Treeloc7 = new RSTile(midTree2.getX() + 1, midTree2
  1223.                                                                 .getY() + 1);
  1224.                                                 Treeloc8 = new RSTile(midTree2.getX() - 1, midTree2
  1225.                                                                 .getY() + 1);
  1226.                                                 Treeloc9 = new RSTile(midTree2.getX() + 1, midTree2
  1227.                                                                 .getY() - 1);
  1228.                                         }
  1229.                                         if (distanceBetween(yew.getLocation(), midTree3) <= 1) {
  1230.                                                 Treeloc = midTree3;
  1231.                                                 Treeloc2 = new RSTile(midTree3.getX() - 1, midTree3
  1232.                                                                 .getY());
  1233.                                                 Treeloc3 = new RSTile(midTree3.getX(),
  1234.                                                                 midTree3.getY() - 1);
  1235.                                                 Treeloc4 = new RSTile(midTree3.getX() - 1, midTree3
  1236.                                                                 .getY() - 1);
  1237.                                                 Treeloc5 = new RSTile(midTree3.getX() + 1, midTree3
  1238.                                                                 .getY());
  1239.                                                 Treeloc6 = new RSTile(midTree3.getX(),
  1240.                                                                 midTree3.getY() + 1);
  1241.                                                 Treeloc7 = new RSTile(midTree3.getX() + 1, midTree3
  1242.                                                                 .getY() + 1);
  1243.                                                 Treeloc8 = new RSTile(midTree3.getX() - 1, midTree3
  1244.                                                                 .getY() + 1);
  1245.                                                 Treeloc9 = new RSTile(midTree3.getX() + 1, midTree3
  1246.                                                                 .getY() - 1);
  1247.                                         }
  1248.                                         if (distanceBetween(yew.getLocation(), midTree4) <= 1) {
  1249.                                                 Treeloc = midTree4;
  1250.                                                 Treeloc2 = new RSTile(midTree4.getX() - 1, midTree4
  1251.                                                                 .getY());
  1252.                                                 Treeloc3 = new RSTile(midTree4.getX(),
  1253.                                                                 midTree4.getY() - 1);
  1254.                                                 Treeloc4 = new RSTile(midTree4.getX() - 1, midTree4
  1255.                                                                 .getY() - 1);
  1256.                                                 Treeloc5 = new RSTile(midTree4.getX() + 1, midTree4
  1257.                                                                 .getY());
  1258.                                                 Treeloc6 = new RSTile(midTree4.getX(),
  1259.                                                                 midTree4.getY() + 1);
  1260.                                                 Treeloc7 = new RSTile(midTree4.getX() + 1, midTree4
  1261.                                                                 .getY() + 1);
  1262.                                                 Treeloc8 = new RSTile(midTree4.getX() - 1, midTree4
  1263.                                                                 .getY() + 1);
  1264.                                                 Treeloc9 = new RSTile(midTree4.getX() + 1, midTree4
  1265.                                                                 .getY() - 1);
  1266.                                         }
  1267.                                 }
  1268.                                 if (location.equals("Grand Exchange")) {
  1269.                                         if (distanceBetween(yew.getLocation(), midTree5) <= 1) {
  1270.                                                 Treeloc = midTree5;
  1271.                                                 Treeloc2 = new RSTile(midTree4.getX() - 1, midTree4
  1272.                                                                 .getY());
  1273.                                                 Treeloc3 = new RSTile(midTree4.getX(),
  1274.                                                                 midTree4.getY() - 1);
  1275.                                                 Treeloc4 = new RSTile(midTree4.getX() - 1, midTree4
  1276.                                                                 .getY() - 1);
  1277.                                                 Treeloc5 = new RSTile(midTree4.getX() + 1, midTree4
  1278.                                                                 .getY());
  1279.                                                 Treeloc6 = new RSTile(midTree4.getX(),
  1280.                                                                 midTree4.getY() + 1);
  1281.                                                 Treeloc7 = new RSTile(midTree4.getX() + 1, midTree4
  1282.                                                                 .getY() + 1);
  1283.                                                 Treeloc8 = new RSTile(midTree4.getX() - 1, midTree4
  1284.                                                                 .getY() + 1);
  1285.                                                 Treeloc9 = new RSTile(midTree4.getX() + 1, midTree4
  1286.                                                                 .getY() - 1);
  1287.                                         }
  1288.                                         if (distanceBetween(yew.getLocation(), midTree6) <= 1) {
  1289.                                                 Treeloc = midTree6;
  1290.                                                 Treeloc2 = new RSTile(midTree6.getX() - 1, midTree6
  1291.                                                                 .getY());
  1292.                                                 Treeloc3 = new RSTile(midTree6.getX(),
  1293.                                                                 midTree6.getY() - 1);
  1294.                                                 Treeloc4 = new RSTile(midTree6.getX() - 1, midTree6
  1295.                                                                 .getY() - 1);
  1296.                                                 Treeloc5 = new RSTile(midTree6.getX() + 1, midTree6
  1297.                                                                 .getY());
  1298.                                                 Treeloc6 = new RSTile(midTree6.getX(),
  1299.                                                                 midTree6.getY() + 1);
  1300.                                                 Treeloc7 = new RSTile(midTree6.getX() + 1, midTree6
  1301.                                                                 .getY() + 1);
  1302.                                                 Treeloc8 = new RSTile(midTree6.getX() - 1, midTree6
  1303.                                                                 .getY() + 1);
  1304.                                                 Treeloc9 = new RSTile(midTree6.getX() + 1, midTree6
  1305.                                                                 .getY() - 1);
  1306.                                         }
  1307.                                         if (distanceBetween(yew.getLocation(), midTree7) <= 1) {
  1308.                                                 Treeloc = midTree7;
  1309.                                                 Treeloc2 = new RSTile(midTree7.getX() - 1, midTree7
  1310.                                                                 .getY());
  1311.                                                 Treeloc3 = new RSTile(midTree7.getX(),
  1312.                                                                 midTree7.getY() - 1);
  1313.                                                 Treeloc4 = new RSTile(midTree7.getX() - 1, midTree7
  1314.                                                                 .getY() - 1);
  1315.                                                 Treeloc5 = new RSTile(midTree7.getX() + 1, midTree7
  1316.                                                                 .getY());
  1317.                                                 Treeloc6 = new RSTile(midTree7.getX(),
  1318.                                                                 midTree7.getY() + 1);
  1319.                                                 Treeloc7 = new RSTile(midTree7.getX() + 1, midTree7
  1320.                                                                 .getY() + 1);
  1321.                                                 Treeloc8 = new RSTile(midTree7.getX() - 1, midTree7
  1322.                                                                 .getY() + 1);
  1323.                                                 Treeloc9 = new RSTile(midTree7.getX() + 1, midTree7
  1324.                                                                 .getY() - 1);
  1325.                                         }
  1326.                                 }
  1327.                                 if (location.equals("Seers Village")) {
  1328.                                         if (distanceBetween(yew.getLocation(), midTree8) <= 1) {
  1329.                                                 Treeloc = midTree8;
  1330.                                                 Treeloc2 = new RSTile(midTree8.getX() - 1, midTree8
  1331.                                                                 .getY());
  1332.                                                 Treeloc3 = new RSTile(midTree8.getX(),
  1333.                                                                 midTree8.getY() - 1);
  1334.                                                 Treeloc4 = new RSTile(midTree8.getX() - 1, midTree8
  1335.                                                                 .getY() - 1);
  1336.                                                 Treeloc5 = new RSTile(midTree8.getX() + 1, midTree8
  1337.                                                                 .getY());
  1338.                                                 Treeloc6 = new RSTile(midTree8.getX(),
  1339.                                                                 midTree8.getY() + 1);
  1340.                                                 Treeloc7 = new RSTile(midTree8.getX() + 1, midTree8
  1341.                                                                 .getY() + 1);
  1342.                                                 Treeloc8 = new RSTile(midTree8.getX() - 1, midTree8
  1343.                                                                 .getY() + 1);
  1344.                                                 Treeloc9 = new RSTile(midTree8.getX() + 1, midTree8
  1345.                                                                 .getY() - 1);
  1346.                                         }
  1347.                                         if (distanceBetween(yew.getLocation(), midTree9) <= 1) {
  1348.                                                 Treeloc = midTree9;
  1349.                                                 Treeloc2 = new RSTile(midTree9.getX() - 1, midTree9
  1350.                                                                 .getY());
  1351.                                                 Treeloc3 = new RSTile(midTree9.getX(),
  1352.                                                                 midTree9.getY() - 1);
  1353.                                                 Treeloc4 = new RSTile(midTree9.getX() - 1, midTree9
  1354.                                                                 .getY() - 1);
  1355.                                                 Treeloc5 = new RSTile(midTree9.getX() + 1, midTree9
  1356.                                                                 .getY());
  1357.                                                 Treeloc6 = new RSTile(midTree9.getX(),
  1358.                                                                 midTree9.getY() + 1);
  1359.                                                 Treeloc7 = new RSTile(midTree9.getX() + 1, midTree9
  1360.                                                                 .getY() + 1);
  1361.                                                 Treeloc8 = new RSTile(midTree9.getX() - 1, midTree9
  1362.                                                                 .getY() + 1);
  1363.                                                 Treeloc9 = new RSTile(midTree9.getX() + 1, midTree9
  1364.                                                                 .getY() - 1);
  1365.                                         }
  1366.                                         if (distanceBetween(yew.getLocation(), midTree10) <= 1) {
  1367.                                                 Treeloc = midTree10;
  1368.                                                 Treeloc2 = new RSTile(midTree10.getX() - 1, midTree10
  1369.                                                                 .getY());
  1370.                                                 Treeloc3 = new RSTile(midTree10.getX(), midTree10
  1371.                                                                 .getY() - 1);
  1372.                                                 Treeloc4 = new RSTile(midTree10.getX() - 1, midTree10
  1373.                                                                 .getY() - 1);
  1374.                                                 Treeloc5 = new RSTile(midTree10.getX() + 1, midTree10
  1375.                                                                 .getY());
  1376.                                                 Treeloc6 = new RSTile(midTree10.getX(), midTree10
  1377.                                                                 .getY() + 1);
  1378.                                                 Treeloc7 = new RSTile(midTree10.getX() + 1, midTree10
  1379.                                                                 .getY() + 1);
  1380.                                                 Treeloc8 = new RSTile(midTree10.getX() - 1, midTree10
  1381.                                                                 .getY() + 1);
  1382.                                                 Treeloc9 = new RSTile(midTree10.getX() + 1, midTree10
  1383.                                                                 .getY() - 1);
  1384.                                         }
  1385.                                 }
  1386.                                 if (location.equals("Catherby")) {
  1387.                                         if (distanceBetween(yew.getLocation(), midTree11) <= 1) {
  1388.                                                 Treeloc = midTree11;
  1389.                                                 Treeloc2 = new RSTile(midTree11.getX() - 1, midTree11
  1390.                                                                 .getY());
  1391.                                                 Treeloc3 = new RSTile(midTree11.getX(), midTree11
  1392.                                                                 .getY() - 1);
  1393.                                                 Treeloc4 = new RSTile(midTree11.getX() - 1, midTree11
  1394.                                                                 .getY() - 1);
  1395.                                                 Treeloc5 = new RSTile(midTree11.getX() + 1, midTree11
  1396.                                                                 .getY());
  1397.                                                 Treeloc6 = new RSTile(midTree11.getX(), midTree11
  1398.                                                                 .getY() + 1);
  1399.                                                 Treeloc7 = new RSTile(midTree11.getX() + 1, midTree11
  1400.                                                                 .getY() + 1);
  1401.                                                 Treeloc8 = new RSTile(midTree11.getX() - 1, midTree11
  1402.                                                                 .getY() + 1);
  1403.                                                 Treeloc9 = new RSTile(midTree11.getX() + 1, midTree11
  1404.                                                                 .getY() - 1);
  1405.                                         }
  1406.                                         if (distanceBetween(yew.getLocation(), midTree12) <= 1) {
  1407.                                                 Treeloc = midTree12;
  1408.                                                 Treeloc2 = new RSTile(midTree12.getX() - 1, midTree12
  1409.                                                                 .getY());
  1410.                                                 Treeloc3 = new RSTile(midTree12.getX(), midTree12
  1411.                                                                 .getY() - 1);
  1412.                                                 Treeloc4 = new RSTile(midTree12.getX() - 1, midTree12
  1413.                                                                 .getY() - 1);
  1414.                                                 Treeloc5 = new RSTile(midTree12.getX() + 1, midTree12
  1415.                                                                 .getY());
  1416.                                                 Treeloc6 = new RSTile(midTree12.getX(), midTree12
  1417.                                                                 .getY() + 1);
  1418.                                                 Treeloc7 = new RSTile(midTree12.getX() + 1, midTree12
  1419.                                                                 .getY() + 1);
  1420.                                                 Treeloc8 = new RSTile(midTree12.getX() - 1, midTree12
  1421.                                                                 .getY() + 1);
  1422.                                                 Treeloc9 = new RSTile(midTree12.getX() + 1, midTree12
  1423.                                                                 .getY() - 1);
  1424.                                         }
  1425.                                         if (distanceBetween(yew.getLocation(), midTree13) <= 1) {
  1426.                                                 Treeloc = midTree13;
  1427.                                                 Treeloc2 = new RSTile(midTree13.getX() - 1, midTree13
  1428.                                                                 .getY());
  1429.                                                 Treeloc3 = new RSTile(midTree13.getX(), midTree13
  1430.                                                                 .getY() - 1);
  1431.                                                 Treeloc4 = new RSTile(midTree13.getX() - 1, midTree13
  1432.                                                                 .getY() - 1);
  1433.                                                 Treeloc5 = new RSTile(midTree13.getX() + 1, midTree13
  1434.                                                                 .getY());
  1435.                                                 Treeloc6 = new RSTile(midTree13.getX(), midTree13
  1436.                                                                 .getY() + 1);
  1437.                                                 Treeloc7 = new RSTile(midTree13.getX() + 1, midTree13
  1438.                                                                 .getY() + 1);
  1439.                                                 Treeloc8 = new RSTile(midTree13.getX() - 1, midTree13
  1440.                                                                 .getY() + 1);
  1441.                                                 Treeloc9 = new RSTile(midTree13.getX() + 1, midTree13
  1442.                                                                 .getY() - 1);
  1443.                                         }
  1444.                                         if (distanceBetween(yew.getLocation(), midTree14) <= 1) {
  1445.                                                 Treeloc = midTree14;
  1446.                                                 Treeloc2 = new RSTile(midTree14.getX() - 1, midTree14
  1447.                                                                 .getY());
  1448.                                                 Treeloc3 = new RSTile(midTree14.getX(), midTree14
  1449.                                                                 .getY() - 1);
  1450.                                                 Treeloc4 = new RSTile(midTree14.getX() - 1, midTree14
  1451.                                                                 .getY() - 1);
  1452.                                                 Treeloc5 = new RSTile(midTree14.getX() + 1, midTree14
  1453.                                                                 .getY());
  1454.                                                 Treeloc6 = new RSTile(midTree14.getX(), midTree14
  1455.                                                                 .getY() + 1);
  1456.                                                 Treeloc7 = new RSTile(midTree14.getX() + 1, midTree14
  1457.                                                                 .getY() + 1);
  1458.                                                 Treeloc8 = new RSTile(midTree14.getX() - 1, midTree14
  1459.                                                                 .getY() + 1);
  1460.                                                 Treeloc9 = new RSTile(midTree14.getX() + 1, midTree14
  1461.                                                                 .getY() - 1);
  1462.                                         }
  1463.                                         if (distanceBetween(yew.getLocation(), midTree15) <= 1) {
  1464.                                                 Treeloc = midTree15;
  1465.                                                 Treeloc2 = new RSTile(midTree15.getX() - 1, midTree15
  1466.                                                                 .getY());
  1467.                                                 Treeloc3 = new RSTile(midTree15.getX(), midTree15
  1468.                                                                 .getY() - 1);
  1469.                                                 Treeloc4 = new RSTile(midTree15.getX() - 1, midTree15
  1470.                                                                 .getY() - 1);
  1471.                                                 Treeloc5 = new RSTile(midTree15.getX() + 1, midTree15
  1472.                                                                 .getY());
  1473.                                                 Treeloc6 = new RSTile(midTree15.getX(), midTree15
  1474.                                                                 .getY() + 1);
  1475.                                                 Treeloc7 = new RSTile(midTree15.getX() + 1, midTree15
  1476.                                                                 .getY() + 1);
  1477.                                                 Treeloc8 = new RSTile(midTree15.getX() - 1, midTree15
  1478.                                                                 .getY() + 1);
  1479.                                                 Treeloc9 = new RSTile(midTree15.getX() + 1, midTree15
  1480.                                                                 .getY() - 1);
  1481.                                         }
  1482.                                         if (distanceBetween(yew.getLocation(), midTree16) <= 1) {
  1483.                                                 Treeloc = midTree16;
  1484.                                                 Treeloc2 = new RSTile(midTree16.getX() - 1, midTree16
  1485.                                                                 .getY());
  1486.                                                 Treeloc3 = new RSTile(midTree16.getX(), midTree16
  1487.                                                                 .getY() - 1);
  1488.                                                 Treeloc4 = new RSTile(midTree16.getX() - 1, midTree16
  1489.                                                                 .getY() - 1);
  1490.                                                 Treeloc5 = new RSTile(midTree16.getX() + 1, midTree16
  1491.                                                                 .getY());
  1492.                                                 Treeloc6 = new RSTile(midTree16.getX(), midTree16
  1493.                                                                 .getY() + 1);
  1494.                                                 Treeloc7 = new RSTile(midTree16.getX() + 1, midTree16
  1495.                                                                 .getY() + 1);
  1496.                                                 Treeloc8 = new RSTile(midTree16.getX() - 1, midTree16
  1497.                                                                 .getY() + 1);
  1498.                                                 Treeloc9 = new RSTile(midTree16.getX() + 1, midTree16
  1499.                                                                 .getY() - 1);
  1500.                                         }
  1501.                                 }
  1502.                                 if (location.equals("Edgeville")) {
  1503.                                         if (distanceBetween(yew.getLocation(), midTree17) <= 1) {
  1504.                                                 Treeloc = midTree17;
  1505.                                                 Treeloc2 = new RSTile(midTree17.getX() - 1, midTree17
  1506.                                                                 .getY());
  1507.                                                 Treeloc3 = new RSTile(midTree17.getX(), midTree17
  1508.                                                                 .getY() - 1);
  1509.                                                 Treeloc4 = new RSTile(midTree17.getX() - 1, midTree17
  1510.                                                                 .getY() - 1);
  1511.                                                 Treeloc5 = new RSTile(midTree17.getX() + 1, midTree17
  1512.                                                                 .getY());
  1513.                                                 Treeloc6 = new RSTile(midTree17.getX(), midTree17
  1514.                                                                 .getY() + 1);
  1515.                                                 Treeloc7 = new RSTile(midTree17.getX() + 1, midTree17
  1516.                                                                 .getY() + 1);
  1517.                                                 Treeloc8 = new RSTile(midTree17.getX() - 1, midTree17
  1518.                                                                 .getY() + 1);
  1519.                                                 Treeloc9 = new RSTile(midTree17.getX() + 1, midTree17
  1520.                                                                 .getY() - 1);
  1521.                                         }
  1522.                                         if (distanceBetween(yew.getLocation(), midTree18) <= 1) {
  1523.                                                 Treeloc = midTree18;
  1524.                                                 Treeloc2 = new RSTile(midTree18.getX() - 1, midTree18
  1525.                                                                 .getY());
  1526.                                                 Treeloc3 = new RSTile(midTree18.getX(), midTree18
  1527.                                                                 .getY() - 1);
  1528.                                                 Treeloc4 = new RSTile(midTree18.getX() - 1, midTree18
  1529.                                                                 .getY() - 1);
  1530.                                                 Treeloc5 = new RSTile(midTree18.getX() + 1, midTree18
  1531.                                                                 .getY());
  1532.                                                 Treeloc6 = new RSTile(midTree18.getX(), midTree18
  1533.                                                                 .getY() + 1);
  1534.                                                 Treeloc7 = new RSTile(midTree18.getX() + 1, midTree18
  1535.                                                                 .getY() + 1);
  1536.                                                 Treeloc8 = new RSTile(midTree18.getX() - 1, midTree18
  1537.                                                                 .getY() + 1);
  1538.                                                 Treeloc9 = new RSTile(midTree18.getX() + 1, midTree18
  1539.                                                                 .getY() - 1);
  1540.                                         }
  1541.                                 }
  1542.                                 Calculations.tileToScreen(Treeloc);
  1543.                                 final Point I = Calculations.tileToScreen(Treeloc.getX(),
  1544.                                                 Treeloc.getY(), 0, 0, 0);
  1545.                                 final Point II = Calculations.tileToScreen(Treeloc.getX() + 1,
  1546.                                                 Treeloc.getY(), 0, 0, 0);
  1547.                                 final Point III = Calculations.tileToScreen(Treeloc.getX(),
  1548.                                                 Treeloc.getY() + 1, 0, 0, 0);
  1549.                                 final Point IV = Calculations.tileToScreen(Treeloc.getX() + 1,
  1550.                                                 Treeloc.getY() + 1, 0, 0, 0);
  1551.                                 getMyPlayer().getHeight();
  1552.                                 g.setColor(borderColor);
  1553.                                 g.drawPolygon(new int[] { III.x, IV.x, II.x, I.x }, new int[] {
  1554.                                                 III.y, IV.y, II.y, I.y }, 4);
  1555.                                 g.setColor(color);
  1556.                                 g.fillPolygon(new int[] { III.x, IV.x, II.x, I.x }, new int[] {
  1557.                                                 III.y, IV.y, II.y, I.y }, 4);
  1558.  
  1559.                                 Calculations.tileToScreen(Treeloc2);
  1560.                                 final Point V = Calculations.tileToScreen(Treeloc2.getX(),
  1561.                                                 Treeloc2.getY(), 0, 0, 0);
  1562.                                 final Point VI = Calculations.tileToScreen(Treeloc2.getX() + 1,
  1563.                                                 Treeloc2.getY(), 0, 0, 0);
  1564.                                 final Point VII = Calculations.tileToScreen(Treeloc2.getX(),
  1565.                                                 Treeloc2.getY() + 1, 0, 0, 0);
  1566.                                 final Point VIII = Calculations.tileToScreen(
  1567.                                                 Treeloc2.getX() + 1, Treeloc2.getY() + 1, 0, 0, 0);
  1568.                                 getMyPlayer().getHeight();
  1569.                                 g.setColor(borderColor);
  1570.                                 g.drawPolygon(new int[] { VII.x, VIII.x, VI.x, V.x },
  1571.                                                 new int[] { VII.y, VIII.y, VI.y, V.y }, 4);
  1572.                                 g.setColor(color);
  1573.                                 g.fillPolygon(new int[] { VII.x, VIII.x, VI.x, V.x },
  1574.                                                 new int[] { VII.y, VIII.y, VI.y, V.y }, 4);
  1575.  
  1576.                                 Calculations.tileToScreen(Treeloc3);
  1577.                                 final Point IX = Calculations.tileToScreen(Treeloc3.getX(),
  1578.                                                 Treeloc3.getY(), 0, 0, 0);
  1579.                                 final Point X = Calculations.tileToScreen(Treeloc3.getX() + 1,
  1580.                                                 Treeloc3.getY(), 0, 0, 0);
  1581.                                 final Point XI = Calculations.tileToScreen(Treeloc3.getX(),
  1582.                                                 Treeloc3.getY() + 1, 0, 0, 0);
  1583.                                 final Point XII = Calculations.tileToScreen(
  1584.                                                 Treeloc3.getX() + 1, Treeloc3.getY() + 1, 0, 0, 0);
  1585.                                 getMyPlayer().getHeight();
  1586.                                 g.setColor(borderColor);
  1587.                                 g.drawPolygon(new int[] { XI.x, XII.x, X.x, IX.x }, new int[] {
  1588.                                                 XI.y, XII.y, X.y, IX.y }, 4);
  1589.                                 g.setColor(color);
  1590.                                 g.fillPolygon(new int[] { XI.x, XII.x, X.x, IX.x }, new int[] {
  1591.                                                 XI.y, XII.y, X.y, IX.y }, 4);
  1592.  
  1593.                                 Calculations.tileToScreen(Treeloc4);
  1594.                                 final Point XIII = Calculations.tileToScreen(Treeloc4.getX(),
  1595.                                                 Treeloc4.getY(), 0, 0, 0);
  1596.                                 final Point XIV = Calculations.tileToScreen(
  1597.                                                 Treeloc4.getX() + 1, Treeloc4.getY(), 0, 0, 0);
  1598.                                 final Point XV = Calculations.tileToScreen(Treeloc4.getX(),
  1599.                                                 Treeloc4.getY() + 1, 0, 0, 0);
  1600.                                 final Point XVI = Calculations.tileToScreen(
  1601.                                                 Treeloc4.getX() + 1, Treeloc4.getY() + 1, 0, 0, 0);
  1602.                                 getMyPlayer().getHeight();
  1603.                                 g.setColor(borderColor);
  1604.                                 g.drawPolygon(new int[] { XV.x, XVI.x, XIV.x, XIII.x },
  1605.                                                 new int[] { XV.y, XVI.y, XIV.y, XIII.y }, 4);
  1606.                                 g.setColor(color);
  1607.                                 g.fillPolygon(new int[] { XV.x, XVI.x, XIV.x, XIII.x },
  1608.                                                 new int[] { XV.y, XVI.y, XIV.y, XIII.y }, 4);
  1609.  
  1610.                                 Calculations.tileToScreen(Treeloc5);
  1611.                                 final Point XVII = Calculations.tileToScreen(Treeloc5.getX(),
  1612.                                                 Treeloc5.getY(), 0, 0, 0);
  1613.                                 final Point XVIII = Calculations.tileToScreen(
  1614.                                                 Treeloc5.getX() + 1, Treeloc5.getY(), 0, 0, 0);
  1615.                                 final Point XIX = Calculations.tileToScreen(Treeloc5.getX(),
  1616.                                                 Treeloc5.getY() + 1, 0, 0, 0);
  1617.                                 final Point XX = Calculations.tileToScreen(Treeloc5.getX() + 1,
  1618.                                                 Treeloc5.getY() + 1, 0, 0, 0);
  1619.                                 getMyPlayer().getHeight();
  1620.                                 g.setColor(borderColor);
  1621.                                 g.drawPolygon(new int[] { XIX.x, XX.x, XVIII.x, XVII.x },
  1622.                                                 new int[] { XIX.y, XX.y, XVIII.y, XVII.y }, 4);
  1623.                                 g.setColor(color);
  1624.                                 g.fillPolygon(new int[] { XIX.x, XX.x, XVIII.x, XVII.x },
  1625.                                                 new int[] { XIX.y, XX.y, XVIII.y, XVII.y }, 4);
  1626.  
  1627.                                 Calculations.tileToScreen(Treeloc6);
  1628.                                 final Point XXI = Calculations.tileToScreen(Treeloc6.getX(),
  1629.                                                 Treeloc6.getY(), 0, 0, 0);
  1630.                                 final Point XXII = Calculations.tileToScreen(
  1631.                                                 Treeloc6.getX() + 1, Treeloc6.getY(), 0, 0, 0);
  1632.                                 final Point XXIII = Calculations.tileToScreen(Treeloc6.getX(),
  1633.                                                 Treeloc6.getY() + 1, 0, 0, 0);
  1634.                                 final Point XXIV = Calculations.tileToScreen(
  1635.                                                 Treeloc6.getX() + 1, Treeloc6.getY() + 1, 0, 0, 0);
  1636.                                 getMyPlayer().getHeight();
  1637.                                 g.setColor(borderColor);
  1638.                                 g.drawPolygon(new int[] { XXIII.x, XXIV.x, XXII.x, XXI.x },
  1639.                                                 new int[] { XXIII.y, XXIV.y, XXII.y, XXI.y }, 4);
  1640.                                 g.setColor(color);
  1641.                                 g.fillPolygon(new int[] { XXIII.x, XXIV.x, XXII.x, XXI.x },
  1642.                                                 new int[] { XXIII.y, XXIV.y, XXII.y, XXI.y }, 4);
  1643.  
  1644.                                 Calculations.tileToScreen(Treeloc7);
  1645.                                 final Point XXV = Calculations.tileToScreen(Treeloc7.getX(),
  1646.                                                 Treeloc7.getY(), 0, 0, 0);
  1647.                                 final Point XXVI = Calculations.tileToScreen(
  1648.                                                 Treeloc7.getX() + 1, Treeloc7.getY(), 0, 0, 0);
  1649.                                 final Point XXVII = Calculations.tileToScreen(Treeloc7.getX(),
  1650.                                                 Treeloc7.getY() + 1, 0, 0, 0);
  1651.                                 final Point XXVIII = Calculations.tileToScreen(
  1652.                                                 Treeloc7.getX() + 1, Treeloc7.getY() + 1, 0, 0, 0);
  1653.                                 getMyPlayer().getHeight();
  1654.                                 g.setColor(borderColor);
  1655.                                 g.drawPolygon(new int[] { XXVII.x, XXVIII.x, XXVI.x, XXV.x },
  1656.                                                 new int[] { XXVII.y, XXVIII.y, XXVI.y, XXV.y }, 4);
  1657.                                 g.setColor(color);
  1658.                                 g.fillPolygon(new int[] { XXVII.x, XXVIII.x, XXVI.x, XXV.x },
  1659.                                                 new int[] { XXVII.y, XXVIII.y, XXVI.y, XXV.y }, 4);
  1660.  
  1661.                                 Calculations.tileToScreen(Treeloc8);
  1662.                                 final Point XXIX = Calculations.tileToScreen(Treeloc8.getX(),
  1663.                                                 Treeloc8.getY(), 0, 0, 0);
  1664.                                 final Point XXX = Calculations.tileToScreen(
  1665.                                                 Treeloc8.getX() + 1, Treeloc8.getY(), 0, 0, 0);
  1666.                                 final Point XXXI = Calculations.tileToScreen(Treeloc8.getX(),
  1667.                                                 Treeloc8.getY() + 1, 0, 0, 0);
  1668.                                 final Point XXXII = Calculations.tileToScreen(
  1669.                                                 Treeloc8.getX() + 1, Treeloc8.getY() + 1, 0, 0, 0);
  1670.                                 getMyPlayer().getHeight();
  1671.                                 g.setColor(borderColor);
  1672.                                 g.drawPolygon(new int[] { XXXI.x, XXXII.x, XXX.x, XXIX.x },
  1673.                                                 new int[] { XXXI.y, XXXII.y, XXX.y, XXIX.y }, 4);
  1674.                                 g.setColor(color);
  1675.                                 g.fillPolygon(new int[] { XXXI.x, XXXII.x, XXX.x, XXIX.x },
  1676.                                                 new int[] { XXXI.y, XXXII.y, XXX.y, XXIX.y }, 4);
  1677.  
  1678.                                 Calculations.tileToScreen(Treeloc9);
  1679.                                 final Point XXXIII = Calculations.tileToScreen(Treeloc9.getX(),
  1680.                                                 Treeloc9.getY(), 0, 0, 0);
  1681.                                 final Point XXXIV = Calculations.tileToScreen(
  1682.                                                 Treeloc9.getX() + 1, Treeloc9.getY(), 0, 0, 0);
  1683.                                 final Point XXXV = Calculations.tileToScreen(
  1684.                                                 Treeloc9.getX() + 1, Treeloc9.getY() + 1, 0, 0, 0);
  1685.                                 final Point XXXVI = Calculations.tileToScreen(Treeloc9.getX(),
  1686.                                                 Treeloc9.getY() + 1, 0, 0, 0);
  1687.  
  1688.                                 getMyPlayer().getHeight();
  1689.                                 g.setColor(borderColor);
  1690.                                 g.drawPolygon(new int[] { XXXVI.x, XXXV.x, XXXIV.x, XXXIII.x },
  1691.                                                 new int[] { XXXVI.y, XXXV.y, XXXIV.y, XXXIII.y }, 4);
  1692.                                 g.setColor(color);
  1693.                                 g.fillPolygon(new int[] { XXXVI.x, XXXV.x, XXXIV.x, XXXIII.x },
  1694.                                                 new int[] { XXXVI.y, XXXV.y, XXXIV.y, XXXIII.y }, 4);
  1695.                         }
  1696.                 } catch (Exception e) {
  1697.  
  1698.                 }
  1699.         }
  1700.  
  1701.         public void drawBankBooth(final Graphics g, final Color borderColor,
  1702.                         final Color color) {
  1703.                 final RSObject bankBooth = getNearestObjectByID(bankBoothID);
  1704.                 if (bankBooth != null && !bank.isOpen()) {
  1705.                         final RSTile Myloc = bankBooth.getLocation();
  1706.                         Calculations.tileToScreen(Myloc);
  1707.                         final Point I = Calculations.tileToScreen(Myloc.getX(), Myloc
  1708.                                         .getY(), 0, 0, 0);
  1709.                         final Point II = Calculations.tileToScreen(Myloc.getX() + 1, Myloc
  1710.                                         .getY(), 0, 0, 0);
  1711.                         final Point III = Calculations.tileToScreen(Myloc.getX(), Myloc
  1712.                                         .getY() + 1, 0, 0, 0);
  1713.                         final Point IV = Calculations.tileToScreen(Myloc.getX() + 1, Myloc
  1714.                                         .getY() + 1, 0, 0, 0);
  1715.                         getMyPlayer().getHeight();
  1716.                         g.setColor(borderColor);
  1717.                         g.drawPolygon(new int[] { III.x, IV.x, II.x, I.x }, new int[] {
  1718.                                         III.y, IV.y, II.y, I.y }, 4);
  1719.                         g.setColor(color);
  1720.                         g.fillPolygon(new int[] { III.x, IV.x, II.x, I.x }, new int[] {
  1721.                                         III.y, IV.y, II.y, I.y }, 4);
  1722.                 }
  1723.         }
  1724.  
  1725.         public void drawBanker(final Graphics g, final Color borderColor,
  1726.                         final Color color) {
  1727.                 final RSNPC banker = getNearestNPCByID(bankerID);
  1728.                 if (banker != null && !bank.isOpen() && banker.isOnScreen()) {
  1729.                         final RSTile Myloc = banker.getLocation();
  1730.                         Calculations.tileToScreen(Myloc);
  1731.                         final Point I = Calculations.tileToScreen(Myloc.getX(), Myloc
  1732.                                         .getY(), 0, 0, 0);
  1733.                         final Point II = Calculations.tileToScreen(Myloc.getX() + 1, Myloc
  1734.                                         .getY(), 0, 0, 0);
  1735.                         final Point III = Calculations.tileToScreen(Myloc.getX(), Myloc
  1736.                                         .getY() + 1, 0, 0, 0);
  1737.                         final Point IV = Calculations.tileToScreen(Myloc.getX() + 1, Myloc
  1738.                                         .getY() + 1, 0, 0, 0);
  1739.                         getMyPlayer().getHeight();
  1740.                         g.setColor(borderColor);
  1741.                         g.drawPolygon(new int[] { III.x, IV.x, II.x, I.x }, new int[] {
  1742.                                         III.y, IV.y, II.y, I.y }, 4);
  1743.                         g.setColor(color);
  1744.                         g.fillPolygon(new int[] { III.x, IV.x, II.x, I.x }, new int[] {
  1745.                                         III.y, IV.y, II.y, I.y }, 4);
  1746.                 }
  1747.         }
  1748.  
  1749.         // METHODS
  1750.  
  1751.         @Override
  1752.         public void onRepaint(Graphics g) {
  1753.                 ((Graphics2D) g).setRenderingHint(RenderingHints.KEY_ANTIALIASING,
  1754.                                 RenderingHints.VALUE_ANTIALIAS_ON);
  1755.                 if (showPaint == true) {
  1756.                         if (isLoggedIn()) {
  1757.                                 int xpGained = 0;
  1758.                                 if (startexp == 0) {
  1759.                                         startexp = skills
  1760.                                                         .getCurrentSkillExp(Constants.STAT_WOODCUTTING);
  1761.                                 }
  1762.                                 int xpLeft = skills
  1763.                                                 .getXPToNextLevel(Constants.STAT_WOODCUTTING);
  1764.                                 profit = (logs * yewCost);
  1765.                                 xpGained = skills
  1766.                                                 .getCurrentSkillExp(Constants.STAT_WOODCUTTING)
  1767.                                                 - startexp;
  1768.                                 long millis = System.currentTimeMillis() - startTime;
  1769.                                 long hours = millis / (1000 * 60 * 60);
  1770.                                 millis -= hours * (1000 * 60 * 60);
  1771.                                 long minutes = millis / (1000 * 60);
  1772.                                 millis -= minutes * (1000 * 60);
  1773.                                 long seconds = millis / 1000;
  1774.                                 float xpsec = 0;
  1775.                                 if ((minutes > 0 || hours > 0 || seconds > 0) && xpGained > 0) {
  1776.                                         xpsec = ((float) xpGained)
  1777.                                                         / (float) (seconds + (minutes * 60) + (hours * 60 * 60));
  1778.                                 }
  1779.                                 float xpmin = xpsec * 60;
  1780.                                 float xphour = xpmin * 60;
  1781.                                 final int yewHour = (int) ((logs) * 3600000D / (System
  1782.                                                 .currentTimeMillis() - startTime));
  1783.                                 final int profitHour = (int) ((profit) * 3600000D / (System
  1784.                                                 .currentTimeMillis() - startTime));
  1785.                                 if (paintAdvanced) {
  1786.                                         drawMyLocation(g, Color.black, new Color(255, 255, 255, 75));
  1787.                                         drawCurrentTree(g, Color.black, new Color(128, 0, 0, 75));
  1788.                                         drawBankBooth(g, Color.black, new Color(0, 255, 255, 75));
  1789.                                         drawBanker(g, Color.black, new Color(255, 200, 0, 75));
  1790.                                 }
  1791.                                 g.setFont(new Font("Trebuchet MS", Font.PLAIN, 14));
  1792.                                 if (showGained == true) {
  1793.                                         g.setColor(new Color(0, 0, 0, 150));
  1794.                                         g.fillRoundRect(200, yMenu, 150, 100, 0, 0);
  1795.                                         g.setColor(Color.white);
  1796.                                         g.drawString("XP Gained: " + xpGained, 208, yMenu + 18);
  1797.                                         g.drawString("Levels Gained: " + levels, 208, yMenu + 36);
  1798.                                         g
  1799.                                                         .drawString(
  1800.                                                                         "Current level: "
  1801.                                                                                         + skills
  1802.                                                                                                         .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  1803.                                                                         208, yMenu + 54);
  1804.                                         g.drawString("Logs chopped: " + logs, 208, yMenu + 72);
  1805.                                         g.drawString("Profit: " + profit + "gp", 208, yMenu + 90);
  1806.                                 }
  1807.                                 if (showAveraging == true) {
  1808.                                         g.setColor(new Color(0, 0, 0, 150));
  1809.                                         g.fillRoundRect(286, yMenu, 200, 82, 0, 0);
  1810.                                         g.setColor(Color.white);
  1811.                                         g.drawString("Time running: " + hours + ":" + minutes + ":"
  1812.                                                         + seconds, 294, yMenu + 18);
  1813.                                         g.drawString("XP Hour: " + (int) xphour, 294, yMenu + 36);
  1814.                                         g.drawString("Logs/Hour: " + yewHour, 294, yMenu + 54);
  1815.                                         g.drawString("Profit/Hour: " + profitHour + "gp", 294,
  1816.                                                         yMenu + 72);
  1817.                                 }
  1818.                                 final int percent = skills
  1819.                                                 .getPercentToNextLevel(Constants.STAT_WOODCUTTING);
  1820.                                 g.setColor(new Color(0, 0, 0, 150));
  1821.                                 g.fillRoundRect(4, y, 511, 24, 0, 0);
  1822.                                 g.setColor(Color.white);
  1823.                                 g.draw3DRect(4, y, 511, 24, true);
  1824.                                 g.setColor(new Color(149, 7, 17, 200));
  1825.                                 g.fillRoundRect(7, y + 2, 100, 20, 0, 0); // <<<-------
  1826.                                 g.setColor(new Color(0, 79, 0, 200));
  1827.                                 g.fillRoundRect(7, y + 2, percent, 20, 0, 0);
  1828.                                 g.setColor(Color.black);
  1829.                                 g.drawRect(7, y + 2, 100, 20);
  1830.                                 g.setColor(Color.white);
  1831.                                 g.drawString(percent + "% Done", 117, y + 17);
  1832.                                 g.draw3DRect(200, y, 1, 24, true);
  1833.                                 g.drawString("Gained", 220, y + 17);
  1834.                                 g.draw3DRect(285, y, 1, 24, true);
  1835.                                 g.drawString("Averaging", 305, y + 17);
  1836.                                 g.draw3DRect(390, y, 1, 24, true);
  1837.                                 g.setFont(new Font("Trebuchet MS", Font.BOLD, 14));
  1838.                                 g.drawString("" + status, 400, y + 17);
  1839.                                 if (showStatInfo == true) {
  1840.                                         g.setFont(new Font("Trebuchet MS", Font.PLAIN, 14));
  1841.                                         int logsTillNextLevel = 0;
  1842.                                         Mouse m = Bot.getClient().getMouse();
  1843.                                         if (yewXP != 0) {
  1844.                                                 logsTillNextLevel = Integer.parseInt(df.format(xpLeft
  1845.                                                                 / yewXP));
  1846.                                                 if ((xpLeft / yewXP) > logsTillNextLevel) {
  1847.                                                         logsTillNextLevel += 1;
  1848.                                                 }
  1849.                                         }
  1850.                                         g.setColor(new Color(0, 0, 0, 205));
  1851.                                         if (paintTop) {
  1852.                                                 g.fillRect(m.x, m.y, 200, 115);
  1853.                                                 g.setColor(Color.white);
  1854.                                                 g.drawString("WOODCUTTING", m.x + 15, m.y + 30);
  1855.                                                 g
  1856.                                                                 .drawString(
  1857.                                                                                 "Level: "
  1858.                                                                                                 + skills
  1859.                                                                                                                 .getCurrentSkillLevel(Constants.STAT_WOODCUTTING),
  1860.                                                                                 m.x + 15, m.y + 45);