Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void BossDropChances(boolean print, int Mode) {
- NpcDatabaseBook[] BookArray;
- BookArray = new NpcDatabaseBook[]{NpcDatabaseBookDatabase.StarterBosses(), NpcDatabaseBookDatabase.EasyBosses(),
- NpcDatabaseBookDatabase.MediumBosses(), NpcDatabaseBookDatabase.EndGameBosses()};
- if (Mode >= 0 && Mode <= 3) {
- BookArray = new NpcDatabaseBook[]{BookArray[Mode]};
- }
- for (NpcDatabaseBook Book : BookArray){
- for (int K = 0; K < 5; K++) {
- double[] NpcKills = {1, 1};
- double NpcKillTime;
- double NpcKillTimeMelee;
- double NpcKillTimeRange;
- double NpcKillTimeRangeFast;
- double NpcKillTimeMage;
- int NpcId = 2028;
- BonusesOfPlayer[] Players = AllPlayers[K];
- String[] StyleNames = Styles[K];
- int[] StarterMoneys = new int[Players.length];
- int[] StarterFogs = new int[Players.length];
- int[] NpcIds = new int[]{2028, 2025, 2026, 2025};
- int[] Money = new int[Players.length];
- int[] FogTokens = new int[Players.length];
- boolean respawn = true;
- switch (NpcId) {
- case 2025: //Barrows brothers
- case 2026:
- case 2027:
- case 2028:
- case 2029:
- case 2030:
- respawn = false;
- break;
- case 3375:
- respawn = false;
- break;
- default:
- respawn = true;
- break;
- }
- for (int j = 0; j < Players.length; j++) {
- NpcId = NpcIds[j];
- for (int i = 0; i < Players.length; i++) {
- NpcKills = getDNpcKillsPerHour(Players[i], NpcId, false);
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, NpcId, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, NpcId, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, NpcId, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, NpcId, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) {
- Money[i] -= 2500000;
- }
- }
- StarterMoneys[j] = GerbenCombat.GetMaxValue(Money);
- StarterFogs[j] = GerbenCombat.GetMaxValue(FogTokens);
- }
- int AverageMoney = 0;
- for (int i = 0; i < StarterMoneys.length; i++) {
- AverageMoney += StarterMoneys[i];
- }
- /* for(int i = 0; i < Money.length; i++){
- System.out.println(i+". "+StyleNames[i] + " : "+Commands.LongToNiceString(StarterMoneys[i]));
- } */
- AverageMoney = (int) Math.round(AverageMoney / ((double) StarterMoneys.length));
- AverageMoney += SUPPLIES[K];
- if (MoneyCount.get(3141) == null) {
- MoneyCount.put(3141, new double[]{AverageMoney});
- } else if (MoneyCount.get(3141).length < 5) {
- double[] NewArray = new double[MoneyCount.get(3141).length + 1];
- for (int i = 0; i < NewArray.length - 1; i++) {
- NewArray[i] = MoneyCount.get(3141)[i];
- }
- NewArray[NewArray.length - 1] = AverageMoney;
- MoneyCount.put(3141, NewArray);
- }
- int AverageFogs = 0;
- for (int i = 0; i < StarterFogs.length; i++) {
- AverageFogs += StarterFogs[i];
- }
- AverageFogs = (int) Math.round(AverageFogs / ((double) StarterFogs.length));
- if (FogCount.get(3141) == null) {
- FogCount.put(3141, new double[]{AverageFogs});
- } else if (FogCount.get(3141).length < 5) {
- double[] NewArray = new double[FogCount.get(3141).length + 1];
- for (int i = 0; i < NewArray.length - 1; i++) {
- NewArray[i] = FogCount.get(3141)[i];
- }
- NewArray[NewArray.length - 1] = AverageFogs;
- FogCount.put(3141, NewArray);
- }
- int StarterMoney = AverageMoney;
- int StarterFog = AverageFogs;
- if (print) {
- System.out.println("===============================");
- System.out.println("Starter money: " + Commands.LongToNiceString(StarterMoney) + " Starter fogs: " + Commands.LongToNiceString(StarterFog));
- }
- int npc = 0;
- final ArrayList<String> Arraylist = new ArrayList<String>();
- int WhatDropsToAdjust = 1;
- for (int j = 0; j < Book.getAllPages().length; j++) {
- npc = Book.getAllPages()[j].getNpcId();
- switch (npc) {
- case 6358:
- WhatDropsToAdjust = 3;
- break;
- case 2883:
- case 2882:
- case 2881:
- WhatDropsToAdjust = 2;
- break;
- case 2025: //Barrows brothers
- case 2026:
- case 2027:
- case 2028:
- case 2029:
- case 2030:
- continue;
- case 18660:
- case 18661:
- continue;
- case 18648:
- case 18649:
- continue;
- case 2745:
- continue;
- //Easy bosses:
- case 6261:
- case 6263:
- case 6265:
- case 6204:
- case 6206:
- case 6208:
- case 6223:
- case 6225:
- case 6227:
- case 6248:
- case 6250:
- case 6252: //GWD minions
- continue;
- case 1160: //Kalphite queen 2
- continue;
- case 14817: //Char 2
- continue;
- case 17177: //Pker
- case 17178: //Pker
- continue;
- case 6260: //GWD
- case 6203:
- case 6222:
- case 6247:
- WhatDropsToAdjust = 2;
- break;
- case 50: //KBD
- WhatDropsToAdjust = 2;
- break;
- case 8549: //Phoenix
- WhatDropsToAdjust = 2;
- break;
- case 5364: //Confused barb
- WhatDropsToAdjust = 2;
- break;
- case 8528: //Nomad
- WhatDropsToAdjust = 2;
- break;
- case 8349: //Tormented demons
- WhatDropsToAdjust = 2;
- break;
- case 5666: //Barrelchest
- WhatDropsToAdjust = 2;
- break;
- //Medium bosses:
- case 15506:
- case 15454:
- continue;
- case 8133:
- WhatDropsToAdjust = 4;
- break;
- case 14994:
- WhatDropsToAdjust = 4;
- break;
- case 15222:
- WhatDropsToAdjust = 3;
- break;
- case 12878:
- WhatDropsToAdjust = 2;
- break;
- case 4509:
- WhatDropsToAdjust = 2;
- break;
- case 7133:
- WhatDropsToAdjust = 2;
- break;
- case 10140:
- WhatDropsToAdjust = 2;
- break;
- case 3067:
- WhatDropsToAdjust = 2;
- break;
- case 12900:
- WhatDropsToAdjust = 2;
- break;
- case 18642:
- case 18643:
- WhatDropsToAdjust = 2;
- break;
- case 15507:
- WhatDropsToAdjust = 2;
- break;
- case 3200:
- WhatDropsToAdjust = 2;
- break;
- //Endgame bosses
- case 18647: //Demon hunter
- case 17158: //Poanizer
- case 18668: //Hunter
- case 18667:
- case 15202: //Obsidian
- case 15203:
- case 15204:
- continue;
- case 18646:
- WhatDropsToAdjust = 2;
- break;
- case 17154:
- WhatDropsToAdjust = 2;
- break;
- case 18500:
- WhatDropsToAdjust = 2;
- break;
- case 18520:
- WhatDropsToAdjust = 2;
- break;
- case 18570:
- WhatDropsToAdjust = 2;
- break;
- case 18666:
- WhatDropsToAdjust = 3;
- break;
- case 8122:
- WhatDropsToAdjust = 2;
- break;
- case 14256:
- WhatDropsToAdjust = 2;
- break;
- case 17181:
- WhatDropsToAdjust = 2;
- break;
- default:
- WhatDropsToAdjust = 1;
- }
- switch (npc) {
- case 2025: //Barrows brothers
- case 2026:
- case 2027:
- case 2028:
- case 2029:
- case 2030:
- respawn = false;
- break;
- case 3375:
- respawn = false;
- break;
- case 8349:
- respawn = false;
- break;
- default:
- respawn = true;
- break;
- }
- if (print) {
- System.out.println("===============================");
- }
- for (int i = 0; i < Players.length; i++) {
- switch (npc) {
- case 6260:
- case 6203:
- case 6247:
- case 6222:
- NpcKills = getDNpcKillsPerHour(Players[i], npc, false);
- if (npc == 6222 && !StyleNames[i].toLowerCase().contains("range")) {
- NpcKills = new double[]{1.0, 1.0};
- }
- Money[i] = (int) Math.round(NpcKills[0] *
- (CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] + 3 * CalculateLootboxValue(Players[i].Luckfactor, npc + 1, false)[0]));
- FogTokens[i] = (int) Math.round(NpcKills[0] *
- (CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] + 3 * CalculateLootboxValue(Players[i].Luckfactor, npc + 1, false)[1]));
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- break;
- case 1158:
- if (StyleNames[i].toLowerCase().contains("melee")) {
- Money[i] = 1;
- FogTokens[i] = 1;
- } else if (StyleNames[i].toLowerCase().contains("range")) {
- NpcKillTime = getNpcKillTime(Players[i], 1160, false)[0] + getNpcKillTime(Players[0], npc, false)[1] + 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- } else if (StyleNames[i].toLowerCase().contains("mage")) {
- NpcKillTime = getNpcKillTime(Players[i], 1160, false)[0] + getNpcKillTime(Players[0], npc, false)[1] + 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- Money[i] -= 1250000;
- }
- break;
- case 14816:
- if (StyleNames[i].toLowerCase().contains("melee")) {
- Money[i] = 1;
- FogTokens[i] = 1;
- } else {
- double OPChar = 3800 / (Npcnerfs.GetHealthNerf(npc) * NPCCombatDefinitionsL.getNPCCombatDefinitions(npc).getHitpoints());
- double REGChar = 1 - OPChar;
- NpcKillTime = REGChar * getNpcKillTime(Players[i], 14816, false)[0] + OPChar * getNpcKillTime(Players[0], 14817, false)[0];
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- }
- break;
- case 8349:
- if (StyleNames[i].toLowerCase().contains("melee")) {
- NpcKillTime = (getNpcKillTime(Players[0], 8349, false)[0] + getNpcKillTime(Players[1], 8349, false)[0]) / 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- NpcKillTime = (getNpcKillTime(Players[0], 8349, false)[1] + getNpcKillTime(Players[1], 8349, false)[1]) / 2.0;
- NpcKills[1] = (int) Math.round(3600.0 / NpcKillTime);
- } else if (StyleNames[i].toLowerCase().contains("range")) {
- NpcKillTime = (getNpcKillTime(Players[1], 8349, false)[0] + getNpcKillTime(Players[2], 8349, false)[0]) / 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- NpcKillTime = (getNpcKillTime(Players[1], 8349, false)[1] + getNpcKillTime(Players[2], 8349, false)[1]) / 2.0;
- NpcKills[1] = (int) Math.round(3600.0 / NpcKillTime);
- } else if (StyleNames[i].toLowerCase().contains("mage")) {
- NpcKillTime = (getNpcKillTime(Players[0], 8349, false)[0] + getNpcKillTime(Players[2], 8349, false)[0]) / 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- NpcKillTime = (getNpcKillTime(Players[0], 8349, false)[1] + getNpcKillTime(Players[2], 8349, false)[1]) / 2.0;
- NpcKills[1] = (int) Math.round(3600.0 / NpcKillTime);
- }
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (!StyleNames[i].toLowerCase().contains("melee")) {
- Money[i] -= 1250000;
- }
- break;
- //Medium bosses
- case 18643:
- NpcKillTime = getNpcKillTime(Players[i], 18642, false)[0] * 0.5 +
- getNpcKillTime(Players[i], 18643, false)[0] * 0.5;
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- break;
- case 15507:
- NpcKillTime = getNpcKillTime(Players[i], 15506, false)[0] * 0.3333 +
- getNpcKillTime(Players[i], 15507, false)[0] * 0.3333 +
- getNpcKillTime(Players[i], 15454, false)[0] * 0.3334;
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- if (StyleNames[i].toLowerCase().contains("melee")) {
- Money[i] = 1;
- FogTokens[i] = 1;
- }
- break;
- //End game bosses
- case 18646:
- NpcKillTime = getNpcKillTime(Players[i], 18646, false)[0] * 0.5 +
- getNpcKillTime(Players[i], 18647, false)[0] * 0.5 +
- getNpcKillTime(Players[i], 82, false)[1] +
- getNpcKillTime(Players[i], 83, false)[1] +
- getNpcKillTime(Players[i], 84, false)[1];
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- if (StyleNames[i].toLowerCase().contains("melee")) {
- Money[i] = 1;
- FogTokens[i] = 1;
- }
- break;
- case 19000:
- NpcKillTime = getNpcKillTime(Players[i], 19000, false)[0] +
- getNpcKillTime(Players[i], 8779, false)[1] * 15;
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- if (StyleNames[i].toLowerCase().contains("melee")) {
- Money[i] = 1;
- FogTokens[i] = 1;
- }
- break;
- case 17154:
- double RegPo = 990 / (Npcnerfs.GetHealthNerf(npc) * NPCCombatDefinitionsL.getNPCCombatDefinitions(npc).getHitpoints());
- NpcKillTime = RegPo * getNpcKillTime(Players[i], 17154, false)[1] +
- getNpcKillTime(Players[i], 17158, false)[0];
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- break;
- case 18500:
- case 18520:
- case 18570:
- NpcKillTimeMage = getNpcKillTime(Players[2], 18500, false)[0];
- NpcKillTimeMelee = getNpcKillTime(Players[0], 18570, false)[0];
- NpcKillTimeRange = getNpcKillTime(Players[1], 18520, false)[0];
- if(Players.length > 3){
- NpcKillTimeRangeFast = getNpcKillTime(Players[3], 18520, false)[0];
- NpcKillTimeRange = NpcKillTimeRangeFast > NpcKillTimeRange ? NpcKillTimeRangeFast : NpcKillTimeRange;}
- NpcKillTime = 0.3333 * NpcKillTimeMage + 0.3333 * NpcKillTimeMelee + 0.3334 * NpcKillTimeRange + 20.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- break;
- case 18666:
- double HunterValue = (5500.0 / 60000.0);
- double RestValue = 1.0 - HunterValue;
- NpcKillTimeMage = getNpcKillTime(Players[2], 18667, false)[0];
- NpcKillTimeMelee = getNpcKillTime(Players[0], 18668, false)[0];
- NpcKillTimeRange = getNpcKillTime(Players[1], 18666, false)[0];
- if(Players.length > 3){
- NpcKillTimeRangeFast = getNpcKillTime(Players[3], 18666, false)[0];
- NpcKillTimeRange = NpcKillTimeRangeFast > NpcKillTimeRange ? NpcKillTimeRangeFast : NpcKillTimeRange;}
- NpcKillTime = (RestValue / 3.0) * NpcKillTimeMage + (RestValue / 3.0) * NpcKillTimeMelee + (RestValue / 3.0) * NpcKillTimeRange;
- NpcKillTimeMage = getNpcKillTime(Players[2], 18702, false)[0];
- NpcKillTimeMelee = getNpcKillTime(Players[0], 18702, false)[0];
- NpcKillTimeRange = getNpcKillTime(Players[1], 18702, false)[0];
- if(Players.length > 3){
- NpcKillTimeRangeFast = getNpcKillTime(Players[3], 18702, false)[0];
- NpcKillTimeRange = NpcKillTimeRangeFast > NpcKillTimeRange ? NpcKillTimeRangeFast : NpcKillTimeRange;}
- NpcKillTime += RestValue * GerbenCombat.GetMinValue((int) Math.round(NpcKillTimeMage), (int) Math.round(NpcKillTimeMelee), (int) Math.round(NpcKillTimeRange));
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- break;
- case 13447:
- NpcKillTime = getNpcKillTime(Players[i], 13447, false)[0] + 4 * getNpcKillTime(Players[i], 13451, false)[1];
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- break;
- case 15205:
- NpcKillTimeMage = getNpcKillTime(Players[2], 15204, false)[0];
- NpcKillTimeMelee = getNpcKillTime(Players[0], 15202, false)[0];
- NpcKillTimeRange = getNpcKillTime(Players[1], 15203, false)[0];
- if(Players.length > 3){
- NpcKillTimeRangeFast = getNpcKillTime(Players[3], 15203, false)[0];
- NpcKillTimeRange = NpcKillTimeRangeFast > NpcKillTimeRange ? NpcKillTimeRangeFast : NpcKillTimeRange;}
- NpcKillTime = 0.25 * getNpcKillTime(Players[i], 15205, false)[0];
- NpcKillTime += (0.25 * NpcKillTimeMage + 0.25 * NpcKillTimeMelee + 0.25 * NpcKillTimeRange);
- NpcKills[0] = 3600.0 / NpcKillTime;
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- break;
- case 17181:
- NpcKills = getDNpcKillsPerHour(Players[i], npc, false);
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- if (StyleNames[i].toLowerCase().contains("mage")) {
- Money[i] = 1;
- FogTokens[i] = 1;
- }
- break;
- default:
- NpcKills = getDNpcKillsPerHour(Players[i], npc, false);
- Money[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0]);
- //System.out.println(StyleNames[i] + " :" + (Commands.LongToNiceString((long) CalculateLootboxValue(Players[i].Luckfactor, npc, false)[0])) + " * " + (respawn ? NpcKills[0] : NpcKills[1]));
- FogTokens[i] = (int) Math.round(respawn ? NpcKills[0] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1] : NpcKills[1] * CalculateLootboxValue(Players[i].Luckfactor, npc, false)[1]);
- if (StyleNames[i].toLowerCase().contains("mage")) { //You need runes to sustain the magic thing
- Money[i] -= 2500000;
- }
- }
- }
- int Max = Money[0];
- int MaxArray = 0;
- for (int i = 0; i < Players.length - 1; i++) {
- if (Money[i + 1] > Max) {
- Max = Money[i + 1];
- MaxArray = i + 1;
- }
- }
- if (npc == 1158) {
- switch (MaxArray) {
- case 0:
- break;
- case 1:
- NpcKillTime = getNpcKillTime(Players[MaxArray], 1160, false)[0] + getNpcKillTime(Players[0], npc, false)[1] + 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- break;
- case 2:
- NpcKillTime = getNpcKillTime(Players[MaxArray], 1160, false)[0] + getNpcKillTime(Players[0], npc, false)[1] + 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- break;
- }
- } else if (npc == 14816) {
- double OPChar = 3800 / (Npcnerfs.GetHealthNerf(npc) * NPCCombatDefinitionsL.getNPCCombatDefinitions(npc).getHitpoints());
- double REGChar = 1 - OPChar;
- switch (MaxArray) {
- case 0:
- break;
- case 1:
- NpcKillTime = REGChar * getNpcKillTime(Players[MaxArray], 14816, false)[0] + OPChar * getNpcKillTime(Players[0], 14817, false)[0];
- NpcKills[0] = 3600.0 / NpcKillTime;
- break;
- case 2:
- NpcKillTime = REGChar * getNpcKillTime(Players[MaxArray], 14816, false)[0] + OPChar * getNpcKillTime(Players[0], 14817, false)[0];
- NpcKills[0] = 3600.0 / NpcKillTime;
- break;
- }
- } else if (npc == 8349) {
- switch (MaxArray) {
- case 0:
- NpcKillTime = (getNpcKillTime(Players[0], 8349, false)[0] + getNpcKillTime(Players[1], 8349, false)[0]) / 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- NpcKillTime = (getNpcKillTime(Players[0], 8349, false)[1] + getNpcKillTime(Players[1], 8349, false)[1]) / 2.0;
- NpcKills[1] = (int) Math.round(3600.0 / NpcKillTime);
- break;
- case 1:
- NpcKillTime = (getNpcKillTime(Players[1], 8349, false)[0] + getNpcKillTime(Players[2], 8349, false)[0]) / 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- NpcKillTime = (getNpcKillTime(Players[1], 8349, false)[1] + getNpcKillTime(Players[2], 8349, false)[1]) / 2.0;
- NpcKills[1] = (int) Math.round(3600.0 / NpcKillTime);
- break;
- case 2:
- NpcKillTime = (getNpcKillTime(Players[0], 8349, false)[0] + getNpcKillTime(Players[2], 8349, false)[0]) / 2.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- NpcKillTime = (getNpcKillTime(Players[0], 8349, false)[1] + getNpcKillTime(Players[2], 8349, false)[1]) / 2.0;
- NpcKills[1] = (int) Math.round(3600.0 / NpcKillTime);
- break;
- }
- } else if (npc == 15507) {
- NpcKillTime = getNpcKillTime(Players[MaxArray], 15506, false)[0] * 0.3333 +
- getNpcKillTime(Players[MaxArray], 15507, false)[0] * 0.3333 +
- getNpcKillTime(Players[MaxArray], 15454, false)[0] * 0.3334;
- NpcKills[0] = 3600.0 / NpcKillTime;
- } else if (npc == 18643) {
- NpcKillTime = getNpcKillTime(Players[MaxArray], 18642, false)[0] * 0.5 +
- getNpcKillTime(Players[MaxArray], 18643, false)[0] * 0.5;
- NpcKills[0] = 3600.0 / NpcKillTime;
- } else if (npc == 18646) {
- NpcKillTime = getNpcKillTime(Players[MaxArray], 18646, false)[0] * 0.5 +
- getNpcKillTime(Players[MaxArray], 18647, false)[0] * 0.5 +
- getNpcKillTime(Players[MaxArray], 82, false)[1] +
- getNpcKillTime(Players[MaxArray], 83, false)[1] +
- getNpcKillTime(Players[MaxArray], 84, false)[1];
- NpcKills[0] = 3600.0 / NpcKillTime;
- } else if (npc == 19000) {
- NpcKillTime = getNpcKillTime(Players[MaxArray], 19000, false)[0] +
- getNpcKillTime(Players[MaxArray], 8779, false)[1] * 15;
- NpcKills[0] = 3600.0 / NpcKillTime;
- } else if (npc == 17154) {
- double RegPo = 990 / (Npcnerfs.GetHealthNerf(npc) * NPCCombatDefinitionsL.getNPCCombatDefinitions(npc).getHitpoints());
- NpcKillTime = RegPo * getNpcKillTime(Players[MaxArray], 17154, false)[1] +
- getNpcKillTime(Players[MaxArray], 17158, false)[0];
- NpcKills[0] = 3600.0 / NpcKillTime;
- } else if (npc == 18500 || npc == 18520 || npc == 18570) {
- NpcKillTimeMage = getNpcKillTime(Players[2], 18500, false)[0];
- NpcKillTimeMelee = getNpcKillTime(Players[0], 18570, false)[0];
- NpcKillTimeRange = getNpcKillTime(Players[1], 18520, false)[0];
- if(Players.length > 3){
- NpcKillTimeRangeFast = getNpcKillTime(Players[3], 18520, false)[0];
- NpcKillTimeRange = NpcKillTimeRangeFast > NpcKillTimeRange ? NpcKillTimeRangeFast : NpcKillTimeRange;}
- NpcKillTime = 0.3333 * NpcKillTimeMage + 0.3333 * NpcKillTimeMelee + 0.3334 * NpcKillTimeRange + 20.0;
- NpcKills[0] = 3600.0 / NpcKillTime;
- } else if (npc == 18666) {
- double HunterValue = (5500.0 / 60000.0);
- double RestValue = 1.0 - HunterValue;
- NpcKillTimeMage = getNpcKillTime(Players[2], 18667, false)[0];
- NpcKillTimeMelee = getNpcKillTime(Players[0], 18668, false)[0];
- NpcKillTimeRange = getNpcKillTime(Players[1], 18666, false)[0];
- if(Players.length > 3){
- NpcKillTimeRangeFast = getNpcKillTime(Players[3], 18666, false)[0];
- NpcKillTimeRange = NpcKillTimeRangeFast > NpcKillTimeRange ? NpcKillTimeRangeFast : NpcKillTimeRange;}
- NpcKillTime = (RestValue / 3.0) * NpcKillTimeMage + (RestValue / 3.0) * NpcKillTimeMelee + (RestValue / 3.0) * NpcKillTimeRange;
- NpcKillTimeMage = getNpcKillTime(Players[2], 18702, false)[0];
- NpcKillTimeMelee = getNpcKillTime(Players[0], 18702, false)[0];
- NpcKillTimeRange = getNpcKillTime(Players[1], 18702, false)[0];
- if(Players.length > 3){
- NpcKillTimeRangeFast = getNpcKillTime(Players[3], 18702, false)[0];
- NpcKillTimeRange = NpcKillTimeRangeFast > NpcKillTimeRange ? NpcKillTimeRangeFast : NpcKillTimeRange;}
- NpcKillTime += RestValue * GerbenCombat.GetMinValue((int) Math.round(NpcKillTimeMage), (int) Math.round(NpcKillTimeMelee), (int) Math.round(NpcKillTimeRange));
- NpcKills[0] = 3600.0 / NpcKillTime;
- } else if (npc == 13447) {
- NpcKillTime = getNpcKillTime(Players[MaxArray], 13447, false)[0] + 4 * getNpcKillTime(Players[MaxArray], 13451, false)[1];
- NpcKills[0] = 3600.0 / NpcKillTime;
- } else if (npc == 15205) {
- NpcKillTimeMage = getNpcKillTime(Players[2], 15204, false)[0];
- NpcKillTimeMelee = getNpcKillTime(Players[0], 15202, false)[0];
- NpcKillTimeRange = getNpcKillTime(Players[1], 15203, false)[0];
- if(Players.length > 3){
- NpcKillTimeRangeFast = getNpcKillTime(Players[3], 15203, false)[0];
- NpcKillTimeRange = NpcKillTimeRangeFast > NpcKillTimeRange ? NpcKillTimeRangeFast : NpcKillTimeRange;}
- NpcKillTime = 0.25 * getNpcKillTime(Players[MaxArray], 15205, false)[0];
- NpcKillTime += (0.25 * NpcKillTimeMage + 0.25 * NpcKillTimeMelee + 0.25 * NpcKillTimeRange);
- NpcKills[0] = 3600.0 / NpcKillTime;
- } else {
- NpcKills = getDNpcKillsPerHour(Players[MaxArray], npc, false);
- }
- if (print) {
- System.out.println("[" + NPCDefinitions.getNPCDefinitions(npc).getName() + "]" + Settings.ANSI_RESET);
- System.out.println("[---------------------------------------------------------------------------]");
- System.out.println("kills per hour: " + (respawn ? NpcKills[0] : NpcKills[1]) + " using " + StyleNames[MaxArray]);
- int MoneyValue = FindNewItemDropChancesPrintMoney(Players[MaxArray], npc, StarterMoney, WhatDropsToAdjust, respawn ? NpcKills[0] : NpcKills[1]);
- String Colorcode = Math.abs(Money[MaxArray] - StarterMoney) / (double) StarterMoney > 0.025 ? Settings.ANSI_RED : Settings.ANSI_GREEN;
- System.out.println(Colorcode + "Current Money: " + Commands.LongToNiceString(Money[MaxArray]) + Settings.ANSI_RESET);
- int FogValue = (int) Math.round(FogTokens[MaxArray] / (respawn ? NpcKills[0] : NpcKills[1]));
- int NewFogValue = (respawn ? (int) (5 * Math.floor(((((double) AverageFogs) / NpcKills[0]) / 5.0))) : (int) (5 * Math.floor(((((double) AverageFogs) / NpcKills[1]) / 5.0))));
- Colorcode = FogValue != NewFogValue ? Settings.ANSI_RED : Settings.ANSI_GREEN;
- System.out.println("New fogs per kill = " + (respawn ? (int) (5 * Math.floor(((((double) AverageFogs) / NpcKills[0]) / 5.0))) : (int) (5 * Math.floor(((((double) AverageFogs) / NpcKills[1]) / 5.0)))) + " New fogs per hour = " + (respawn ? NpcKills[0] * (int) (5 * Math.floor(((((double) AverageFogs) / NpcKills[0]) / 5.0))) : NpcKills[1] * (int) (5 * Math.floor(((((double) AverageFogs) / NpcKills[1]) / 5.0)))));
- System.out.println(Colorcode + "Current Fogs per kill = " + FogValue + " Rounded to low 5: " + ((int) Math.round(Math.floor(FogValue / 5.0) * 5.0)) + Settings.ANSI_RESET);
- }
- if (bossesKillCount.get(npc) == null) {
- bossesKillCount.put(npc, new double[]{(respawn ? NpcKills[0] : NpcKills[1])});
- } else if (bossesKillCount.get(npc).length < 5) {
- double[] NewArray = new double[bossesKillCount.get(npc).length + 1];
- for (int i = 0; i < NewArray.length - 1; i++) {
- NewArray[i] = bossesKillCount.get(npc)[i];
- }
- NewArray[NewArray.length - 1] = (respawn ? NpcKills[0] : NpcKills[1]);
- bossesKillCount.put(npc, NewArray);
- }
- if (MoneyCount.get(npc) == null) {
- MoneyCount.put(npc, new double[]{Money[MaxArray]});
- } else if (MoneyCount.get(npc).length < 5) {
- double[] NewArray = new double[MoneyCount.get(npc).length + 1];
- for (int i = 0; i < NewArray.length - 1; i++) {
- NewArray[i] = MoneyCount.get(npc)[i];
- }
- NewArray[NewArray.length - 1] = Money[MaxArray];
- MoneyCount.put(npc, NewArray);
- }
- if (FogCount.get(npc) == null) {
- FogCount.put(npc, new double[]{FogTokens[MaxArray]});
- } else if (FogCount.get(npc).length < 5) {
- double[] NewArray = new double[FogCount.get(npc).length + 1];
- for (int i = 0; i < NewArray.length - 1; i++) {
- NewArray[i] = FogCount.get(npc)[i];
- }
- NewArray[NewArray.length - 1] = FogTokens[MaxArray];
- FogCount.put(npc, NewArray);
- }
- }
- if (print) {
- System.out.println("===============================");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement