Browse Source

Rework of drop rate usage.

master
MagicBot 1 year ago
parent
commit
7ac78df913
  1. 24
      src/engine/gameManager/LootManager.java

24
src/engine/gameManager/LootManager.java

@ -106,22 +106,33 @@ public enum LootManager {
private static void RunBootySet(ArrayList<BootySetEntry> entries, Mob mob, float multiplier, boolean inHotzone, boolean fromDeath) { private static void RunBootySet(ArrayList<BootySetEntry> entries, Mob mob, float multiplier, boolean inHotzone, boolean fromDeath) {
if (fromDeath) boolean hotzoneWasRan = false;
if (fromDeath) {
GenerateEquipmentDrop(mob, multiplier); GenerateEquipmentDrop(mob, multiplier);
else { return;
}
// Iterate all entries in this bootyset and process accordingly
for (BootySetEntry bse : entries) { for (BootySetEntry bse : entries) {
switch (bse.bootyType) { switch (bse.bootyType) {
case "GOLD": case "GOLD":
GenerateGoldDrop(mob, bse, inHotzone); GenerateGoldDrop(mob, bse, inHotzone);
break; break;
case "LOOT": case "LOOT":
//always run base table loot drop
if (ThreadLocalRandom.current().nextInt(100) > NORMAL_DROP_RATE)
GenerateLootDrop(mob, bse.lootTable, bse.dropChance, multiplier, false); //generate normal loot drop GenerateLootDrop(mob, bse.lootTable, bse.dropChance, multiplier, false); //generate normal loot drop
//run another iteration for the hotzone table if in hotzone // Generate hotzone loot if in hotzone
if (inHotzone)
if (generalItemTables.containsKey(bse.lootTable + 1)) if (inHotzone == true && hotzoneWasRan == false)
if (generalItemTables.containsKey(bse.lootTable + 1) && ThreadLocalRandom.current().nextInt(100) > HOTZONE_DROP_RATE) {
GenerateLootDrop(mob, bse.lootTable + 1, bse.dropChance, multiplier, true); //generate loot drop from hotzone table GenerateLootDrop(mob, bse.lootTable + 1, bse.dropChance, multiplier, true); //generate loot drop from hotzone table
hotzoneWasRan = true;
}
break; break;
case "ITEM": case "ITEM":
GenerateInventoryDrop(mob, bse, multiplier); GenerateInventoryDrop(mob, bse, multiplier);
@ -129,7 +140,6 @@ public enum LootManager {
} }
} }
} }
}
public static MobLoot getGenTableItem(int genTableID, Mob mob, Boolean inHotzone) { public static MobLoot getGenTableItem(int genTableID, Mob mob, Boolean inHotzone) {

Loading…
Cancel
Save