Store player henna potential at character_potens table.
This commit is contained in:
parent
c08bd07361
commit
e285e8b2f0
@ -1,8 +1,8 @@
|
|||||||
DROP TABLE IF EXISTS `character_potens`;
|
DROP TABLE IF EXISTS `character_potens`;
|
||||||
CREATE TABLE IF NOT EXISTS `character_potens` (
|
CREATE TABLE IF NOT EXISTS `character_potens` (
|
||||||
`charId` INT UNSIGNED NOT NULL DEFAULT 0,
|
`charId` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||||
`enchant_level` INT,
|
`enchant_level` INT NOT NULL DEFAULT 0,
|
||||||
`enchant_exp` INT,
|
`enchant_exp` INT NOT NULL DEFAULT 0,
|
||||||
`poten_id` INT,
|
`poten_id` INT NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`charId`)
|
PRIMARY KEY (`charId`,`poten_id`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
@ -440,8 +440,7 @@ public class Player extends Playable
|
|||||||
private static final String ADD_CHAR_HENNA = "INSERT INTO character_hennas (charId,symbol_id,slot,class_index) VALUES (?,?,?,?)";
|
private static final String ADD_CHAR_HENNA = "INSERT INTO character_hennas (charId,symbol_id,slot,class_index) VALUES (?,?,?,?)";
|
||||||
private static final String DELETE_CHAR_HENNA = "DELETE FROM character_hennas WHERE charId=? AND slot=? AND class_index=?";
|
private static final String DELETE_CHAR_HENNA = "DELETE FROM character_hennas WHERE charId=? AND slot=? AND class_index=?";
|
||||||
private static final String ADD_CHAR_HENNA_POTENS = "REPLACE INTO character_potens (charId,enchant_level,enchant_exp,poten_id) VALUES (?,?,?,?)";
|
private static final String ADD_CHAR_HENNA_POTENS = "REPLACE INTO character_potens (charId,enchant_level,enchant_exp,poten_id) VALUES (?,?,?,?)";
|
||||||
// private static final String RESTORE_CHAR_HENNAS_POTENS = "SELECT poten_id,enchant_level,enchant_exp FROM character_potens WHERE charId=?";
|
private static final String RESTORE_CHAR_HENNA_POTENS = "SELECT poten_id,enchant_level,enchant_exp FROM character_potens WHERE charId=?";
|
||||||
// private static final String UPDATE_CHAR_HENNAS_POTENS = "UPDATE character_potens SET enchant_level=?,enchant_exp=?,poten_id=?,class_id=?,dual_class=? WHERE charId=?";
|
|
||||||
|
|
||||||
// Character Shortcut SQL String Definitions:
|
// Character Shortcut SQL String Definitions:
|
||||||
private static final String DELETE_CHAR_SHORTCUTS = "DELETE FROM character_shortcuts WHERE charId=? AND class_index=?";
|
private static final String DELETE_CHAR_SHORTCUTS = "DELETE FROM character_shortcuts WHERE charId=? AND class_index=?";
|
||||||
@ -7940,10 +7939,7 @@ public class Player extends Playable
|
|||||||
*/
|
*/
|
||||||
private void restoreHenna()
|
private void restoreHenna()
|
||||||
{
|
{
|
||||||
for (int i = 1; i < 5; i++)
|
restoreDyePoten();
|
||||||
{
|
|
||||||
_hennaPoten[i - 1] = new HennaPoten();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cancel and remove existing running tasks.
|
// Cancel and remove existing running tasks.
|
||||||
for (Entry<Integer, ScheduledFuture<?>> entry : _hennaRemoveSchedules.entrySet())
|
for (Entry<Integer, ScheduledFuture<?>> entry : _hennaRemoveSchedules.entrySet())
|
||||||
@ -8225,26 +8221,62 @@ public class Player extends Playable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void storeDyePoten()
|
private void restoreDyePoten()
|
||||||
{
|
{
|
||||||
if (_hennaPoten[0] == null)
|
int pos = 0;
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final HennaPoten hennaPoten = new HennaPoten();
|
|
||||||
try (Connection con = DatabaseFactory.getConnection();
|
try (Connection con = DatabaseFactory.getConnection();
|
||||||
PreparedStatement statement = con.prepareStatement(ADD_CHAR_HENNA_POTENS))
|
PreparedStatement statement = con.prepareStatement(RESTORE_CHAR_HENNA_POTENS))
|
||||||
{
|
{
|
||||||
statement.setInt(1, getObjectId());
|
statement.setInt(1, getObjectId());
|
||||||
statement.setInt(2, hennaPoten.getEnchantLevel());
|
try (ResultSet rset = statement.executeQuery())
|
||||||
statement.setInt(3, hennaPoten.getEnchantExp());
|
{
|
||||||
statement.setInt(4, hennaPoten.getPotenId());
|
while (rset.next())
|
||||||
statement.execute();
|
{
|
||||||
|
final int potenId = rset.getInt("poten_id");
|
||||||
|
if (potenId > 0)
|
||||||
|
{
|
||||||
|
_hennaPoten[pos] = new HennaPoten();
|
||||||
|
_hennaPoten[pos].setEnchantLevel(rset.getInt("enchant_level"));
|
||||||
|
_hennaPoten[pos].setEnchantExp(rset.getInt("enchant_exp"));
|
||||||
|
_hennaPoten[pos].setPotenId(potenId);
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
LOGGER.log(Level.SEVERE, "Failed saving character henna Potential.", e);
|
LOGGER.log(Level.SEVERE, "Failed restoring character " + this + " henna potential.", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = pos; i < 4; i++)
|
||||||
|
{
|
||||||
|
_hennaPoten[i] = new HennaPoten();
|
||||||
|
}
|
||||||
|
|
||||||
|
applyDyePotenSkills();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void storeDyePoten()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
if ((_hennaPoten[i] != null) && (_hennaPoten[i].getPotenId() > 0))
|
||||||
|
{
|
||||||
|
try (Connection con = DatabaseFactory.getConnection();
|
||||||
|
PreparedStatement statement = con.prepareStatement(ADD_CHAR_HENNA_POTENS))
|
||||||
|
{
|
||||||
|
statement.setInt(1, getObjectId());
|
||||||
|
statement.setInt(2, _hennaPoten[i].getEnchantLevel());
|
||||||
|
statement.setInt(3, _hennaPoten[i].getEnchantExp());
|
||||||
|
statement.setInt(4, _hennaPoten[i].getPotenId());
|
||||||
|
statement.execute();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LOGGER.log(Level.SEVERE, "Failed saving character " + this + " henna potential.", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10215,10 +10247,6 @@ public class Player extends Playable
|
|||||||
restoreEffects();
|
restoreEffects();
|
||||||
|
|
||||||
sendPacket(new EtcStatusUpdate(this));
|
sendPacket(new EtcStatusUpdate(this));
|
||||||
for (int i = 0; i < 3; i++)
|
|
||||||
{
|
|
||||||
_hennaPoten[i] = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
restoreHenna();
|
restoreHenna();
|
||||||
sendPacket(new HennaInfo(this));
|
sendPacket(new HennaInfo(this));
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
DROP TABLE IF EXISTS `character_potens`;
|
DROP TABLE IF EXISTS `character_potens`;
|
||||||
CREATE TABLE IF NOT EXISTS `character_potens` (
|
CREATE TABLE IF NOT EXISTS `character_potens` (
|
||||||
`charId` INT UNSIGNED NOT NULL DEFAULT 0,
|
`charId` INT UNSIGNED NOT NULL DEFAULT 0,
|
||||||
`enchant_level` INT,
|
`enchant_level` INT NOT NULL DEFAULT 0,
|
||||||
`enchant_exp` INT,
|
`enchant_exp` INT NOT NULL DEFAULT 0,
|
||||||
`poten_id` INT,
|
`poten_id` INT NOT NULL DEFAULT 0,
|
||||||
PRIMARY KEY (`charId`)
|
PRIMARY KEY (`charId`,`poten_id`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
|
@ -440,8 +440,7 @@ public class Player extends Playable
|
|||||||
private static final String ADD_CHAR_HENNA = "INSERT INTO character_hennas (charId,symbol_id,slot,class_index) VALUES (?,?,?,?)";
|
private static final String ADD_CHAR_HENNA = "INSERT INTO character_hennas (charId,symbol_id,slot,class_index) VALUES (?,?,?,?)";
|
||||||
private static final String DELETE_CHAR_HENNA = "DELETE FROM character_hennas WHERE charId=? AND slot=? AND class_index=?";
|
private static final String DELETE_CHAR_HENNA = "DELETE FROM character_hennas WHERE charId=? AND slot=? AND class_index=?";
|
||||||
private static final String ADD_CHAR_HENNA_POTENS = "REPLACE INTO character_potens (charId,enchant_level,enchant_exp,poten_id) VALUES (?,?,?,?)";
|
private static final String ADD_CHAR_HENNA_POTENS = "REPLACE INTO character_potens (charId,enchant_level,enchant_exp,poten_id) VALUES (?,?,?,?)";
|
||||||
// private static final String RESTORE_CHAR_HENNAS_POTENS = "SELECT poten_id,enchant_level,enchant_exp FROM character_potens WHERE charId=?";
|
private static final String RESTORE_CHAR_HENNA_POTENS = "SELECT poten_id,enchant_level,enchant_exp FROM character_potens WHERE charId=?";
|
||||||
// private static final String UPDATE_CHAR_HENNAS_POTENS = "UPDATE character_potens SET enchant_level=?,enchant_exp=?,poten_id=?,class_id=?,dual_class=? WHERE charId=?";
|
|
||||||
|
|
||||||
// Character Shortcut SQL String Definitions:
|
// Character Shortcut SQL String Definitions:
|
||||||
private static final String DELETE_CHAR_SHORTCUTS = "DELETE FROM character_shortcuts WHERE charId=? AND class_index=?";
|
private static final String DELETE_CHAR_SHORTCUTS = "DELETE FROM character_shortcuts WHERE charId=? AND class_index=?";
|
||||||
@ -7977,10 +7976,7 @@ public class Player extends Playable
|
|||||||
*/
|
*/
|
||||||
private void restoreHenna()
|
private void restoreHenna()
|
||||||
{
|
{
|
||||||
for (int i = 1; i < 5; i++)
|
restoreDyePoten();
|
||||||
{
|
|
||||||
_hennaPoten[i - 1] = new HennaPoten();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Cancel and remove existing running tasks.
|
// Cancel and remove existing running tasks.
|
||||||
for (Entry<Integer, ScheduledFuture<?>> entry : _hennaRemoveSchedules.entrySet())
|
for (Entry<Integer, ScheduledFuture<?>> entry : _hennaRemoveSchedules.entrySet())
|
||||||
@ -8262,26 +8258,62 @@ public class Player extends Playable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void storeDyePoten()
|
private void restoreDyePoten()
|
||||||
{
|
{
|
||||||
if (_hennaPoten[0] == null)
|
int pos = 0;
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
final HennaPoten hennaPoten = new HennaPoten();
|
|
||||||
try (Connection con = DatabaseFactory.getConnection();
|
try (Connection con = DatabaseFactory.getConnection();
|
||||||
PreparedStatement statement = con.prepareStatement(ADD_CHAR_HENNA_POTENS))
|
PreparedStatement statement = con.prepareStatement(RESTORE_CHAR_HENNA_POTENS))
|
||||||
{
|
{
|
||||||
statement.setInt(1, getObjectId());
|
statement.setInt(1, getObjectId());
|
||||||
statement.setInt(2, hennaPoten.getEnchantLevel());
|
try (ResultSet rset = statement.executeQuery())
|
||||||
statement.setInt(3, hennaPoten.getEnchantExp());
|
{
|
||||||
statement.setInt(4, hennaPoten.getPotenId());
|
while (rset.next())
|
||||||
statement.execute();
|
{
|
||||||
|
final int potenId = rset.getInt("poten_id");
|
||||||
|
if (potenId > 0)
|
||||||
|
{
|
||||||
|
_hennaPoten[pos] = new HennaPoten();
|
||||||
|
_hennaPoten[pos].setEnchantLevel(rset.getInt("enchant_level"));
|
||||||
|
_hennaPoten[pos].setEnchantExp(rset.getInt("enchant_exp"));
|
||||||
|
_hennaPoten[pos].setPotenId(potenId);
|
||||||
|
pos++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
LOGGER.log(Level.SEVERE, "Failed saving character henna Potential.", e);
|
LOGGER.log(Level.SEVERE, "Failed restoring character " + this + " henna potential.", e);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = pos; i < 4; i++)
|
||||||
|
{
|
||||||
|
_hennaPoten[i] = new HennaPoten();
|
||||||
|
}
|
||||||
|
|
||||||
|
applyDyePotenSkills();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void storeDyePoten()
|
||||||
|
{
|
||||||
|
for (int i = 0; i < 4; i++)
|
||||||
|
{
|
||||||
|
if ((_hennaPoten[i] != null) && (_hennaPoten[i].getPotenId() > 0))
|
||||||
|
{
|
||||||
|
try (Connection con = DatabaseFactory.getConnection();
|
||||||
|
PreparedStatement statement = con.prepareStatement(ADD_CHAR_HENNA_POTENS))
|
||||||
|
{
|
||||||
|
statement.setInt(1, getObjectId());
|
||||||
|
statement.setInt(2, _hennaPoten[i].getEnchantLevel());
|
||||||
|
statement.setInt(3, _hennaPoten[i].getEnchantExp());
|
||||||
|
statement.setInt(4, _hennaPoten[i].getPotenId());
|
||||||
|
statement.execute();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
LOGGER.log(Level.SEVERE, "Failed saving character " + this + " henna potential.", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10265,10 +10297,6 @@ public class Player extends Playable
|
|||||||
restoreEffects();
|
restoreEffects();
|
||||||
|
|
||||||
sendPacket(new EtcStatusUpdate(this));
|
sendPacket(new EtcStatusUpdate(this));
|
||||||
for (int i = 0; i < 3; i++)
|
|
||||||
{
|
|
||||||
_hennaPoten[i] = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
restoreHenna();
|
restoreHenna();
|
||||||
sendPacket(new HennaInfo(this));
|
sendPacket(new HennaInfo(this));
|
||||||
|
Loading…
Reference in New Issue
Block a user