Browse Source

ITEM loot uses chance to drop

master
FatBoy-DOTC 1 year ago
parent
commit
f5375bca26
  1. 15
      src/engine/loot/LootManager.java

15
src/engine/loot/LootManager.java

@ -104,7 +104,7 @@ public class LootManager { @@ -104,7 +104,7 @@ public class LootManager {
}
break;
case "ITEM":
GenerateItemLootDrop(mob,bse);
GenerateItemLootDrop(mob,bse,multiplier);
break;
}
}
@ -175,9 +175,9 @@ public class LootManager { @@ -175,9 +175,9 @@ public class LootManager {
if(mobLevel > 65){
mobLevel = 65;
}
int max = (int)(5.882 * mobLevel + 127.0);
if(max > 320){
max = 320;
int max = (int)(4.882 * mobLevel + 127.0);
if(max > 321){
max = 321;
}
int min = (int)(4.469 * mobLevel - 3.469);
int roll = ThreadLocalRandom.current().nextInt(max-min) + min;
@ -273,7 +273,12 @@ public class LootManager { @@ -273,7 +273,12 @@ public class LootManager {
}
return;
}
public static void GenerateItemLootDrop(Mob mob, BootySetEntry bse){
public static void GenerateItemLootDrop(Mob mob, BootySetEntry bse, float multiplier){
int chanceRoll = ThreadLocalRandom.current().nextInt(100) + 1;
if (chanceRoll > bse.dropChance * multiplier) {
//early exit, failed to hit minimum chance roll
return;
}
MobLoot disc = new MobLoot(mob, ItemBase.getItemBase(bse.itemBase), true);
if (disc != null)
mob.getCharItemManager().addItemToInventory(disc);

Loading…
Cancel
Save