Fixed a bug linked to perm stats not being modified when changing class.

This commit is contained in:
Ka0rX 2023-04-20 21:27:28 +01:00
parent f4be0ab409
commit 50f2de287c

View File

@ -293,6 +293,13 @@ public class SavedClassInformation implements ClassDataContainer {
if (!player.getProfess().hasOption(ClassOption.DEFAULT) || MMOCore.plugin.configManager.saveDefaultClassInfo)
player.applyClassInfo(player.getProfess(), new SavedClassInformation(player));
// Remove perm stats for nodes and class
for (SkillTree skillTree : player.getProfess().getSkillTrees())
for (SkillTreeNode node : skillTree.getNodes())
node.getExperienceTable().removePermStats(player, node);
if (player.getProfess().hasExperienceTable())
player.getProfess().getExperienceTable().removePermStats(player, player.getProfess());
/*
* Resets information which much be reset after everything is saved.
*/
@ -303,13 +310,6 @@ public class SavedClassInformation implements ClassDataContainer {
player.clearNodeStates();
player.clearNodeTimesClaimed();
// Remove perm stats for nodes and class
for (SkillTree skillTree : player.getProfess().getSkillTrees())
for (SkillTreeNode node : skillTree.getNodes())
node.getExperienceTable().removePermStats(player, node);
if (player.getProfess().hasExperienceTable())
player.getProfess().getExperienceTable().removePermStats(player, player.getProfess());
/*
* Reads this class info, applies it to the player. set class after
* changing level so the player stats can be calculated based on new level