forked from MagicBane/Server
simulate booty command work
This commit is contained in:
@@ -67,14 +67,20 @@ public class simulateBootyCmd extends AbstractDevCmd {
|
||||
|
||||
case Mob:
|
||||
Mob mob = (Mob) target;
|
||||
ArrayList<MobLoot> GlassItems = new ArrayList<MobLoot>();
|
||||
ArrayList<MobLoot> Resources = new ArrayList<MobLoot>();
|
||||
ArrayList<MobLoot> Runes = new ArrayList<MobLoot>();
|
||||
ArrayList<MobLoot> Contracts = new ArrayList<MobLoot>();
|
||||
ArrayList<MobLoot> Offerings = new ArrayList<MobLoot>();
|
||||
ArrayList<MobLoot> OtherDrops = new ArrayList<MobLoot>();
|
||||
ArrayList<MobLoot>ReturnedBootyList = SimulateMobLoot(mob);
|
||||
for(MobLoot ml : ReturnedBootyList){
|
||||
ArrayList<Item> GlassItems = new ArrayList<Item>();
|
||||
ArrayList<Item> Resources = new ArrayList<Item>();
|
||||
ArrayList<Item> Runes = new ArrayList<Item>();
|
||||
ArrayList<Item> Contracts = new ArrayList<Item>();
|
||||
ArrayList<Item> Offerings = new ArrayList<Item>();
|
||||
ArrayList<Item> OtherDrops = new ArrayList<Item>();
|
||||
ArrayList<Item>ReturnedBootyList = new ArrayList<Item>();
|
||||
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){
|
||||
GlassItems.add(ml);
|
||||
break;
|
||||
@@ -97,13 +103,13 @@ public class simulateBootyCmd extends AbstractDevCmd {
|
||||
break;
|
||||
}
|
||||
}
|
||||
output += "TOTAL ITEMS DROPPED: " + ReturnedBootyList.size();
|
||||
output += "GLASS ITEMS DROPPED: " + GlassItems.size();
|
||||
output += "RESOURCE STACKS DROPPED: " + Resources.size();
|
||||
output += "RUNES DROPPED: " + Runes.size();
|
||||
output += "CONTRACTS DROPPED: " + Contracts.size();
|
||||
output += "OFFERINGS DROPPED: " + Offerings.size();
|
||||
output += "OTHERS DROPPED: " + OtherDrops.size();
|
||||
output += "TOTAL ITEMS DROPPED: " + ReturnedBootyList.size() + newline;
|
||||
output += "GLASS ITEMS DROPPED: " + GlassItems.size() + newline;
|
||||
output += "RESOURCE STACKS DROPPED: " + Resources.size() + newline;
|
||||
output += "RUNES DROPPED: " + Runes.size() + newline;
|
||||
output += "CONTRACTS DROPPED: " + Contracts.size() + newline;
|
||||
output += "OFFERINGS DROPPED: " + Offerings.size() + newline;
|
||||
output += "OTHERS DROPPED: " + OtherDrops.size() + newline;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -130,21 +136,16 @@ public class simulateBootyCmd extends AbstractDevCmd {
|
||||
multiplier = Float.parseFloat(ConfigManager.MB_HOTZONE_DROP_RATE.getValue());
|
||||
}
|
||||
//simulate loot 100 times
|
||||
for(int i = 0; i < 100; ++i) {
|
||||
for(int i = 0; i < 5; ++i) {
|
||||
//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)) {
|
||||
output1 = RunBootySet(NPCManager._bootySetMap.get(mob.getMobBase().bootySet), mob, multiplier, inHotzone);
|
||||
}
|
||||
if (mob.bootySet != 0) {
|
||||
output2 = RunBootySet(NPCManager._bootySetMap.get(mob.bootySet), mob, multiplier, inHotzone);
|
||||
}
|
||||
for (MobLoot lootItem : output1) {
|
||||
outList.add((lootItem));
|
||||
}
|
||||
for (MobLoot lootItem : output2) {
|
||||
outList.add((lootItem));
|
||||
try {
|
||||
ArrayList<MobLoot> testList = RunBootySet(NPCManager._bootySetMap.get(mob.getMobBase().bootySet), mob, multiplier, inHotzone);
|
||||
for (MobLoot lootItem : testList) {
|
||||
outList.add((lootItem));
|
||||
}
|
||||
}catch(Exception ex){
|
||||
}
|
||||
}
|
||||
}
|
||||
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) {
|
||||
ArrayList<MobLoot> outList = new ArrayList<>();
|
||||
for (BootySetEntry bse : entries) {
|
||||
//check if chance roll is good
|
||||
switch (bse.bootyType) {
|
||||
case "GOLD":
|
||||
|
||||
@@ -177,9 +177,6 @@ public class simulateBootyCmd extends AbstractDevCmd {
|
||||
}
|
||||
break;
|
||||
case "ITEM":
|
||||
MobLoot disc = new MobLoot(mob, ItemBase.getItemBase(bse.itemBase), true);
|
||||
if (disc != null)
|
||||
//mob.getCharItemManager().addItemToInventory(disc);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1360,7 +1360,7 @@ public class Mob extends AbstractIntelligenceAgent {
|
||||
* Clears and sets the inventory of the Mob. Must be called every time the
|
||||
* mob is spawned or respawned.
|
||||
*/
|
||||
private void loadInventory() {
|
||||
public void loadInventory() {
|
||||
|
||||
if (!MBServerStatics.ENABLE_MOB_LOOT)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user