diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java index 5695b5de8d95240d8a8c647b1d1b64c84fb385a2..1e8035bdc8091f6d1f30d466faa33d23c56cdd67 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/instances/Kamaloka/Kamaloka.java @@ -23,6 +23,7 @@ import java.util.Arrays; import java.util.Calendar; import java.util.List; import java.util.Map; +import java.util.function.Function; import java.util.logging.Level; import com.l2jserver.gameserver.datatables.SkillData; @@ -37,7 +38,6 @@ import com.l2jserver.gameserver.model.actor.instance.L2MonsterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.Instance; import com.l2jserver.gameserver.model.instancezone.InstanceWorld; -import com.l2jserver.gameserver.model.interfaces.IProcedure; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.skills.BuffInfo; import com.l2jserver.gameserver.model.skills.Skill; @@ -1183,19 +1183,6 @@ public final class Kamaloka extends Quest 31340 }; - private static final IProcedure<BuffInfo, Boolean> REMOVE_BUFFS = new IProcedure<BuffInfo, Boolean>() - { - @Override - public Boolean execute(BuffInfo info) - { - if ((info != null) && !info.getSkill().isStayAfterDeath() && (Arrays.binarySearch(BUFFS_WHITELIST, info.getSkill().getId()) < 0)) - { - info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill()); - } - return true; - } - }; - protected class KamaWorld extends InstanceWorld { public int index; // 0-18 index of the kama type in arrays @@ -1335,11 +1322,20 @@ public final class Kamaloka extends Quest */ private static final void removeBuffs(L2Character ch) { - ch.getEffectList().forEach(REMOVE_BUFFS, false); + Function<BuffInfo, Boolean> removeBuffs = info -> + { + if ((info != null) && !info.getSkill().isStayAfterDeath() && (Arrays.binarySearch(BUFFS_WHITELIST, info.getSkill().getId()) < 0)) + { + info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill()); + } + return true; + }; + + ch.getEffectList().forEach(removeBuffs, false); if (ch.hasSummon()) { - ch.getSummon().getEffectList().forEach(REMOVE_BUFFS, false); + ch.getSummon().getEffectList().forEach(removeBuffs, false); } } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java index cbedded6778cc5329e8249be6154579e148bc286..921c5a76b315f5377eb03c14970b95e7d2bf2542 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10290_LandDragonConqueror/Q10290_LandDragonConqueror.java @@ -18,9 +18,10 @@ */ package quests.Q10290_LandDragonConqueror; +import java.util.function.Function; + import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.interfaces.IProcedure; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; @@ -32,33 +33,6 @@ import com.l2jserver.gameserver.util.Util; */ public final class Q10290_LandDragonConqueror extends Quest { - public class RewardCheck implements IProcedure<L2PcInstance, Boolean> - { - private final L2Npc _npc; - - public RewardCheck(L2Npc npc) - { - _npc = npc; - } - - @Override - public Boolean execute(L2PcInstance member) - { - if (Util.checkIfInRange(8000, _npc, member, false)) - { - QuestState st = member.getQuestState(getName()); - - if ((st != null) && st.isCond(1) && st.hasQuestItems(SHABBY_NECKLACE)) - { - st.takeItems(SHABBY_NECKLACE, -1); - st.giveItems(MIRACLE_NECKLACE, 1); - st.setCond(2, true); - } - } - return true; - } - } - // NPC private static final int THEODRIC = 30755; // Monster @@ -106,14 +80,30 @@ public final class Q10290_LandDragonConqueror extends Quest return super.onKill(npc, player, isSummon); } + Function<L2PcInstance, Boolean> rewardCheck = p -> + { + if (Util.checkIfInRange(8000, npc, p, false)) + { + QuestState st = p.getQuestState(getName()); + + if ((st != null) && st.isCond(1) && st.hasQuestItems(SHABBY_NECKLACE)) + { + st.takeItems(SHABBY_NECKLACE, -1); + st.giveItems(MIRACLE_NECKLACE, 1); + st.setCond(2, true); + } + } + return true; + }; + // rewards go only to command channel, not to a single party or player (retail Freya AI) if (player.getParty().isInCommandChannel()) { - player.getParty().getCommandChannel().forEachMember(new RewardCheck(npc)); + player.getParty().getCommandChannel().forEachMember(rewardCheck); } else { - player.getParty().forEachMember(new RewardCheck(npc)); + player.getParty().forEachMember(rewardCheck); } return super.onKill(npc, player, isSummon); } diff --git a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java index 31a57b30cdbb37e5f92e876ca51cd8f97a9037b7..be3e9eb68bdbb537385e06c5ac96c125fda8d874 100644 --- a/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java +++ b/L2J_DataPack_BETA/dist/game/data/scripts/quests/Q10291_FireDragonDestroyer/Q10291_FireDragonDestroyer.java @@ -18,9 +18,10 @@ */ package quests.Q10291_FireDragonDestroyer; +import java.util.function.Function; + import com.l2jserver.gameserver.model.actor.L2Npc; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.model.interfaces.IProcedure; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.model.quest.State; @@ -32,33 +33,6 @@ import com.l2jserver.gameserver.util.Util; */ public class Q10291_FireDragonDestroyer extends Quest { - public class RewardCheck implements IProcedure<L2PcInstance, Boolean> - { - private final L2Npc _npc; - - public RewardCheck(L2Npc npc) - { - _npc = npc; - } - - @Override - public Boolean execute(L2PcInstance member) - { - if (Util.checkIfInRange(8000, _npc, member, false)) - { - QuestState st = member.getQuestState(getName()); - - if ((st != null) && st.isCond(1) && st.hasQuestItems(POOR_NECKLACE)) - { - st.takeItems(POOR_NECKLACE, -1); - st.giveItems(VALOR_NECKLACE, 1); - st.setCond(2, true); - } - } - return true; - } - } - // NPC private static final int KLEIN = 31540; // Monster @@ -105,14 +79,30 @@ public class Q10291_FireDragonDestroyer extends Quest return super.onKill(npc, player, isSummon); } + Function<L2PcInstance, Boolean> rewardCheck = p -> + { + if (Util.checkIfInRange(8000, npc, p, false)) + { + QuestState st = p.getQuestState(getName()); + + if ((st != null) && st.isCond(1) && st.hasQuestItems(POOR_NECKLACE)) + { + st.takeItems(POOR_NECKLACE, -1); + st.giveItems(VALOR_NECKLACE, 1); + st.setCond(2, true); + } + } + return true; + }; + // Rewards go only to command channel, not to a single party or player. if (player.getParty().isInCommandChannel()) { - player.getParty().getCommandChannel().forEachMember(new RewardCheck(npc)); + player.getParty().getCommandChannel().forEachMember(rewardCheck); } else { - player.getParty().forEachMember(new RewardCheck(npc)); + player.getParty().forEachMember(rewardCheck); } return super.onKill(npc, player, isSummon); }