Recalculate stats after learning revelation skills.

This commit is contained in:
MobiusDevelopment 2022-12-11 04:14:37 +00:00
parent 038ee0ee41
commit 373376549c
26 changed files with 303 additions and 30 deletions

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -383,6 +384,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -433,6 +440,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -383,6 +384,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -433,6 +440,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -383,6 +384,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -433,6 +440,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -383,6 +384,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -433,6 +440,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -391,6 +392,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -441,6 +448,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -391,6 +392,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -441,6 +448,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -391,6 +392,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -441,6 +448,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -391,6 +392,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -441,6 +448,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -396,10 +396,10 @@ public class RequestAcquireSkill implements ClientPacket
* Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if
* (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level "
* + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId());
* giveSkill(player, trainer, skill); } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else
* { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
* giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if
* (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
case REVELATION_DUALCLASS:
{
@ -410,10 +410,10 @@ public class RequestAcquireSkill implements ClientPacket
* IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) {
* player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!",
* IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill);
* } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else {
* player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break;
* ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new
* ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
default:
{

View File

@ -20,6 +20,7 @@ import java.util.List;
import org.l2jmobius.Config;
import org.l2jmobius.commons.network.ReadablePacket;
import org.l2jmobius.commons.threads.ThreadPool;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
import org.l2jmobius.gameserver.enums.AcquireSkillType;
@ -433,6 +434,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS);
@ -483,6 +490,12 @@ public class RequestAcquireSkill implements ClientPacket
final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1];
player.getVariables().set(varName, skill.getId());
giveSkill(player, trainer, skill);
ThreadPool.schedule(() ->
{
player.getStat().recalculateStats(false);
player.broadcastInfo();
}, 100);
}
final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS);

View File

@ -411,10 +411,10 @@ public class RequestAcquireSkill implements ClientPacket
* Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if
* (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level "
* + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId());
* giveSkill(player, trainer, skill); } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else
* { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
* giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if
* (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
case REVELATION_DUALCLASS:
{
@ -425,10 +425,10 @@ public class RequestAcquireSkill implements ClientPacket
* IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) {
* player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!",
* IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill);
* } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else {
* player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break;
* ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new
* ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
default:
{

View File

@ -411,10 +411,10 @@ public class RequestAcquireSkill implements ClientPacket
* Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if
* (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level "
* + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId());
* giveSkill(player, trainer, skill); } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else
* { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
* giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if
* (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
case REVELATION_DUALCLASS:
{
@ -425,10 +425,10 @@ public class RequestAcquireSkill implements ClientPacket
* IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) {
* player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!",
* IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill);
* } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else {
* player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break;
* ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new
* ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
default:
{

View File

@ -411,10 +411,10 @@ public class RequestAcquireSkill implements ClientPacket
* Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if
* (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level "
* + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId());
* giveSkill(player, trainer, skill); } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else
* { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
* giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if
* (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
case REVELATION_DUALCLASS:
{
@ -425,10 +425,10 @@ public class RequestAcquireSkill implements ClientPacket
* IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) {
* player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!",
* IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill);
* } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else {
* player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break;
* ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new
* ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
default:
{

View File

@ -411,10 +411,10 @@ public class RequestAcquireSkill implements ClientPacket
* Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while not being level 85 or awaken!", IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : REVELATION_VAR_NAMES) { if
* (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level "
* + _level + " while having already learned 2 skills!", IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? REVELATION_VAR_NAMES[0] : REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId());
* giveSkill(player, trainer, skill); } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else
* { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
* giveSkill(player, trainer, skill); ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.BASECLASS); if
* (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
case REVELATION_DUALCLASS:
{
@ -425,10 +425,10 @@ public class RequestAcquireSkill implements ClientPacket
* IllegalActionPunishmentType.NONE); return; } int count = 0; for (String varName : DUALCLASS_REVELATION_VAR_NAMES) { if (player.getVariables().getInt(varName, 0) > 0) { count++; } } if (count >= 2) {
* player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_ITEMS_TO_LEARN_THIS_SKILL); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " is requesting skill Id: " + _id + " level " + _level + " while having already learned 2 skills!",
* IllegalActionPunishmentType.NONE); return; } if (checkPlayerSkill(player, trainer, s)) { final String varName = count == 0 ? DUALCLASS_REVELATION_VAR_NAMES[0] : DUALCLASS_REVELATION_VAR_NAMES[1]; player.getVariables().set(varName, skill.getId()); giveSkill(player, trainer, skill);
* } final List<SkillLearn> skills = SkillTreesData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else {
* player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); } break;
* ThreadPool.schedule(() -> { player.getStat().recalculateStats(false); player.broadcastInfo(); }, 100); } final List<SkillLearn> skills = SkillTreeData.getInstance().getAvailableRevelationSkills(player, SubclassType.DUALCLASS); if (!skills.isEmpty()) { player.sendPacket(new
* ExAcquirableSkillListByClass(skills, AcquireSkillType.REVELATION_DUALCLASS)); } else { player.sendPacket(SystemMessageId.THERE_ARE_NO_OTHER_SKILLS_TO_LEARN); }
*/
return;
break;
}
default:
{