|
|
@ -67,14 +67,20 @@ public class simulateBootyCmd extends AbstractDevCmd { |
|
|
|
|
|
|
|
|
|
|
|
case Mob: |
|
|
|
case Mob: |
|
|
|
Mob mob = (Mob) target; |
|
|
|
Mob mob = (Mob) target; |
|
|
|
ArrayList<MobLoot> GlassItems = new ArrayList<MobLoot>(); |
|
|
|
ArrayList<Item> GlassItems = new ArrayList<Item>(); |
|
|
|
ArrayList<MobLoot> Resources = new ArrayList<MobLoot>(); |
|
|
|
ArrayList<Item> Resources = new ArrayList<Item>(); |
|
|
|
ArrayList<MobLoot> Runes = new ArrayList<MobLoot>(); |
|
|
|
ArrayList<Item> Runes = new ArrayList<Item>(); |
|
|
|
ArrayList<MobLoot> Contracts = new ArrayList<MobLoot>(); |
|
|
|
ArrayList<Item> Contracts = new ArrayList<Item>(); |
|
|
|
ArrayList<MobLoot> Offerings = new ArrayList<MobLoot>(); |
|
|
|
ArrayList<Item> Offerings = new ArrayList<Item>(); |
|
|
|
ArrayList<MobLoot> OtherDrops = new ArrayList<MobLoot>(); |
|
|
|
ArrayList<Item> OtherDrops = new ArrayList<Item>(); |
|
|
|
ArrayList<MobLoot>ReturnedBootyList = SimulateMobLoot(mob); |
|
|
|
ArrayList<Item>ReturnedBootyList = new ArrayList<Item>(); |
|
|
|
for(MobLoot ml : ReturnedBootyList){ |
|
|
|
for(int i = 0; i < 100; ++i) { |
|
|
|
|
|
|
|
mob.loadInventory(); |
|
|
|
|
|
|
|
for(Item lootItem : mob.getCharItemManager().getInventory()){ |
|
|
|
|
|
|
|
ReturnedBootyList.add(lootItem); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
for(Item ml : ReturnedBootyList){ |
|
|
|
if(ml.getItemBase().isGlass() == true){ |
|
|
|
if(ml.getItemBase().isGlass() == true){ |
|
|
|
GlassItems.add(ml); |
|
|
|
GlassItems.add(ml); |
|
|
|
break; |
|
|
|
break; |
|
|
@ -97,13 +103,13 @@ public class simulateBootyCmd extends AbstractDevCmd { |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
output += "TOTAL ITEMS DROPPED: " + ReturnedBootyList.size(); |
|
|
|
output += "TOTAL ITEMS DROPPED: " + ReturnedBootyList.size() + newline; |
|
|
|
output += "GLASS ITEMS DROPPED: " + GlassItems.size(); |
|
|
|
output += "GLASS ITEMS DROPPED: " + GlassItems.size() + newline; |
|
|
|
output += "RESOURCE STACKS DROPPED: " + Resources.size(); |
|
|
|
output += "RESOURCE STACKS DROPPED: " + Resources.size() + newline; |
|
|
|
output += "RUNES DROPPED: " + Runes.size(); |
|
|
|
output += "RUNES DROPPED: " + Runes.size() + newline; |
|
|
|
output += "CONTRACTS DROPPED: " + Contracts.size(); |
|
|
|
output += "CONTRACTS DROPPED: " + Contracts.size() + newline; |
|
|
|
output += "OFFERINGS DROPPED: " + Offerings.size(); |
|
|
|
output += "OFFERINGS DROPPED: " + Offerings.size() + newline; |
|
|
|
output += "OTHERS DROPPED: " + OtherDrops.size(); |
|
|
|
output += "OTHERS DROPPED: " + OtherDrops.size() + newline; |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -130,21 +136,16 @@ public class simulateBootyCmd extends AbstractDevCmd { |
|
|
|
multiplier = Float.parseFloat(ConfigManager.MB_HOTZONE_DROP_RATE.getValue()); |
|
|
|
multiplier = Float.parseFloat(ConfigManager.MB_HOTZONE_DROP_RATE.getValue()); |
|
|
|
} |
|
|
|
} |
|
|
|
//simulate loot 100 times
|
|
|
|
//simulate loot 100 times
|
|
|
|
for(int i = 0; i < 100; ++i) { |
|
|
|
for(int i = 0; i < 5; ++i) { |
|
|
|
//iterate the booty sets
|
|
|
|
//iterate the booty sets
|
|
|
|
ArrayList<MobLoot> output1 = new ArrayList<>(); |
|
|
|
|
|
|
|
ArrayList<MobLoot> output2 = new ArrayList<>(); |
|
|
|
|
|
|
|
if (mob.getMobBase().bootySet != 0 && NPCManager._bootySetMap.containsKey(mob.getMobBase().bootySet)) { |
|
|
|
if (mob.getMobBase().bootySet != 0 && NPCManager._bootySetMap.containsKey(mob.getMobBase().bootySet)) { |
|
|
|
output1 = RunBootySet(NPCManager._bootySetMap.get(mob.getMobBase().bootySet), mob, multiplier, inHotzone); |
|
|
|
try { |
|
|
|
} |
|
|
|
ArrayList<MobLoot> testList = RunBootySet(NPCManager._bootySetMap.get(mob.getMobBase().bootySet), mob, multiplier, inHotzone); |
|
|
|
if (mob.bootySet != 0) { |
|
|
|
for (MobLoot lootItem : testList) { |
|
|
|
output2 = RunBootySet(NPCManager._bootySetMap.get(mob.bootySet), mob, multiplier, inHotzone); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
for (MobLoot lootItem : output1) { |
|
|
|
|
|
|
|
outList.add((lootItem)); |
|
|
|
outList.add((lootItem)); |
|
|
|
} |
|
|
|
} |
|
|
|
for (MobLoot lootItem : output2) { |
|
|
|
}catch(Exception ex){ |
|
|
|
outList.add((lootItem)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return outList; |
|
|
|
return outList; |
|
|
@ -152,7 +153,6 @@ public class simulateBootyCmd extends AbstractDevCmd { |
|
|
|
private static ArrayList<MobLoot> RunBootySet(ArrayList<BootySetEntry> entries, Mob mob, float multiplier, boolean inHotzone) { |
|
|
|
private static ArrayList<MobLoot> RunBootySet(ArrayList<BootySetEntry> entries, Mob mob, float multiplier, boolean inHotzone) { |
|
|
|
ArrayList<MobLoot> outList = new ArrayList<>(); |
|
|
|
ArrayList<MobLoot> outList = new ArrayList<>(); |
|
|
|
for (BootySetEntry bse : entries) { |
|
|
|
for (BootySetEntry bse : entries) { |
|
|
|
//check if chance roll is good
|
|
|
|
|
|
|
|
switch (bse.bootyType) { |
|
|
|
switch (bse.bootyType) { |
|
|
|
case "GOLD": |
|
|
|
case "GOLD": |
|
|
|
|
|
|
|
|
|
|
@ -177,9 +177,6 @@ public class simulateBootyCmd extends AbstractDevCmd { |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "ITEM": |
|
|
|
case "ITEM": |
|
|
|
MobLoot disc = new MobLoot(mob, ItemBase.getItemBase(bse.itemBase), true); |
|
|
|
|
|
|
|
if (disc != null) |
|
|
|
|
|
|
|
//mob.getCharItemManager().addItemToInventory(disc);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|