forked from MagicBane/Server
simulate booty command work
This commit is contained in:
@@ -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);
|
outList.add((lootItem));
|
||||||
}
|
}
|
||||||
for (MobLoot lootItem : output1) {
|
}catch(Exception ex){
|
||||||
outList.add((lootItem));
|
}
|
||||||
}
|
|
||||||
for (MobLoot lootItem : output2) {
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1360,7 +1360,7 @@ public class Mob extends AbstractIntelligenceAgent {
|
|||||||
* Clears and sets the inventory of the Mob. Must be called every time the
|
* Clears and sets the inventory of the Mob. Must be called every time the
|
||||||
* mob is spawned or respawned.
|
* mob is spawned or respawned.
|
||||||
*/
|
*/
|
||||||
private void loadInventory() {
|
public void loadInventory() {
|
||||||
|
|
||||||
if (!MBServerStatics.ENABLE_MOB_LOOT)
|
if (!MBServerStatics.ENABLE_MOB_LOOT)
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user