From b56c8ac983f7dc3106876dfd9da2f708314a5063 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Wed, 6 Feb 2019 04:27:53 +0000 Subject: [PATCH] Ability to make a skill tree with multiple requisites per skill. Contributed by hexash14. --- .../clientpackets/RequestAcquireSkill.java | 2 +- .../clientpackets/RequestAcquireSkill.java | 2 +- .../clientpackets/RequestAcquireSkill.java | 2 +- .../clientpackets/RequestAcquireSkill.java | 2 +- .../clientpackets/RequestAcquireSkill.java | 2 +- .../clientpackets/RequestAcquireSkill.java | 2 +- .../clientpackets/RequestAcquireSkill.java | 26 +++++++++---------- .../clientpackets/RequestAcquireSkill.java | 2 +- .../clientpackets/RequestAcquireSkill.java | 2 +- .../clientpackets/RequestAcquireSkill.java | 2 +- .../clientpackets/RequestAcquireSkill.java | 2 +- 11 files changed, 23 insertions(+), 23 deletions(-) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 0307494de4..a25b1bfd44 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index e35c04ab14..98b961326e 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index e35c04ab14..98b961326e 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index e35c04ab14..98b961326e 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { diff --git a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 25af69b089..224decbee7 100644 --- a/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_5.0_Salvation/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { diff --git a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 06cd97465f..065eb3d2f1 100644 --- a/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_5.5_EtinasFate/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { diff --git a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 44cabfa596..f1e0865ab1 100644 --- a/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_CT_2.6_HighFive/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -413,25 +413,25 @@ public final class RequestAcquireSkill implements IClientIncomingPacket * Consume required items if the skill require it and all requirements are meet.
* @param player the skill learning player. * @param trainer the skills teaching Npc. - * @param s the skill to be learn. + * @param skillLearn the skill to be learn. * @return {@code true} if all requirements are meet, {@code false} otherwise. */ - private boolean checkPlayerSkill(L2PcInstance player, L2Npc trainer, L2SkillLearn s) + private boolean checkPlayerSkill(L2PcInstance player, L2Npc trainer, L2SkillLearn skillLearn) { - if (s != null) + if (skillLearn != null) { - if ((s.getSkillId() == _id) && (s.getSkillLevel() == _level)) + if ((skillLearn.getSkillId() == _id) && (skillLearn.getSkillLevel() == _level)) { // Hack check. - if (s.getGetLevel() > player.getLevel()) + if (skillLearn.getGetLevel() > player.getLevel()) { player.sendPacket(SystemMessageId.YOU_DO_NOT_MEET_THE_SKILL_LEVEL_REQUIREMENTS); - Util.handleIllegalPlayerAction(player, "Player " + player.getName() + ", level " + player.getLevel() + " is requesting skill Id: " + _id + " level " + _level + " without having minimum required level, " + s.getGetLevel() + "!", IllegalActionPunishmentType.NONE); + Util.handleIllegalPlayerAction(player, "Player " + player.getName() + ", level " + player.getLevel() + " is requesting skill Id: " + _id + " level " + _level + " without having minimum required level, " + skillLearn.getGetLevel() + "!", IllegalActionPunishmentType.NONE); return false; } // First it checks that the skill require SP and the player has enough SP to learn it. - final int levelUpSp = s.getCalculatedLevelUpSp(player.getClassId(), player.getLearningClass()); + final int levelUpSp = skillLearn.getCalculatedLevelUpSp(player.getClassId(), player.getLearningClass()); if ((levelUpSp > 0) && (levelUpSp > player.getSp())) { player.sendPacket(SystemMessageId.YOU_DO_NOT_HAVE_ENOUGH_SP_TO_LEARN_THIS_SKILL); @@ -445,11 +445,11 @@ public final class RequestAcquireSkill implements IClientIncomingPacket } // Check for required skills. - if (!s.getPreReqSkills().isEmpty()) + if (!skillLearn.getPreReqSkills().isEmpty()) { - for (SkillHolder skill : s.getPreReqSkills()) + for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { @@ -465,11 +465,11 @@ public final class RequestAcquireSkill implements IClientIncomingPacket } // Check for required items. - if (!s.getRequiredItems().isEmpty()) + if (!skillLearn.getRequiredItems().isEmpty()) { // Then checks that the player has all the items long reqItemCount = 0; - for (ItemHolder item : s.getRequiredItems()) + for (ItemHolder item : skillLearn.getRequiredItems()) { reqItemCount = player.getInventory().getInventoryItemCount(item.getId(), -1); if (reqItemCount < item.getCount()) @@ -481,7 +481,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket } } // If the player has all required items, they are consumed. - for (ItemHolder itemIdCount : s.getRequiredItems()) + for (ItemHolder itemIdCount : skillLearn.getRequiredItems()) { if (!player.destroyItemByItemId("SkillLearn", itemIdCount.getId(), itemIdCount.getCount(), trainer, true)) { diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 7b4a6c54b2..d56123425c 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 7b4a6c54b2..d56123425c 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index beab55240b..38ad229d14 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) { diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java index 5a98908ec0..3536197a8b 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/com/l2jmobius/gameserver/network/clientpackets/RequestAcquireSkill.java @@ -608,7 +608,7 @@ public final class RequestAcquireSkill implements IClientIncomingPacket { for (SkillHolder skill : skillLearn.getPreReqSkills()) { - if (player.getSkillLevel(skill.getSkillId()) != skill.getSkillLevel()) + if (player.getSkillLevel(skill.getSkillId()) < skill.getSkillLevel()) { if (skill.getSkillId() == CommonSkill.ONYX_BEAST_TRANSFORMATION.getId()) {