}
try
{
statement = con.prepareStatement("SELECT mobId, itemId, min, max, sweep, chance, category FROM droplist ORDER BY mobId, category, chance DESC");
rs = statement.executeQuery();
L2DropData dropDat;
L2NpcTemplate npcDat;
while(rs.next())
{
int mobId = rs.getInt("mobId");
npcDat = _npcs[mobId];
if(npcDat != null)
{
dropDat = new L2DropData();
int id = rs.getShort("itemId");
if(ItemTable.getInstance().getTemplate(id).isCommonItem())
{
if(Config.ALT_ALLOW_DROP_COMMON)
{
dropDat.setChance(rs.getInt("chance") * Config.RATE_DROP_COMMON_ITEMS);
dropDat.setItemId(id);
}
else
{
int normalid = ItemTable.getInstance().findBaseId(id);
dropDat.setChance(((double) rs.getInt("chance")) * ItemTable.getInstance().getTemplate(id).getReferencePrice() / ItemTable.getInstance().getTemplate(normalid).getReferencePrice());
dropDat.setItemId(normalid);
}
}
else
{
dropDat.setItemId(id);
dropDat.setChance(rs.getInt("chance"));
}
dropDat.setMinDrop(rs.getInt("min"));
dropDat.setMaxDrop(rs.getInt("max"));
dropDat.setSweep(rs.getInt("sweep") == 1);
if(dropDat.getItem().isArrow() || dropDat.getItemId() == 1419)
{
dropDat.setGroupId(Byte.MAX_VALUE); // группа для нерейтуемых предметов, сюда же надо всякую фигню
}
else
{
dropDat.setGroupId(rs.getInt("category"));
}
npcDat.addDropData(dropDat);
}
}
for(L2NpcTemplate temp : _npcs)