Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.06 KB | None | 0 0
  1. package server.model.players.skills;
  2.  
  3. import server.model.players.Client;
  4. import server.Server;
  5. import server.util.Misc;
  6. /**
  7.  * Slayer.java
  8.  *
  9.  * @author Sanity
  10.  *
  11.  **/
  12.  
  13. public class Slayer {
  14.    
  15.     private static Client c;
  16.        
  17.     public Slayer(Client c) {
  18.         this.c = c;
  19.     }
  20.    
  21.     public int[] lowTasks = {1648, 1612, 117, 1265, 103, 78, 119, 18,101,1265,181};
  22.     public int[] lowReqs = {5, 15, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1,1};
  23.     public int[] medTasks = {1643,1618,941,119,82,52,1612,117,1265,112,125,1341};
  24.     public int[] medReqs = {45,50,1,1,1,1,15,1,1,1,1,1};
  25.     public int[] highTasks = {1624,1610,1613,1615,55,84,49,1618,941,82,2783,1341,9467,4353,9463,9465,9172};
  26.     public int[] highReqs = {65,75,80,85,1,1,1,50,1,90,1,73,58,93,77,78};
  27.    
  28.     public void giveTask() {
  29.         if (c.combatLevel < 50)
  30.             giveTask(1);
  31.         else if (c.combatLevel >= 50 && c.combatLevel <= 90)
  32.             giveTask(2);
  33.         else if (c.combatLevel > 90 && c.combatLevel <= 138)
  34.             giveTask(3);
  35.         else
  36.             giveTask(2);   
  37.     }
  38.    
  39.     /*
  40.      * Array of all slayer beasts - array needs population
  41.     */
  42.     public static int[] creatures = { };
  43.    
  44.     public static boolean isSlayerCreature(int npc) {
  45.         for (int n : creatures) {
  46.             if (n == npc) {
  47.                 return true;
  48.             }
  49.         }
  50.         return false;
  51.     }
  52.    
  53.     public static boolean checkSlayerRequirements(int npc) {
  54.         int[] equipmentNeeded = new int[c.playerEquipment.length];
  55.  
  56.         if (c.slayerTask == npc) {
  57.             switch (npc) {
  58.                 /*
  59.                  * This is an example
  60.                  
  61.                  case 1612:
  62.                     equipmentNeeded[SLOT] = ITEM_NEEDED;
  63.                     break;
  64.                  */
  65.             }
  66.             for (int i = 0; i < equipmentNeeded.length; i++) {
  67.                 if (equipmentNeeded[i] > 0) {
  68.                     if (c.playerEquipment[i] == equipmentNeeded[i]) {
  69.                         return true;
  70.                     }
  71.                 }
  72.             }
  73.         }
  74.         return false;
  75.     }
  76.  
  77.     public static String slayerRequirement(int npc) {
  78.         int[] itemNeeded = new int[c.playerEquipment.length];
  79.  
  80.         if (c.slayerTask == npc) {
  81.             switch (npc) {
  82.                 /*
  83.                  * This is an example
  84.                  case NPC_ID:
  85.                     return itemNeeded[slot] = ITEM_NEEDED;
  86.                  */
  87.             }
  88.             for (int i = 0; i < itemNeeded.length; i++) {
  89.                 if (itemNeeded[i] > 0) {
  90.                     return "You need to be wearing " + c.getItems().getItemName(itemNeeded[i]) + " to slay this creature!";
  91.                 }
  92.             }
  93.         }
  94.         return "";
  95.     }
  96.    
  97.     public void giveTask2() {
  98.         for (int j = 0; j < lowTasks.length; j++) {
  99.             if (lowTasks[j] == c.slayerTask) {
  100.                 c.sendMessage("You already have an easy task... to kill " + c.taskAmount + " " + Server.npcHandler.getNpcListName(c.slayerTask) + ".");
  101.                 return;    
  102.             }  
  103.         }
  104.         giveTask(1);
  105.     }
  106.    
  107.     public void giveTask(int taskLevel) {
  108.         int given = 0;
  109.         int random = 0;
  110.         if (taskLevel == 1) {
  111.             random = (int)(Math.random() * (lowTasks.length - 1));
  112.             given = lowTasks[random];
  113.         } else if (taskLevel == 2) {
  114.             random = (int)(Math.random() * (medTasks.length - 1));
  115.             given = medTasks[random];      
  116.         } else if (taskLevel == 3) {
  117.             random = (int)(Math.random() * (highTasks.length - 1));
  118.             given = highTasks[random];     
  119.         }
  120.         if (!canDoTask(taskLevel,random)) {
  121.             giveTask(taskLevel);
  122.             return;
  123.         }
  124.         c.slayerTask = given;
  125.         c.taskAmount = Misc.random(15) + 15;
  126.         c.sendMessage("You have been assigned to kill " + c.taskAmount + " " + Server.npcHandler.getNpcListName(given) + " as a slayer task.");
  127.     }
  128.    
  129.     public boolean canDoTask(int taskLevel, int random) {
  130.         if (taskLevel == 1) {
  131.             return c.playerLevel[c.playerSlayer] >= lowReqs[random];       
  132.         } else if (taskLevel == 2) {
  133.             return c.playerLevel[c.playerSlayer] >= medReqs[random];       
  134.         } else if (taskLevel == 3) {
  135.             return c.playerLevel[c.playerSlayer] >= highReqs[random];          
  136.         }
  137.         return false;
  138.     }
  139. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement