java.sql.Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT `mobId`,`polyId`,`spawnDelay`,`condition`,`conditionValue` FROM `polymorph_monsters` ORDER BY `mobId` ASC, `order`;"); ResultSet resultSet = statement.executeQuery(); PolymorphMonster polymorphMonster = null; int lastMobId = 0, nextMobId = 0; while (resultSet.next()) { if (polymorphMonster == null) { lastMobId = resultSet.getInt("mobId"); polymorphMonster = new PolymorphMonster(lastMobId); polymorphMonster.addPolyInfo(resultSet.getInt("polyId"), resultSet.getInt("spawnDelay"), resultSet.getInt("condition"), resultSet.getInt("conditionValue")); continue; } nextMobId = resultSet.getInt("mobId"); if (nextMobId != lastMobId) { _polymorphMonsters.add(polymorphMonster); polymorphMonster = new PolymorphMonster(nextMobId); polymorphMonster.addPolyInfo(resultSet.getInt("polyId"), resultSet.getInt("spawnDelay"), resultSet.getInt("condition"), resultSet.getInt("conditionValue")); lastMobId = nextMobId; continue; } polymorphMonster.addPolyInfo(resultSet.getInt("polyId"), resultSet.getInt("spawnDelay"), resultSet.getInt("condition"), resultSet.getInt("conditionValue")); } _polymorphMonsters.add(polymorphMonster); polymorphMonster = null; resultSet.close(); statement.close(); } catch (Exception e) { System.out.println("Error while loading polymorph monsters: " + e); } finally { try { con.close(); } catch (Exception e) {} System.out.println("PolymorphMonstersTable: Loaded " + _polymorphMonsters.size() + " polymorph monsters."); }