Guest User

Untitled

a guest
May 22nd, 2017
48
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.36 KB | None | 0 0
  1. package ploosutils;
  2.  
  3. import com.kbotpro.bot.BotEnvironment;
  4. import com.kbotpro.scriptsystem.various.ModuleConnector;
  5. import com.kbotpro.scriptsystem.wrappers.IComponent;
  6.  
  7. import java.util.ArrayList;
  8.  
  9. /**
  10.  * Created by IntelliJ IDEA.
  11.  * User: Martin
  12.  * Date: 16-Apr-2010
  13.  * Time: 00:56:55
  14.  * To change this template use File | Settings | File Templates.
  15.  */
  16.  
  17. public class Prayers extends ModuleConnector {
  18.  
  19.     public Prayers(BotEnvironment botEnv) {
  20.         this.botEnv = botEnv;
  21.     }
  22.  
  23.     private final int SETTING_PRAYER = 1395;
  24.  
  25.     private final int PRAYER_INTERFACE = 271;
  26.     private final int PRAYER_ICONS_INTERFACE = 8;
  27.  
  28.     private final int PRAYER_COUNT = 29;
  29.     private final int MAX_SETTING_INDEX = 28;
  30.  
  31.     public final int STAT_ADJUSTMENT_ATTACK = 34;
  32.     public final int STAT_ADJUSTMENT_STRENGTH = 33;
  33.     public final int STAT_ADJUSTMENT_DEFENCE = 32;
  34.     public final int STAT_ADJUSTMENT_RANGE = 31;
  35.     public final int STAT_ADJUSTMENT_MAGIC = 30;
  36.  
  37.  
  38.     private final int PRAYERS_MODERN = 0;
  39.     private final int PRAYERS_ANCIENT = 1;
  40.  
  41.     public final Prayer PRAYER_THICK_SKIN = new Prayer("Thick Skin", 1, false, 0, 0);
  42.     public final Prayer PRAYER_BURST_OF_STRENGTH = new Prayer("Burst of Strength", 4, false, 1, 1);
  43.     public final Prayer PRAYER_CLARITY_OF_THOUGHT = new Prayer("Clarity of Thought", 7, false, 2, 2);
  44.     public final Prayer PRAYER_SHARP_EYE = new Prayer("Sharp Eye", 8, false, 18, 3);
  45.     public final Prayer PRAYER_MYSTIC_WILL = new Prayer("Mystic Will", 9, false, 19, 4);
  46.  
  47.     public final Prayer PRAYER_ROCK_SKIN = new Prayer("Rock Skin", 10, false, 3, 5);
  48.     public final Prayer PRAYER_SUPERHUMAN_STRENGTH = new Prayer("Superhuman Strength", 13, false, 4, 6);
  49.     public final Prayer PRAYER_IMPROVED_REFLEXES = new Prayer("Improved Reflexes", 16, false, 5, 7);
  50.     public final Prayer PRAYER_RAPID_RESTORE = new Prayer("Rapid Restore", 19, false, 6, 8);
  51.     public final Prayer PRAYER_RAPID_HEAL = new Prayer("Rapid Heal", 22, false, 7, 9);
  52.  
  53.     public final Prayer PRAYER_PROTECT_ITEM = new Prayer("Protect Item", 25, false, 8, 10);
  54.     public final Prayer PRAYER_HAWK_EYE = new Prayer("Hawk Eye", 26, false, 20, 11);
  55.     public final Prayer PRAYER_MYSTIC_LORE = new Prayer("Mystic Lore", 27, false, 21, 12);
  56.     public final Prayer PRAYER_STEEL_SKIN = new Prayer("Steel Skin", 28, false, 9, 13);
  57.     public final Prayer PRAYER_ULTIMATE_STRENGTH = new Prayer("Ultimate Strength", 31, false, 10, 14);
  58.  
  59.     public final Prayer PRAYER_INCREDIBLE_REFLEXES = new Prayer("Incredible Reflexes", 34, false, 11, 15);
  60.     public final Prayer PRAYER_PROTECT_FROM_SUMMONING = new Prayer("Protect from Summoning", 35, true, 24, 16);
  61.     public final Prayer PRAYER_PROTECT_FROM_MAGIC = new Prayer("Protect from Magic", 37, false, 12, 17);
  62.     public final Prayer PRAYER_PROTECT_FROM_MISSILES = new Prayer("Protect from Missiles", 40, false, 13, 18);
  63.     public final Prayer PRAYER_PROTECT_FROM_MELEE = new Prayer("Protect from Melee", 43, false, 14, 19);
  64.  
  65.     public final Prayer PRAYER_EAGLE_EYE = new Prayer("Eagle Eye", 44, false, 22, 20);
  66.     public final Prayer PRAYER_MYSTIC_MIGHT = new Prayer("Mystic Might", 45, false, 23, 21);
  67.     public final Prayer PRAYER_RETRIBUTION = new Prayer("Retribution", 46, true, 15, 22);
  68.     public final Prayer PRAYER_REDEMPTION = new Prayer("Redemption", 49, true, 16, 23);
  69.     public final Prayer PRAYER_SMITE = new Prayer("Smite", 52, true, 17, 24);
  70.  
  71.     public final Prayer PRAYER_CHIVALRY = new Prayer("Chivalry", 60, true, 25, 25);
  72.     public final Prayer PRAYER_RAPID_RENEWAL = new Prayer("Rapid Renewal", 65, true, 27, 26);
  73.     public final Prayer PRAYER_PIETY = new Prayer("Piety", 70, true, 26, 27);
  74.     public final Prayer PRAYER_AUGURY = new Prayer("Augury", 77, true, 28, 28);
  75.  
  76.     public final Prayer[] PRAYERS = {
  77.             PRAYER_THICK_SKIN, PRAYER_BURST_OF_STRENGTH, PRAYER_CLARITY_OF_THOUGHT, PRAYER_SHARP_EYE, PRAYER_MYSTIC_WILL,
  78.             PRAYER_ROCK_SKIN, PRAYER_SUPERHUMAN_STRENGTH, PRAYER_IMPROVED_REFLEXES, PRAYER_RAPID_RESTORE, PRAYER_RAPID_HEAL,
  79.             PRAYER_PROTECT_ITEM, PRAYER_HAWK_EYE, PRAYER_MYSTIC_LORE, PRAYER_STEEL_SKIN, PRAYER_ULTIMATE_STRENGTH,
  80.             PRAYER_INCREDIBLE_REFLEXES, PRAYER_PROTECT_FROM_SUMMONING, PRAYER_PROTECT_FROM_MAGIC, PRAYER_PROTECT_FROM_MISSILES, PRAYER_PROTECT_FROM_MELEE,
  81.             PRAYER_EAGLE_EYE, PRAYER_MYSTIC_MIGHT, PRAYER_RETRIBUTION, PRAYER_REDEMPTION, PRAYER_SMITE,
  82.             PRAYER_CHIVALRY, PRAYER_RAPID_RENEWAL, PRAYER_PIETY, PRAYER_AUGURY
  83.     };
  84.  
  85.  
  86.     public void openTab() {
  87.         botEnv.game.openTab(botEnv.game.TAB_PRAYER);
  88.     }
  89.    
  90.     public int getPrayerLevel() {
  91.         return botEnv.skills.getLevel(botEnv.skills.SKILL_PRAYER);
  92.     }
  93.  
  94.     public int getPrayerPoints() {
  95.         return botEnv.skills.getCurrentLevel(botEnv.skills.SKILL_PRAYER);
  96.     }
  97.  
  98.     public int getStatAdjustment(int stat) {
  99.         IComponent comp = botEnv.interfaces.getComponent(PRAYER_INTERFACE, stat);
  100.  
  101.         if (comp != null && comp.isValid()) {
  102.             return Integer.parseInt(comp.getText());
  103.         }
  104.         return 0;
  105.     }
  106.  
  107.     public Prayer getPrayer(int i) {
  108.         return PRAYERS[i];
  109.     }
  110.  
  111.     public Prayer[] getPrayers() {
  112.         return PRAYERS;
  113.     }
  114.  
  115.     public Prayer[] getActivePrayers() {
  116.         ArrayList<Prayer> activePrayers = new ArrayList<Prayer>();
  117.  
  118.         for (Prayer p : PRAYERS) {
  119.             if (isActive(p)) {
  120.                 activePrayers.add(p);
  121.             }
  122.         }
  123.  
  124.         return (Prayer[]) activePrayers.toArray();
  125.     }
  126.  
  127.     /*
  128.     public boolean[] getPrayerFlags() {
  129.         boolean[] flags = new boolean[PRAYER_COUNT];
  130.  
  131.         int settingValue = botEnv.settings.getSetting(SETTING_PRAYER);
  132.  
  133.         for (int i = MAX_SETTING_INDEX; i >= 0; i--) {
  134.             int value = (int) Math.pow(2, i);
  135.  
  136.             if (value <= settingValue) {
  137.                 settingValue -= value;
  138.  
  139.                 flags[i] = true;
  140.             } else {
  141.                 flags[i] = false;
  142.             }
  143.         }
  144.         return flags;
  145.     }
  146.     */
  147.  
  148.     public boolean isActive(Prayer prayer) {
  149.         int settingIndex = prayer.settingIndex;
  150.         int settingValue = botEnv.settings.getSetting(SETTING_PRAYER);
  151.  
  152.         for (int i = MAX_SETTING_INDEX; i >= 0; i--) {
  153.             int value = (int) Math.pow(2, i);
  154.  
  155.             if (value <= settingValue) {
  156.                 settingValue -= value;
  157.  
  158.                 if (i == settingIndex) return true;
  159.             }
  160.         }
  161.  
  162.         return false;
  163.     }
  164.  
  165.     public boolean hasLevel(Prayer prayer) {
  166.         if (getPrayerLevel() < prayer.getLevelRequired()) return false;
  167.         return true;
  168.     }
  169.  
  170.     public boolean canActivate(Prayer prayer) {
  171.         if (getPrayerPoints() > 0) return false;
  172.         if (!hasLevel(prayer)) return false;
  173.         return true;
  174.     }
  175.  
  176.     public boolean activate(Prayer prayer) {
  177.         if (!canActivate(prayer)) return false;
  178.         if (isActive(prayer)) return true;
  179.  
  180.         openTab();
  181.         IComponent icon = botEnv.interfaces.getComponent(PRAYER_INTERFACE, PRAYER_ICONS_INTERFACE).getChildren()[prayer.componentID];
  182.         if (!icon.doAction("Activate")) return false;
  183.  
  184.         return true;
  185.     }
  186.  
  187.     public boolean deactivate(Prayer prayer) {
  188.         if (!isActive(prayer)) return true;
  189.  
  190.         openTab();
  191.         IComponent icon = botEnv.interfaces.getComponent(PRAYER_INTERFACE, PRAYER_ICONS_INTERFACE).getChildren()[prayer.componentID];
  192.         if (!icon.doAction("Deactivate")) return false;
  193.  
  194.         return true;
  195.     }
  196.  
  197.  
  198.     private class Prayer {
  199.         private String prayerName = "";
  200.         private int levelRequired = 1;
  201.         private boolean membersOnly = false;
  202.         private int settingIndex = 0;
  203.         private int componentID = 0;
  204.  
  205.         private Prayer(String prayerName, int levelRequired, boolean membersOnly, int settingIndex, int componentID) {
  206.             this.prayerName = prayerName;
  207.             this.levelRequired = levelRequired;
  208.             this.membersOnly = membersOnly;
  209.             this.settingIndex = settingIndex;
  210.             this.componentID = componentID;
  211.         }
  212.  
  213.         public String getPrayerName() {
  214.             return prayerName;
  215.         }
  216.  
  217.         public int getLevelRequired() {
  218.             return levelRequired;
  219.         }
  220.  
  221.         public boolean isMembersOnly() {
  222.             return membersOnly;
  223.         }
  224.     }
  225. }
Advertisement
Add Comment
Please, Sign In to add comment