public void resizeTable(int difficulty) { if (easyTask.size() > 0 || hardTask.size() > 0 || mediumTask.size() > 0 || bossTask.size() > 0) { easyTask.clear(); mediumTask.clear(); hardTask.clear(); bossTask.clear(); } for (Task slayerTask : Task.values()) { if (slayerTask.getDifficulty() == EASY_TASK) { if (c.playerLevel[18] >= slayerTask.getLevelReq()) easyTask.add(slayerTask.getNpcId()); continue; } else if (slayerTask.getDifficulty() == MEDIUM_TASK) { if (c.playerLevel[18] >= slayerTask.getLevelReq()) mediumTask.add(slayerTask.getNpcId()); continue; } else if (slayerTask.getDifficulty() == HARD_TASK) { if (c.playerLevel[18] >= slayerTask.getLevelReq()) { hardTask.add(slayerTask.getNpcId()); } continue; } else if (slayerTask.getDifficulty() == BOSS_TASK) { if (c.playerLevel[18] >= slayerTask.getLevelReq()) { bossTask.add(slayerTask.getNpcId()); } continue; } } }
public void generateTask() { if (hasTask() && !c.needsNewTask) { // c.getDH().sendDialogues(103, 1597); return; } if (hasTask() && c.needsNewTask) { int difficulty = getDifficulty(slayerTask); if (difficulty == EASY_TASK) { // c.getDH().sendDialogues(105, 1597); c.needsNewTask = false; return; } } int taskLevel = getSlayerDifficulty(); for (Task slayerTask : Task.values()) { if (slayerTask.getDifficulty() == taskLevel) { if (c.playerLevel[18] >= slayerTask.getLevelReq()) { resizeTable(taskLevel); if (!c.needsNewTask) { int task = getRandomTask(taskLevel); for (int i = 0; i < c.removedTasks.length; i++) { if (task == c.removedTasks[i]) { c.sendMessage("Unavailable task: " + task); generateTask(); return; } } this.slayerTask = task; taskAmount = getTaskAmount(taskLevel); } else { int task = getRandomTask(getDifficulty(taskLevel - 1)); for (int i = 0; i < c.removedTasks.length; i++) { if (task == c.removedTasks[i]) { c.sendMessage("Unavailable task: " + task); generateTask(); return; } } this.slayerTask = task; taskAmount = getTaskAmount(getDifficulty(this.slayerTask) - 1); c.needsNewTask = false; } // c.getDH().sendDialogues(102, 1597); c.sendMessage( "You have been assigned " + taskAmount + " " + Misc.optimizeText(getTaskName(this.slayerTask)) + "'s, Good luck " + c.playerName + "."); return; } } } }
public int getTaskId(String name) { for (Task task : Task.values()) if (task.name() == name) return task.npcId; return -1; }
public String getTaskName(int npcId) { for (Task task : Task.values()) if (task.npcId == npcId) return task.name().replaceAll("_", " ").replaceAll("2", "").toLowerCase(); return ""; }
public int getDifficulty(int npcId) { for (Task task : Task.values()) if (task.npcId == npcId) return task.getDifficulty(); return 1; }
public boolean isSlayerNpc(int npcId) { for (Task task : Task.values()) { if (task.getNpcId() == npcId) return true; } return false; }
public String getLocation(int npcId) { for (Task task : Task.values()) if (task.npcId == npcId) return task.location; return ""; }
public int getRequiredLevel(int npcId) { for (Task task : Task.values()) if (task.npcId == npcId) return task.levelReq; return -1; }