Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private GeneralPath pathFrom(int[] xs, int[] ys) {
- GeneralPath gp = new GeneralPath();
- gp.moveTo(xs[0], ys[0]);
- for (int i = 1; i < xs.length; i++)
- gp.lineTo(xs[i], ys[i]);
- gp.closePath();
- return gp;
- }
- private final RenderingHints antialiasing = new RenderingHints(RenderingHints.KEY_ANTIALIASING,
- RenderingHints.VALUE_ANTIALIAS_ON);
- private final Color color1 = new Color(153, 0, 0);
- private final Color color2 = new Color(0, 0, 0);
- private final Color color3 = new Color(102, 102, 102);
- private final Color color4 = new Color(255, 255, 255);
- private final Color color5 = new Color(51, 51, 51, 225);
- private final BasicStroke stroke1 = new BasicStroke(1);
- private final Font font1 = new Font("Arial", 0, 10);
- private final Font font2 = new Font("Arial", 0, 15);
- public void onRepaint(Graphics render) {
- Graphics2D g = (Graphics2D) render;
- // PaintDebug.repaint(g);
- g.setRenderingHints(antialiasing);
- g.setColor(color5);
- g.fillRoundRect(3, 338, 514, 139, 16, 16);
- g.setColor(color1);
- g.setStroke(stroke1);
- g.drawRoundRect(3, 338, 514, 139, 16, 16);
- String timeRan = getTime(System.currentTimeMillis() - startTime);
- g.setFont(font2);
- g.setColor(color2);
- String[] skillNames = {"Attack", "Strength", "Defence", "HP"};
- int[] xp = {
- Skills.getCurrentExp(com.rsbuddy.script.methods.Skills.ATTACK)
- - startAttXp,
- Skills.getCurrentExp(com.rsbuddy.script.methods.Skills.STRENGTH)
- - startStrXp,
- Skills.getCurrentExp(com.rsbuddy.script.methods.Skills.DEFENSE)
- - startDefXp,
- Skills.getCurrentExp(com.rsbuddy.script.methods.Skills.CONSTITUTION)
- - startHPXp};
- int[] skillIndex = {
- com.rsbuddy.script.methods.Skills.ATTACK,
- com.rsbuddy.script.methods.Skills.STRENGTH,
- com.rsbuddy.script.methods.Skills.DEFENSE,
- com.rsbuddy.script.methods.Skills.CONSTITUTION};
- int y = 350;
- for (int i = 0; i < skillNames.length; i++) {
- if (xp[i] > 0) {
- drawSkill(g, skillIndex[i], skillNames[i], xp[i], 10, y);
- y += 25;
- }
- }
- g.setColor(color4);
- g.drawString("Status: " + status, 240, 366);
- g.drawString("Time running: " + timeRan, 240, 381);
- g.drawString("Dungeons completed: " + dungeonsDone, 240, 397);
- g.drawString("Dungeons aborted: " + timesAborted, 240, 413);
- drawSkill(g,
- com.rsbuddy.script.methods.Skills.DUNGEONEERING,
- "Dungeoneering",
- Skills.getCurrentExp(com.rsbuddy.script.methods.Skills.DUNGEONEERING)
- - startDungXp,
- 240,
- 428);
- if (debug) {
- try {
- for (Iterator<Door> it = Explore.doors.iterator(); it.hasNext();) {
- Door door = it.next();
- if (door == null)
- continue;
- String[] text = {"Open: " + door.isOpen(),
- "Locked: " + door.isLocked(),
- "Connector: " + Explore.rooms.indexOf(door.getConnector()),
- "Can Open: " + door.canOpen(),};
- drawDoor(g, door, text, color4);
- }
- for (Iterator<Room> it = Explore.rooms.iterator(); it.hasNext();) {
- Room room = it.next();
- drawRoom(g, room, color4);
- }
- } catch (ArrayIndexOutOfBoundsException aioob) {
- aioob.printStackTrace();
- StackTraceElement[] elements = Thread.currentThread().getStackTrace();
- log(elements[0]);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- }
- private void drawDoor(Graphics2D g, Door door, String[] text, Color tc) {
- Color oldColor = g.getColor();
- g.setColor(tc);
- Point point;
- point = Calculations.tileToScreen(door.getLocation(), 0.5, 0.5, 1);
- if (point.x == -1 || !Calculations.isPointOnScreen(point))
- return;
- g.setColor(tc);
- int x = point.x;
- int y = point.y;
- for (String s : text) {
- final FontMetrics fm = g.getFontMetrics(font2);
- final LineMetrics lm = fm.getLineMetrics(s, g);
- g.drawString(s, x, y += lm.getHeight());
- }
- g.setColor(oldColor);
- }
- private void drawRoom(Graphics2D g, Room room, Color tc) {
- try {
- Color oldColor = g.getColor();
- g.setColor(tc);
- Polygon roomArea = new Polygon();
- for (Tile tile : room.getArea().getEdgeTiles()) {
- if (Calculations.isTileOnMap(tile)) {
- Point tom = Calculations.tileToMap(tile);
- roomArea.addPoint(tom.x, tom.y);
- }
- }
- for (int i = 0; i < roomArea.xpoints.length; i++) {
- g.fillRect(roomArea.xpoints[i], roomArea.ypoints[i], 3, 3);
- }
- if (Calculations.isTileOnMap(room.getArea().getCentralTile())) {
- Point tom = Calculations.tileToMap(room.getArea().getCentralTile());
- g.drawString(String.valueOf(Explore.rooms.indexOf(room)), tom.x, tom.y);
- }
- g.setColor(oldColor);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private void drawSkill(Graphics2D g, int skill, String name, int xpGained,
- int x, int y) {
- Color start = g.getColor();
- int width = 225;
- int height = 20;
- Rectangle hover = new Rectangle(x, y, width, height);
- int percentTL = Skills.getPercentToNextLevel(skill);
- int xpTL = Skills.getExpToNextLevel(skill);
- int xpPH = (int) ((xpGained) * 3600000D / (System.currentTimeMillis() - startTime));
- String TTL = "Calculating..";
- long ttlCalculations;
- if (xpPH != 0) {
- ttlCalculations = (long) (xpTL * 3600000D) / xpPH;
- TTL = getTime(ttlCalculations);
- }
- Font oldFont = g.getFont();
- g.setColor(color1);
- g.fillRoundRect(x, y, width, height, 16, 16);
- g.setColor(color2);
- g.setStroke(stroke1);
- g.drawRoundRect(x, y, width, height, 16, 16);
- g.setColor(color3);
- g.fillRoundRect(x, y, (int) (percentTL * 2.25), 20, 16, 16);
- g.setFont(font1);
- g.setColor(color4);
- NumberFormat nf = NumberFormat.getIntegerInstance();
- g.drawString(name + " - " + percentTL + "% - " + nf.format(xpTL),
- x + 30,
- y + 15);
- if (hover.contains(m)) {
- final GeneralPath polygon1 = pathFrom(new int[]{
- (int) (x + (width / 3.25) + 35),
- (int) (x + (width / 3.25) + 49),
- (int) (x + (width / 3.25) + 52 + 12)}, new int[]{
- y - 10,
- y - 4,
- y - 10});
- g.setColor(color3);
- g.fillRoundRect((int) (x + (width / 3.25)),
- (int) (y - (height * 2.45)),
- 110,
- 38,
- 16,
- 16);
- g.setColor(color1);
- g.drawRoundRect((int) (x + (width / 3.25)),
- (int) (y - (height * 2.45)),
- 110,
- 38,
- 16,
- 16);
- g.setFont(font1);
- g.setColor(color4);
- g.drawString("P/H: " + xpPH,
- (int) (x + (width / 3.25)) + 5,
- y - (height * 2) + 2);
- g.drawString("TTL: " + TTL,
- (int) (x + (width / 3.25)) + 5,
- y - (height * 2) + 11);
- g.drawString("Gained: " + nf.format(xpGained),
- (int) (x + (width / 3.25)) + 5,
- 20 + y - (height * 2));
- g.setColor(color2);
- g.fill(polygon1);
- g.setColor(color1);
- g.setStroke(stroke1);
- g.draw(polygon1);
- }
- g.setColor(start);
- g.setFont(oldFont);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement