From d372391befa4aa75ee71e962190d4120ebf1c1fb Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Mon, 16 Dec 2019 17:28:52 +0000 Subject: [PATCH] Fixed pomanders disappearing when they should not during subclass cancel. Contributed by Sahar. --- .../scripts/features/SkillTransfer/SkillTransfer.java | 11 +++++++++-- .../scripts/features/SkillTransfer/SkillTransfer.java | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/features/SkillTransfer/SkillTransfer.java b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/features/SkillTransfer/SkillTransfer.java index e39a17d4c8..82eefdc1cc 100644 --- a/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/features/SkillTransfer/SkillTransfer.java +++ b/L2J_Mobius_CT_2.4_Epilogue/dist/game/data/scripts/features/SkillTransfer/SkillTransfer.java @@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.enums.IllegalActionPunishmentType; import org.l2jmobius.gameserver.model.PlayerCondOverride; import org.l2jmobius.gameserver.model.SkillLearn; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.base.ClassId; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerProfessionCancel; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerProfessionChange; import org.l2jmobius.gameserver.model.holders.ItemHolder; @@ -77,7 +78,8 @@ public class SkillTransfer extends AbstractNpcAI public void onProfessionCancel(OnPlayerProfessionCancel event) { final PlayerInstance player = event.getPlayer(); - final int index = getTransferClassIndex(player); + final ClassId classId = ClassId.getClassId(event.getClassId()); + final int index = getTransferClassIndex(classId); // is a transfer class if (index < 0) @@ -144,7 +146,12 @@ public class SkillTransfer extends AbstractNpcAI private static int getTransferClassIndex(PlayerInstance player) { - switch (player.getClassId()) + return getTransferClassIndex(player.getClassId()); + } + + private static int getTransferClassIndex(ClassId classId) + { + switch (classId) { case CARDINAL: { diff --git a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/features/SkillTransfer/SkillTransfer.java b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/features/SkillTransfer/SkillTransfer.java index e39a17d4c8..82eefdc1cc 100644 --- a/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/features/SkillTransfer/SkillTransfer.java +++ b/L2J_Mobius_CT_2.6_HighFive/dist/game/data/scripts/features/SkillTransfer/SkillTransfer.java @@ -23,6 +23,7 @@ import org.l2jmobius.gameserver.enums.IllegalActionPunishmentType; import org.l2jmobius.gameserver.model.PlayerCondOverride; import org.l2jmobius.gameserver.model.SkillLearn; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; +import org.l2jmobius.gameserver.model.base.ClassId; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerProfessionCancel; import org.l2jmobius.gameserver.model.events.impl.creature.player.OnPlayerProfessionChange; import org.l2jmobius.gameserver.model.holders.ItemHolder; @@ -77,7 +78,8 @@ public class SkillTransfer extends AbstractNpcAI public void onProfessionCancel(OnPlayerProfessionCancel event) { final PlayerInstance player = event.getPlayer(); - final int index = getTransferClassIndex(player); + final ClassId classId = ClassId.getClassId(event.getClassId()); + final int index = getTransferClassIndex(classId); // is a transfer class if (index < 0) @@ -144,7 +146,12 @@ public class SkillTransfer extends AbstractNpcAI private static int getTransferClassIndex(PlayerInstance player) { - switch (player.getClassId()) + return getTransferClassIndex(player.getClassId()); + } + + private static int getTransferClassIndex(ClassId classId) + { + switch (classId) { case CARDINAL: {