You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
228 lines
7.3 KiB
228 lines
7.3 KiB
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . |
|
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· |
|
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ |
|
// ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ |
|
// ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ |
|
// 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(); |
|
} |
|
} |
|
}
|
|
|