This week only. Pastebin PRO Accounts Christmas Special! Don't miss out!Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Feb 26th, 2012  |  syntax: None  |  size: 19.36 KB  |  views: 20  |  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.Font;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.Image;
  6. import java.awt.Point;
  7. import java.awt.Rectangle;
  8. import java.awt.RenderingHints;
  9. import java.awt.event.MouseEvent;
  10. import java.awt.event.MouseListener;
  11. import java.io.IOException;
  12. import java.net.URL;
  13. import java.util.ArrayList;
  14. import java.util.Iterator;
  15.  
  16. import javax.imageio.ImageIO;
  17.  
  18. import com.rarebot.event.listeners.PaintListener;
  19. import com.rarebot.script.Script;
  20. import com.rarebot.script.ScriptManifest;
  21. import com.rarebot.script.methods.Game.Tab;
  22. import com.rarebot.script.methods.Methods;
  23. import com.rarebot.script.methods.Skills;
  24. import com.rarebot.script.util.Filter;
  25. import com.rarebot.script.wrappers.RSNPC;
  26.  
  27. @ScriptManifest(authors = { "Gripps" }, keywords = {"combat"}, name = "GYak Killer", description =
  28.  
  29. "Kills yaks! 40-50K exp per hour! Special Attack support", version = 1.0)
  30. public class GYakKiller extends Script implements PaintListener, MouseListener {
  31.        
  32.         /**
  33.          * Paint Variables
  34.          */
  35.         public boolean showPaint = true;
  36.         private long startTime = 0;
  37.         private int startExpHP;
  38.         private int startLevelHP;
  39.         private int startExpStr;
  40.         private int startLevelStr;
  41.         private int startExpAtt;
  42.         private int startLevelAtt;
  43.         private int startExpDef;
  44.         private int startLevelDef;
  45.         private int expToLvlHP;
  46.         private int expToLvlStr;
  47.         private int expToLvlAtt;
  48.         private int expToLvlDef;
  49.         final Object lock = new Object();
  50.         final ArrayList<Particle> particles = new ArrayList<Particle>();
  51.         public static final Color TRANS_BLACK = new Color(0, 0, 0, 180),
  52.                         LIGHT_TRANS_RED = new Color(255, 0, 0, 150);
  53.         final Color MOUSE_COLOR = (Color.WHITE);
  54.         final Color MOUSE_BORDER_COLOR = (Color.RED);
  55.         final Color MOUSE_CENTER_COLOR = (Color.BLACK);
  56.         boolean pressed = false;
  57.         int absoluteY = 0;
  58.         String status;
  59.        
  60.         public int yakHair = 10814;
  61.         /**
  62.          * End Paint Variables
  63.          */
  64.        
  65.         public int[] yakID = {5529}, foodID = {373};
  66.         RSNPC curYak = null;
  67.        
  68.         private enum State {
  69.         UNKNOWN, ANTIBAN, ATTACK, EAT, CAMERATOYAK, SPEC
  70. }
  71.  
  72. public State getState() {
  73.         RSNPC yak = npcs.getNearest(yakID);
  74.         try {
  75.                if (players.getMyPlayer().getHPPercent() >= 30) {
  76.                    if (!players.getMyPlayer().isInCombat()) {
  77.                            if (yak != null) {
  78.                                    if (yak.isOnScreen()) {
  79.                                            return State.ATTACK;
  80.                                    } else {
  81.                                            return State.CAMERATOYAK;
  82.                                    }
  83.                            }
  84.                    }
  85.                } else {
  86.                    if (inventory.containsOneOf(foodID)) {
  87.                    return State.EAT;
  88.                    }
  89.                }
  90.         } catch (Exception e) {
  91.                 return State.UNKNOWN;
  92.         }
  93.         return State.ANTIBAN;
  94. }
  95.        
  96.         public boolean onStart() {
  97.                 startTime = System.currentTimeMillis();
  98.                 startExpHP = skills.getCurrentExp(Skills.CONSTITUTION);
  99.                 startExpStr = skills.getCurrentExp(Skills.STRENGTH);
  100.                 startExpAtt = skills.getCurrentExp(Skills.ATTACK);
  101.                 startExpDef = skills.getCurrentExp(Skills.DEFENSE);
  102.                 startLevelHP = skills.getCurrentLevel(Skills.CONSTITUTION);
  103.                 startLevelStr = skills.getCurrentLevel(Skills.STRENGTH);
  104.                 startLevelAtt = skills.getCurrentLevel(Skills.ATTACK);
  105.                 startLevelDef = skills.getCurrentLevel(Skills.DEFENSE);
  106.                 return true;
  107.                
  108.         }
  109.        
  110.         public void dropYakHair() {
  111.                 if (inventory.containsOneOf(yakHair)) {
  112.                         inventory.dropAllExcept(foodID);
  113.                 }
  114.         }
  115.        
  116.         private void drawMouse1(Graphics g) {
  117.                 Point p = mouse.getLocation();
  118.                 ((Graphics2D) g).setRenderingHints(new RenderingHints
  119.  
  120. (RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON));
  121.         Graphics2D line1 = (Graphics2D) g.create();
  122.         Graphics2D line2 = (Graphics2D) g.create();
  123.         Graphics2D arc1 = (Graphics2D) g.create();
  124.         Graphics2D arc2 = (Graphics2D) g.create();
  125.         final int outerSize = 20;
  126.         final int innerSize = 20;
  127.         line1.rotate(System.currentTimeMillis() % 2000d / 2000d * (360d) * 2
  128.                         * Math.PI / 180.0, p.x, p.y);
  129.         line2.rotate(System.currentTimeMillis() % 2000d / 2000d * (-360d)
  130.                         * 2 * Math.PI / 180.0, p.x, p.y);
  131.         arc1.rotate(System.currentTimeMillis() % 2000d / 2000d * (360d) * 2
  132.                         * Math.PI / 180.0, p.x, p.y);
  133.         arc2.rotate(System.currentTimeMillis() % 2000d / 2000d * (-360d)
  134.                         * 2 * Math.PI / 180.0, p.x, p.y);
  135.     line1.setColor(Color.WHITE);
  136.         line1.drawLine(p.x, p.y, p.x, p.y + 7);
  137.         line1.drawLine(p.x, p.y, p.x, p.y - 7);
  138.         line2.setColor(Color.WHITE);
  139.         line2.drawLine(p.x, p.y, p.x - 7, p.y);
  140.         line2.drawLine(p.x, p.y, p.x + 7, p.y);
  141.         arc1.setColor(Color.BLACK);
  142.         arc1.drawArc(p.x - (outerSize / 2), p.y - (outerSize / 2), outerSize, outerSize, 100, 75);
  143.         arc2.setColor(Color.RED);
  144.         arc2.drawArc(p.x - (outerSize / 2), p.y - (outerSize / 2), outerSize, outerSize, -100, 75);
  145.         arc2.drawArc(p.x - (innerSize / 2), p.y - (innerSize / 2), innerSize, innerSize, 100, 75);
  146.         arc1.drawArc(p.x - (innerSize / 2), p.y - (innerSize / 2), innerSize, innerSize, -100, 75);
  147.         }
  148.        
  149.         @Override
  150.         public int loop() {
  151.                 RSNPC yak = npcs.getNearest(yakID);
  152.                 mouse.setSpeed(0);
  153.                 dropYakHair();
  154.                         switch(getState()) {
  155.                         case ATTACK:
  156.                                 fightYaks();
  157.                                 break;
  158.                         case CAMERATOYAK:
  159.                                 status = "Camera to Yak";
  160.                                 camera.turnTo(yak);
  161.                                 Methods.sleep(Methods.random(500, 750));
  162.                                 break;
  163.                         case EAT:
  164.                                 status = "Eating Food";
  165.                                 inventory.getItem(foodID).interact("Eat");
  166.                                 break;
  167.                         case ANTIBAN:
  168.                                 int b = random(1, 43);
  169.                                 switch (b) {
  170.                                 case 1:
  171.  
  172.                                         status = "Moving mouse";
  173.                                         mouse.moveSlightly();
  174.                                         sleep(200, 600);
  175.                                         mouse.moveRandomly(150, 350);
  176.  
  177.                                         break;
  178.                                 case 2:
  179.  
  180.                                         status = "Camera";
  181.                                         camera.setAngle(random(30, 70));
  182.                                         sleep(400, 1200);
  183.  
  184.                                         break;
  185.                                 case 3:
  186.  
  187.                                         status = "Mouse AFK";
  188.                                         mouse.moveOffScreen();
  189.                                         sleep(random(600, random(1200, 2000)));
  190.  
  191.                                         break;
  192.                                 case 4:
  193.  
  194.                                         status = "Checking Exp";
  195.                                         game.openTab(Tab.STATS);
  196.                                         skills.doHover(Skills.INTERFACE_COOKING);
  197.                                         sleep(random(1250, 2000));
  198.                                         game.openTab(Tab.INVENTORY);
  199.                                         break;
  200.                                 case 5:
  201.  
  202.                                         status = "Opening CC";
  203.                                         clanChat.openInformation();
  204.                                         Methods.sleep(1500);
  205.                                         clanChat.closeInformation();
  206.                                         Methods.sleep(300);
  207.                                         game.openTab(Tab.INVENTORY);
  208.  
  209.                                         break;
  210.                                 case 6:
  211.  
  212.                                         status = "Camera";
  213.                                         camera.setAngle(random(20, 90));
  214.                                         sleep(400, 800);
  215.  
  216.                                         break;
  217.                                 case 7:
  218.  
  219.                                         status = "Pitch";
  220.                                         camera.setPitch(1250);
  221.                                         Methods.sleep(Methods.random(300, 1000));
  222.                                         camera.setCompass('n');
  223.                                         break;
  224.                                 case 8:
  225.  
  226.                                         status = "Randomly";
  227.                                         mouse.moveRandomly(Methods.random(1500, 2000));
  228.  
  229.                                         break;
  230.                                 case 9:
  231.  
  232.                                         status = "Moving Camera";
  233.                                         camera.moveRandomly(Methods.random(800, 1200));
  234.  
  235.                                         break;
  236.                                 case 10:
  237.  
  238.                                         status = "Randomly";
  239.                                         camera.moveRandomly(Methods.random(1000, 2000));
  240.                                         status = "Pitch";
  241.                                         camera.setPitch(true);
  242.                                 case 11:
  243.  
  244.                                         status = "Moving Mouse";
  245.                                         mouse.moveSlightly();
  246.                                         mouse.moveRandomly(1500);
  247.  
  248.                                         break;
  249.                                 case 12:
  250.  
  251.                                         if (inventory.containsOneOf(foodID)) {
  252.                                                 inventory.getItem(foodID).interact("Examine");
  253.                                         }
  254.  
  255.                                         break;
  256.                                 case 13:
  257.  
  258.                                         quests.openTab();
  259.                                         Methods.sleep(450);
  260.  
  261.                                         break;
  262.                                 case 14:
  263.  
  264.                                         camera.moveRandomly(1500);
  265.  
  266.                                         break;
  267.                                 }
  268.                         default:
  269.                                 break;
  270.                         }
  271.                 return 1000;
  272.         }
  273.        
  274.          private int fightYaks() {        
  275.                     RSNPC newYak = npcs.getNearest(new Filter<RSNPC>(){
  276.                         public boolean accept(RSNPC in) {
  277.                             if (in == null)
  278.                                 return false;
  279.                             if (!in.getName().contains("Yak"))
  280.                                 return false;
  281.                             if (in.isDead())
  282.                                 return false;
  283.                             if (in.getInteracting() != null && !in.getInteracting().equals
  284.  
  285. (getMyPlayer()))
  286.                                 return false;
  287.                             return true;
  288.                         }
  289.                     });
  290.                     if (newYak != null) {
  291.                         if (combat.getSpecialBarEnergy() == 100 && !combat.isSpecialEnabled()) {
  292.                             game.openTab(Tab.ATTACK);
  293.                             Methods.sleep(300);
  294.                             status = "Enabling Special";
  295.                             combat.setSpecialAttack(true);
  296.                             Methods.sleep(500);
  297.                             game.openTab(Tab.INVENTORY);
  298.                         }
  299.                         if (!players.getMyPlayer().isInCombat()) {
  300.                             if (newYak.isOnScreen()) {
  301.                                 status = "Attacking";
  302.                                 newYak.interact("Attack "+newYak.getName());
  303.                                 curYak = newYak;
  304.                             } else {
  305.                                 status = "Walking to Yak";
  306.                                 walking.walkTileMM(newYak.getLocation());
  307.                             }
  308.                         }
  309.                     }
  310.  
  311.                 return 1;
  312.             }
  313.                
  314.         public void onFinish() {
  315.         }
  316.        
  317.         //START: Code generated using Enfilade's Easel
  318.     private Image getImage(String url) {
  319.         try {
  320.             return ImageIO.read(new URL(url));
  321.         } catch(IOException e) {
  322.             return null;
  323.         }
  324.     }
  325.  
  326.     private final Color color1 = new Color(0, 0, 0, 178);
  327.     private final Color color2 = new Color(255, 255, 255, 185);
  328.     private final Color color3 = new Color(255, 255, 255, 125);
  329.     private final Color color4 = new Color(255, 255, 255);
  330.     private final Color color5 = new Color(0, 0, 0);
  331.  
  332.  
  333.     private final Font font1 = new Font("Arial", 1, 11);
  334.     private final Font font2 = new Font("Arial", 1, 13);
  335.  
  336.     private final Image background = getImage("http://i.imgur.com/RLF7x.png");
  337.     private final Image logo = getImage("http://i.imgur.com/v2dHY.png");
  338.     private final Image clock = getImage("http://i.imgur.com/rGZ8G.png");
  339.     private final Image strengthIcon = getImage("http://i.imgur.com/TgWK1.png");
  340.     private final Image hpIcon = getImage("http://i.imgur.com/gMlfE.png");
  341.     private final Image info = getImage("http://www.tmssoftware.com/site/img/info.png");
  342.     private final Image defenseIcon = getImage("http://i.imgur.com/Bcmb4.png");
  343. private final Image attackIcon = getImage("http://i.imgur.com/uz9Yb.png");
  344. private final Image show = getImage("http://i.imgur.com/17ysO.png");
  345.  
  346. private final Rectangle hideRect = new Rectangle(402, 315, 60, 25);
  347.  
  348. @Override
  349. public void mouseClicked(MouseEvent e) {
  350.         Point p = e.getPoint();
  351.         if (hideRect.contains(e.getPoint())) {
  352.                 showPaint = !showPaint;
  353.         }
  354. }
  355.  
  356.    
  357.     public void onRepaint(Graphics g1) {
  358.         Graphics2D g = (Graphics2D)g1;
  359.         long millis = System.currentTimeMillis() - startTime;
  360.                 long hours = millis / (1000 * 60 * 60);
  361.                 millis -= hours * (1000 * 60 * 60);
  362.                 long minutes = millis / (1000 * 60);
  363.                 millis -= minutes * (1000 * 60);
  364.                 long seconds = millis / 1000;
  365.                 //HP
  366.                 int levelGainHP = (skills.getMaxLevel(Skills.CONSTITUTION) - startLevelHP);
  367.                 int expGainHP = (int) (skills.getCurrentExp(Skills.CONSTITUTION) - startExpHP);
  368.                 int currLvlHP = (int) (skills.getCurrentLevel(Skills.CONSTITUTION));
  369.                 int expToLvlHP = skills.getExpToNextLevel(Skills.CONSTITUTION);
  370.                 double xpPHHP = 0;
  371.                 xpPHHP = (int) ((expGainHP) * 3600000D / (System.currentTimeMillis() - startTime));
  372.                 //Str
  373.                 int levelGainStr = (skills.getMaxLevel(Skills.STRENGTH) - startLevelStr);
  374.                 int expGainStr = (int) (skills.getCurrentExp(Skills.STRENGTH) - startExpStr);
  375.                 int currLvlStr = (int) (skills.getCurrentLevel(Skills.STRENGTH));
  376.                 int expToLvlStr = skills.getExpToNextLevel(Skills.STRENGTH);
  377.                 int strBar = (int) (skills.getPercentToNextLevel(Skills.STRENGTH) * 2.33);
  378.                 double xpPHSTR = 0;
  379.                 xpPHSTR = (int) ((expGainStr) * 3600000D / (System.currentTimeMillis() -
  380.  
  381. startTime));
  382.                 Point p = mouse.getLocation();
  383.                 //Att
  384.                 int levelGainAtt = (skills.getMaxLevel(Skills.ATTACK) - startLevelAtt);
  385.                 int expGainAtt = (int) (skills.getCurrentExp(Skills.ATTACK) - startExpAtt);
  386.                 int currLvlAtt = (int) (skills.getCurrentLevel(Skills.ATTACK));
  387.                 int expToLvlAtt = skills.getExpToNextLevel(Skills.ATTACK);
  388.                 int attBar = (int) (skills.getPercentToNextLevel(Skills.ATTACK) * 2.33);
  389.                 double xpPHAtt = 0;
  390.                 xpPHAtt = (int) ((expGainAtt) * 3600000D / (System.currentTimeMillis() -
  391.  
  392. startTime));
  393.                 //Def
  394.                 int levelGainDef = (skills.getMaxLevel(Skills.DEFENSE) - startLevelDef);
  395.                 int expGainDef = (int) (skills.getCurrentExp(Skills.DEFENSE) - startExpDef);
  396.                 int currLvlDef = (int) (skills.getCurrentLevel(Skills.DEFENSE));
  397.                 int expToLvlDef = skills.getExpToNextLevel(Skills.DEFENSE);
  398.                 int defBar = (int) (skills.getPercentToNextLevel(Skills.DEFENSE) * 2.33);
  399.                 double xpPHDef = 0;
  400.                 xpPHDef = (int) ((expGainDef) * 3600000D / (System.currentTimeMillis() -
  401.  
  402. startTime));
  403.                 int x = p.x;
  404.                 int y = p.y;
  405.                 int color = random(0, 3);
  406.                 if (mouse.isPressed()) {
  407.                         synchronized (lock) {
  408.                                 for (int i = 0; i < 100; i++, particles.add(new Particle(x, y,
  409.                                                 color)))
  410.                                         ;
  411.                         }
  412.                 }
  413.                 synchronized (lock) {
  414.                         Iterator<Particle> piter = particles.iterator();
  415.                         while (piter.hasNext()) {
  416.                                 Particle part = piter.next();
  417.                                 if (!part.handle(g)) {
  418.                                         piter.remove();
  419.                                 }
  420.                         }
  421.                 }
  422.                 //HP
  423.                 float timeTNLhourHP = 0;
  424.                 timeTNLhourHP = (float) skills.getExpToNextLevel(Skills.CONSTITUTION)
  425.                                 / (float) xpPHHP;
  426.  
  427.                 float timeTNLminHP = timeTNLhourHP * 60;
  428.                 float timeTNLsecHP = timeTNLminHP * 60;
  429.  
  430.                 float estimatedHourHP = timeTNLsecHP / 3600;
  431.                 float tempminutesHP = timeTNLsecHP % 3600;
  432.                 float estimatedMinutesHP = tempminutesHP / 60;
  433.                 float estimatedSecondsHP = tempminutesHP % 60;
  434.                 //Str
  435.                 float timeTNLhourStr = 0;
  436.                 timeTNLhourStr = (float) skills.getExpToNextLevel(Skills.STRENGTH)
  437.                                 / (float) xpPHSTR;
  438.  
  439.                 float timeTNLminStr = timeTNLhourStr * 60;
  440.                 float timeTNLsecStr = timeTNLminStr * 60;
  441.  
  442.                 float estimatedHourStr = timeTNLsecStr / 3600;
  443.                 float tempminutesStr = timeTNLsecStr % 3600;
  444.                 float estimatedMinutesStr = tempminutesStr / 60;
  445.                 float estimatedSecondsStr = tempminutesStr % 60;
  446.                 //Att
  447.                 float timeTNLhourAtt = 0;
  448.                 timeTNLhourAtt = (float) skills.getExpToNextLevel(Skills.ATTACK)
  449.                                 / (float) xpPHAtt;
  450.  
  451.                 float timeTNLminAtt = timeTNLhourAtt * 60;
  452.                 float timeTNLsecAtt = timeTNLminAtt * 60;
  453.  
  454.                 float estimatedHourAtt = timeTNLsecAtt / 3600;
  455.                 float tempminutesAtt = timeTNLsecAtt % 3600;
  456.                 float estimatedMinutesAtt = tempminutesAtt / 60;
  457.                 float estimatedSecondsAtt = tempminutesAtt % 60;
  458.                 //Def
  459.                 float timeTNLhourDef = 0;
  460.                 timeTNLhourDef = (float) skills.getExpToNextLevel(Skills.DEFENSE)
  461.                                 / (float) xpPHDef;
  462.  
  463.                 float timeTNLminDef = timeTNLhourDef * 60;
  464.                 float timeTNLsecDef = timeTNLminDef * 60;
  465.  
  466.                 float estimatedHourDef = timeTNLsecDef / 3600;
  467.                 float tempminutesDef = timeTNLsecDef % 3600;
  468.                 float estimatedMinutesDef = tempminutesDef / 60;
  469.                 float estimatedSecondsDef = tempminutesDef % 60;
  470.  
  471.                 if (showPaint) {
  472.         g.drawImage(background, 1, 230, null);
  473.         if (expGainStr > 0) {
  474.         g.setColor(color1);
  475.         g.fillRect(102, 309, 233, 18); // Red
  476.         g.setColor(color2);
  477.         g.fillRect(102, 309, strBar, 18); // Green
  478.         g.setColor(color3);
  479.         g.fillRect(102, 309, 233, 8);  // White
  480.         } if (expGainAtt > 0) {
  481.                    g.setColor(color1);
  482.                g.fillRect(102, 309, 233, 18); // Red
  483.                g.setColor(color2);
  484.                g.fillRect(102, 309, attBar, 18); // Green
  485.                g.setColor(color3);
  486.                g.fillRect(102, 309, 233, 8);  // White
  487.         } if (expGainDef > 0) {
  488.                    g.setColor(color1);
  489.                g.fillRect(102, 309, 233, 18); // Red
  490.                g.setColor(color2);
  491.                g.fillRect(102, 309, defBar, 18); // Green
  492.                g.setColor(color3);
  493.                g.fillRect(102, 309, 233, 8);  // White
  494.         }
  495.         g.drawImage(logo, 105, 330, null);
  496.         g.drawImage(clock, 12, 432, null);
  497.         g.setFont(font1);
  498.         g.setColor(color4);
  499.         g.drawString("Time Running: "+ hours + ":" + minutes + ":" + seconds, 54, 463);
  500.                 if (expGainStr > 0) {
  501.         g.drawImage(strengthIcon, 52, 361, null);
  502.         g.drawString("Experience Gained: " + expGainStr, 93, 380);
  503.         g.drawString("Experience/Hour: " + xpPHSTR, 93, 397);
  504.         g.drawString("Experience to Level: " + expToLvlStr, 93, 414);
  505.         g.drawString("Time to Level: " + (int) estimatedHourStr + ":"
  506.                                 + (int) estimatedMinutesStr + ":" + (int) estimatedSecondsStr, 93,
  507.  
  508. 431);
  509.                 } if (expGainHP > 0) {
  510.         g.drawImage(hpIcon, 311, 372, null);
  511.         g.drawString("Experience Gained HP: " + expGainHP, 345, 380);
  512.         g.drawString("Experience/Hour HP: " + xpPHHP, 345, 397);
  513.         g.drawString("Experience to Level HP: " +expToLvlHP, 345, 414);
  514.         g.drawString("Time to Level HP: " + (int) estimatedHourHP + ":"
  515.                                 + (int) estimatedMinutesHP + ":" + (int) estimatedSecondsHP, 345,
  516.  
  517. 431);
  518.                 } if (expGainAtt > 0) {
  519.                          g.drawImage(attackIcon, 52, 361, null);
  520.                         g.drawString("Experience Gained: " + expGainAtt, 93, 380);
  521.                         g.drawString("Experience/Hour: " + xpPHAtt, 93, 397);
  522.                         g.drawString("Experience to Level: " + expToLvlAtt, 93, 414);
  523.                         g.drawString("Time to Level: " + (int) estimatedHourAtt + ":"
  524.                                                 + (int) estimatedMinutesAtt + ":" + (int)
  525.  
  526. estimatedSecondsAtt, 93, 431);
  527.                 } if (expGainDef > 0) {
  528.                          g.drawImage(defenseIcon, 57, 375, null);
  529.                         g.drawString("Experience Gained: " + expGainDef, 93, 380);
  530.                         g.drawString("Experience/Hour: " + xpPHDef, 93, 397);
  531.                         g.drawString("Experience to Level: " + expToLvlDef, 93, 414);
  532.                         g.drawString("Time to Level: " + (int) estimatedHourDef + ":"
  533.                                                 + (int) estimatedMinutesDef + ":" + (int)
  534.  
  535. estimatedSecondsDef, 93, 431);
  536.                 }
  537.         g.setFont(font2);
  538.         g.drawString("Status: " +status, 340, 465);
  539.         g.drawImage(info, 312, 452, null);
  540.         drawMouse1(g);
  541.                 } else {
  542.                         g.drawImage(show, 1, 230, null);
  543.                           drawMouse1(g);
  544.                 }
  545.     }
  546.     //END: Code generated using Enfilade's Easel
  547.        
  548.     private static class Particle {
  549.  
  550.                 private double posX;
  551.                 private double posY;
  552.                 private double movX;
  553.                 private double movY;
  554.                 private int alpha = 255, color = -1;
  555.                 java.util.Random generator = new java.util.Random();
  556.  
  557.                 Particle(int pos_x, int pos_y, int color) {
  558.                         posX = (double) pos_x;
  559.                         posY = (double) pos_y;
  560.                         movX = ((double) generator.nextInt(40) - 20) / 16;
  561.                         movY = ((double) generator.nextInt(40) - 20) / 16;
  562.                         this.color = color;
  563.                 }
  564.  
  565.                 public boolean handle(Graphics page) {
  566.                         alpha -= random(1, 7);
  567.                         if (alpha <= 0)
  568.                                 return false;
  569.                         switch (color) {
  570.                         case 0:
  571.                                 page.setColor(new Color(0, 0, 0, alpha));
  572.                                 break;
  573.                         case 1:
  574.                                 page.setColor(new Color(255, 0, 0, alpha));
  575.                                 break;
  576.                         case 2:
  577.                                 page.setColor(new Color(255, 255, 255, alpha));
  578.                                 break;
  579.                         }
  580.                         page.drawLine((int) posX, (int) posY, (int) posX, (int) posY);
  581.                         posX += movX;
  582.                         posY += movY;
  583.                         return true;
  584.                 }
  585.     }
  586.  
  587.         @Override
  588.         public void mouseEntered(MouseEvent arg0) {
  589.                 // TODO Auto-generated method stub
  590.                
  591.         }
  592.  
  593.         @Override
  594.         public void mouseExited(MouseEvent arg0) {
  595.                 // TODO Auto-generated method stub
  596.                
  597.         }
  598.  
  599.         @Override
  600.         public void mousePressed(MouseEvent arg0) {
  601.                 // TODO Auto-generated method stub
  602.                
  603.         }
  604.  
  605.         @Override
  606.         public void mouseReleased(MouseEvent arg0) {
  607.                 // TODO Auto-generated method stub
  608.                
  609.         }
  610.        
  611. }
clone this paste RAW Paste Data