|
|
|
@ -103,20 +103,7 @@ public enum LootManager {
@@ -103,20 +103,7 @@ public enum LootManager {
|
|
|
|
|
float dropRate = NORMAL_DROP_RATE; |
|
|
|
|
|
|
|
|
|
// Iterate all entries in this bootySet and process accordingly
|
|
|
|
|
if (mob.level >= 30) { |
|
|
|
|
if(ThreadLocalRandom.current().nextInt(1, 20000) < mob.level) { |
|
|
|
|
ItemTableEntry tableRow = ItemTableEntry.rollTable(126, ThreadLocalRandom.current().nextInt(1, 100 + 1)); |
|
|
|
|
if (tableRow != null) { |
|
|
|
|
|
|
|
|
|
int itemUUID = tableRow.cacheID; |
|
|
|
|
|
|
|
|
|
if (itemUUID != 0) { |
|
|
|
|
|
|
|
|
|
MobLoot glassItem = new MobLoot(mob, ItemBase.getItemBase(itemUUID), false); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
for (BootySetEntry bse : entries) { |
|
|
|
|
switch (bse.bootyType) { |
|
|
|
|
case "GOLD": |
|
|
|
@ -125,6 +112,13 @@ public enum LootManager {
@@ -125,6 +112,13 @@ public enum LootManager {
|
|
|
|
|
case "LOOT": |
|
|
|
|
if (ThreadLocalRandom.current().nextInt(1, 100 + 1) < (bse.dropChance * dropRate)) |
|
|
|
|
GenerateLootDrop(mob, bse.genTable); //generate normal loot drop
|
|
|
|
|
if (mob.level >= 30) { |
|
|
|
|
if(ThreadLocalRandom.current().nextInt(1, 20000) < mob.level) { |
|
|
|
|
if (_genTables.containsKey(bse.genTable + 1) && ThreadLocalRandom.current().nextInt(1, 100 + 1) < (bse.dropChance * dropRate)) { |
|
|
|
|
GenerateLootDrop(mob, bse.genTable + 1); //generate loot drop from hotzone table
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case "ITEM": |
|
|
|
|
GenerateInventoryDrop(mob, bse); |
|
|
|
|