ITEM loot uses chance to drop

This commit is contained in:
2023-07-30 15:57:01 -05:00
parent 46bb1cd8e8
commit f5375bca26
+10 -5
View File
@@ -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 {
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 {
}
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);