|
|
|
@ -112,24 +112,26 @@ public enum LootManager {
@@ -112,24 +112,26 @@ 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, 20000) == 10000) { |
|
|
|
|
if(ThreadLocalRandom.current().nextInt(1,101) < mob.level && mob.parentZone.getSafeZone() == 0) { |
|
|
|
|
if (ThreadLocalRandom.current().nextInt(1, 20000) == 10000) { |
|
|
|
|
if (_genTables.containsKey(bse.genTable + 1)) { |
|
|
|
|
int roll = ThreadLocalRandom.current().nextInt(1,101); |
|
|
|
|
int roll = ThreadLocalRandom.current().nextInt(1, 101); |
|
|
|
|
MobLoot extraLoot = null; |
|
|
|
|
if(roll >= 1 && roll <= 47){ |
|
|
|
|
if (roll >= 1 && roll <= 47) { |
|
|
|
|
extraLoot = rollForContract(bse.genTable + 1, mob); |
|
|
|
|
} |
|
|
|
|
if(roll >= 48 && roll <= 94){ |
|
|
|
|
if (roll >= 48 && roll <= 94) { |
|
|
|
|
extraLoot = rollForRune(bse.genTable + 1, mob); |
|
|
|
|
} |
|
|
|
|
if(roll >= 95){ |
|
|
|
|
if (roll >= 95) { |
|
|
|
|
extraLoot = rollForGlass(mob); |
|
|
|
|
} |
|
|
|
|
if(extraLoot != null){ |
|
|
|
|
if (extraLoot != null) { |
|
|
|
|
mob.getCharItemManager().addItemToInventory(extraLoot); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
break; |
|
|
|
|
case "ITEM": |
|
|
|
|
GenerateInventoryDrop(mob, bse); |
|
|
|
@ -145,7 +147,7 @@ public enum LootManager {
@@ -145,7 +147,7 @@ public enum LootManager {
|
|
|
|
|
|
|
|
|
|
MobLoot outItem; |
|
|
|
|
|
|
|
|
|
int genRoll = ThreadLocalRandom.current().nextInt(1,100 + 1); |
|
|
|
|
int genRoll = ThreadLocalRandom.current().nextInt(1,94 + 1); |
|
|
|
|
|
|
|
|
|
GenTableEntry selectedRow = GenTableEntry.rollTable(genTableID, genRoll, 1.0f); |
|
|
|
|
|
|
|
|
|