Old dualclass system adjustment.

This commit is contained in:
MobiusDevelopment 2021-10-20 21:01:07 +00:00
parent 0b36e63016
commit 8b6d2c3b9a
20 changed files with 220 additions and 220 deletions

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -468,6 +470,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7393,16 +7393,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7610,16 +7600,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -476,6 +478,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7396,16 +7396,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7613,16 +7603,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -476,6 +478,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7398,16 +7398,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7615,16 +7605,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -476,6 +478,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7393,16 +7393,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7610,16 +7600,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -480,6 +482,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7375,16 +7375,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7592,16 +7582,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -480,6 +482,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7375,16 +7375,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7592,16 +7582,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -482,6 +484,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7376,16 +7376,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7593,16 +7583,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -488,6 +490,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7390,16 +7390,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7607,16 +7597,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -488,6 +490,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7492,16 +7492,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7709,16 +7699,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {

View File

@ -22,6 +22,8 @@ import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.InputStream; import java.io.InputStream;
import java.lang.management.ManagementFactory; import java.lang.management.ManagementFactory;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.time.Duration; import java.time.Duration;
import java.util.Calendar; import java.util.Calendar;
import java.util.logging.Level; import java.util.logging.Level;
@ -490,6 +492,24 @@ public class GameServer
LoginServerThread.getInstance().start(); LoginServerThread.getInstance().start();
Toolkit.getDefaultToolkit().beep(); Toolkit.getDefaultToolkit().beep();
// TODO: Remove this.
// Old dualclass system adjustment.
if (!GlobalVariablesManager.getInstance().getBoolean("DUALCLASS_SYSTEM_UPDATED", false))
{
GlobalVariablesManager.getInstance().set("DUALCLASS_SYSTEM_UPDATED", true);
try (Connection con = DatabaseFactory.getConnection();
PreparedStatement ps1 = con.prepareStatement("DELETE from character_variables WHERE var='KNOWN_DUAL_SKILLS'");
PreparedStatement ps2 = con.prepareStatement("DELETE from character_skills WHERE skill_id in (19222, 19223, 19224, 19225, 19226, 19229, 19290)"))
{
ps1.execute();
ps2.execute();
}
catch (Exception e)
{
LOGGER.warning(e.getMessage());
}
}
} }
public long getStartedTime() public long getStartedTime()

View File

@ -7518,16 +7518,6 @@ public class PlayerInstance extends Playable
storeSkill(newSkill, oldSkill, -1); storeSkill(newSkill, oldSkill, -1);
if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId())) if (CommonUtil.contains(DUAL_CLASS_SKILLS, newSkill.getId()))
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
knownSkills.put(newSkill.getId(), newSkill.getLevel()); knownSkills.put(newSkill.getId(), newSkill.getLevel());
getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills); getVariables().setIntegerMap(KNOWN_DUAL_SKILLS_VAR, knownSkills);
@ -7735,16 +7725,6 @@ public class PlayerInstance extends Playable
{ {
if (isDualClassActive() || !isSubClassActive()) if (isDualClassActive() || !isSubClassActive())
{ {
// Old system compatibility.
if (getVariables().getString(KNOWN_DUAL_SKILLS_VAR, "").contains("("))
{
getVariables().set(KNOWN_DUAL_SKILLS_VAR, "");
for (int skillId : DUAL_CLASS_SKILLS)
{
removeSkill(skillId);
}
}
final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR); final Map<Integer, Integer> knownSkills = getVariables().getIntegerMap(KNOWN_DUAL_SKILLS_VAR);
if (knownSkills.isEmpty()) if (knownSkills.isEmpty())
{ {