|
|
|
@ -127,9 +127,8 @@ public enum LootManager {
@@ -127,9 +127,8 @@ public enum LootManager {
|
|
|
|
|
case "LOOT": |
|
|
|
|
if (ThreadLocalRandom.current().nextInt(1, 100 + 1) < (bse.dropChance * dropRate)) |
|
|
|
|
GenerateLootDrop(mob, bse.genTable); //generate normal loot drop
|
|
|
|
|
if(ThreadLocalRandom.current().nextInt(1,101) < mob.level && mob.parentZone.getSafeZone() == 0) { |
|
|
|
|
if (ThreadLocalRandom.current().nextInt(1, 10000) < mob.level) { |
|
|
|
|
if (_genTables.containsKey(bse.genTable + 1)) { |
|
|
|
|
if(mob.parentZone.getSafeZone() == 0) { |
|
|
|
|
if (ThreadLocalRandom.current().nextInt(1, 10000) < 10) { |
|
|
|
|
int roll = ThreadLocalRandom.current().nextInt(1, 101); |
|
|
|
|
MobLoot extraLoot = null; |
|
|
|
|
if (roll >= 1 && roll <= 50) { |
|
|
|
@ -144,7 +143,6 @@ public enum LootManager {
@@ -144,7 +143,6 @@ public enum LootManager {
|
|
|
|
|
if (extraLoot != null) { |
|
|
|
|
mob.getCharItemManager().addItemToInventory(extraLoot); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
@ -333,6 +331,8 @@ public enum LootManager {
@@ -333,6 +331,8 @@ public enum LootManager {
|
|
|
|
|
try { |
|
|
|
|
|
|
|
|
|
MobLoot toAdd = getGenTableItem(tableID, mob); |
|
|
|
|
if(toAdd.getItemBase().getType().equals(Enum.ItemType.CONTRACT) || toAdd.getItemBase().getType().equals(Enum.ItemType.RUNE)) |
|
|
|
|
return;//block all contracts and runes that drop outside the confines of the new system
|
|
|
|
|
|
|
|
|
|
if (toAdd != null) { |
|
|
|
|
toAdd.setIsID(true); |
|
|
|
@ -340,7 +340,6 @@ public enum LootManager {
@@ -340,7 +340,6 @@ public enum LootManager {
|
|
|
|
|
} |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
//TODO chase down loot generation error, affects roughly 2% of drops
|
|
|
|
|
int i = 0; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|