// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package engine.db.handlers; import engine.loot.LootManager; import engine.objects.Item; import engine.objects.LootTable; import org.pmw.tinylog.Logger; import java.sql.ResultSet; import java.sql.SQLException; public class dbLootTableHandler extends dbHandlerBase { public dbLootTableHandler() { } public void populateLootGroups() { int recordsRead = 0; prepareCallable("SELECT `groupID`, `minRoll`, `maxRoll`, `lootTableID`, `pModTableID`, `sModTableID` FROM `static_lootgroups`"); try { ResultSet rs = executeQuery(); if (rs != null) while (rs.next()) { recordsRead++; LootTable lootTable = LootTable.getLootGroup(rs.getInt("groupID")); lootTable.addRow(rs.getFloat("minRoll"), rs.getFloat("maxRoll"), rs.getInt("lootTableID"), rs.getInt("pModTableID"), rs.getInt("sModTableID"), ""); } Logger.info("read: " + recordsRead + " cached: " + LootTable.getLootGroups().size()); } catch (SQLException e) { } finally { closeCallable(); } } public void populateLootTables() { int recordsRead = 0; prepareCallable("SELECT `lootTable`, `minRoll`, `maxRoll`, `itemBaseUUID`, `minSpawn`, `maxSpawn` FROM `static_loottables`"); try { ResultSet rs = executeQuery(); if (rs != null) while (rs.next()) { recordsRead++; LootTable lootTable = LootTable.getLootTable(rs.getInt("lootTable")); lootTable.addRow(rs.getFloat("minRoll"), rs.getFloat("maxRoll"), rs.getInt("itemBaseUUID"), rs.getInt("minSpawn"), rs.getInt("maxSpawn"), ""); } Logger.info("read: " + recordsRead + " cached: " + LootTable.getLootTables().size()); } catch (SQLException e) { } finally { closeCallable(); } } public void populateModTables() { int recordsRead = 0; prepareCallable("SELECT `modTable`,`minRoll`,`maxRoll`,`value`,`action` FROM `static_modtables`"); try { ResultSet rs = executeQuery(); if (rs != null) while (rs.next()) { recordsRead++; LootTable lootTable = LootTable.getModTable(rs.getInt("modTable")); lootTable.addRow(rs.getFloat("minRoll"), rs.getFloat("maxRoll"), rs.getInt("value"), 0, 0, rs.getString("action")); } Logger.info("read: " + recordsRead + " cached: " + LootTable.getModTables().size()); } catch (SQLException e) { } finally { closeCallable(); } } public void populateModGroups() { int recordsRead = 0; prepareCallable("SELECT `modGroup`,`minRoll`,`maxRoll`,`subTableID` FROM `static_modgroups`"); try { ResultSet rs = executeQuery(); if (rs != null) while (rs.next()) { recordsRead++; LootTable lootTable = LootTable.getModGroup(rs.getInt("modGroup")); lootTable.addRow(rs.getFloat("minRoll"), rs.getFloat("maxRoll"), rs.getInt("subTableID"), 0, 0, ""); } Logger.info("read: " + recordsRead + " cached: " + LootTable.getModGroups().size()); } catch (SQLException e) { } finally { closeCallable(); } } public void LOAD_ENCHANT_VALUES() { prepareCallable("SELECT `IDString`, `minMod` FROM `static_power_effectmod` WHERE `modType` = ?"); setString(1,"Value"); try { ResultSet rs = executeQuery(); while (rs.next()) { Item.addEnchantValue(rs.getString("IDString"), rs.getInt("minMod")); } } catch (SQLException e) { Logger.error( e); } finally { closeCallable(); } } public void LOAD_ALL_LOOTGROUPS() { int recordsRead = 0; prepareCallable("SELECT * FROM static_lootgroups"); try { ResultSet rs = executeQuery(); while (rs.next()) { LootManager.GenTableRow row = new LootManager.GenTableRow(rs); LootManager.AddGenTableRow(rs.getInt("groupID"), row); } Logger.info( "read: " + recordsRead); } catch (SQLException e) { Logger.error( e.getErrorCode() + ' ' + e.getMessage(), e); } finally { closeCallable(); } } public void LOAD_ALL_LOOTTABLES() { int recordsRead = 0; prepareCallable("SELECT * FROM static_loottables"); try { ResultSet rs = executeQuery(); while (rs.next()) { recordsRead++; LootManager.ItemTableRow row = new LootManager.ItemTableRow(rs); LootManager.AddItemTableRow(rs.getInt("lootTable"),row); } Logger.info("read: " + recordsRead); } catch (SQLException e) { Logger.error( e.getErrorCode() + ' ' + e.getMessage(), e); } finally { closeCallable(); } } public void LOAD_ALL_MODGROUPS() { int recordsRead = 0; prepareCallable("SELECT * FROM static_modgroups"); try { ResultSet rs = executeQuery(); while (rs.next()) { recordsRead++; LootManager.ModTypeTableRow mttr = new LootManager.ModTypeTableRow(rs); LootManager.AddModTypeTableRow(rs.getInt("modGroup"), mttr); } Logger.info( "read: " + recordsRead); } catch (SQLException e) { Logger.error(e.getErrorCode() + ' ' + e.getMessage(), e); } finally { closeCallable(); } } public void LOAD_ALL_MODTABLES() { int recordsRead = 0; prepareCallable("SELECT * FROM static_modtables"); try { ResultSet rs = executeQuery(); while (rs.next()) { recordsRead++; try { LootManager.ModTableRow mtr = new LootManager.ModTableRow(rs); LootManager.AddModTableRow(rs.getInt("modTable"),mtr); } catch(Exception ex){ Logger.info("MOD TABLE ERROR: " + rs.getInt("modTable")); } } Logger.info( "read: " + recordsRead); } catch (SQLException e) { Logger.error( e.getErrorCode() + ' ' + e.getMessage(), e); } finally { closeCallable(); } } }