mob loot rolling finalized

This commit is contained in:
2023-07-27 19:40:42 -05:00
parent 1fa5019ddb
commit 6d4566b94a
+8 -6
View File
@@ -187,11 +187,12 @@ public class LootManager {
Enum.ItemType outType = outItem.getItemBase().getType(); Enum.ItemType outType = outItem.getItemBase().getType();
if (outType.ordinal() == Enum.ItemType.WEAPON.ordinal() || outType.ordinal() == Enum.ItemType.ARMOR.ordinal() || outType.ordinal() == Enum.ItemType.JEWELRY.ordinal()) { if (outType.ordinal() == Enum.ItemType.WEAPON.ordinal() || outType.ordinal() == Enum.ItemType.ARMOR.ordinal() || outType.ordinal() == Enum.ItemType.JEWELRY.ordinal()) {
if (outItem.getItemBase().isGlass() == false) { if (outItem.getItemBase().isGlass() == false) {
int prefixChance = ThreadLocalRandom.current().nextInt(100); int prefixChanceRoll = ThreadLocalRandom.current().nextInt(101);
if(prefixChance < mob.level) { double prefixChance = 2.057 * mob.level - 28.67;
if(prefixChanceRoll < prefixChance) {
ModTypeTable prefixTable = modTypeTables.get(selectedRow.pModTable); ModTypeTable prefixTable = modTypeTables.get(selectedRow.pModTable);
int prefixroll = ThreadLocalRandom.current().nextInt(100)-1; int prefixroll = ThreadLocalRandom.current().nextInt(101);
if (modTables.get(prefixTable.getRowForRange(prefixroll).modTableID) != null) { if (modTables.get(prefixTable.getRowForRange(prefixroll).modTableID) != null) {
ModTable prefixModTable = modTables.get(prefixTable.getRowForRange(prefixroll).modTableID); ModTable prefixModTable = modTables.get(prefixTable.getRowForRange(prefixroll).modTableID);
ModTableRow prefixMod = prefixModTable.getRowForRange(TableRoll(mob.level)); ModTableRow prefixMod = prefixModTable.getRowForRange(TableRoll(mob.level));
@@ -201,9 +202,10 @@ public class LootManager {
} }
} }
} }
int suffixChance = ThreadLocalRandom.current().nextInt(100); int suffixChanceRoll = ThreadLocalRandom.current().nextInt(101);
if(suffixChance < mob.level) { double suffixChance = 2.057 * mob.level - 28.67;
int suffixroll = ThreadLocalRandom.current().nextInt(100)-1; if(suffixChanceRoll < suffixChance) {
int suffixroll = ThreadLocalRandom.current().nextInt(101);
ModTypeTable suffixTable = modTypeTables.get(selectedRow.sModTable); ModTypeTable suffixTable = modTypeTables.get(selectedRow.sModTable);
if (modTables.get(suffixTable.getRowForRange(suffixroll).modTableID) != null) { if (modTables.get(suffixTable.getRowForRange(suffixroll).modTableID) != null) {
ModTable suffixModTable = modTables.get(suffixTable.getRowForRange(suffixroll).modTableID); ModTable suffixModTable = modTables.get(suffixTable.getRowForRange(suffixroll).modTableID);