Psyancy Posted July 3, 2017 Share Posted July 3, 2017 (edited) Index: config/head/altsettings.properties =================================================================== --- config/head/altsettings.properties (revision 1118) +++ config/head/altsettings.properties (working copy) # Maximum number of debuffs MaxDebuffAmount = 6 +# ----------------------------------------- +# Canceled Buffs Return +# ----------------------------------------- +# With this feature, players will get their +# canceled buffs back after the amount of +# seconds you've set on CustomCancelSeconds +# Enable Canceled Buffs Return? +# Default : False +AllowCustomCancelTask = False + +# Time for buffs to return in seconds +# Default: 15 +CustomCancelSeconds = 15 Index: head-src/com/l2jfrozen/Config.java =================================================================== --- head-src/com/l2jfrozen/Config.java (revision 1118) +++ head-src/com/l2jfrozen/Config.java (working copy) public static boolean ALT_MOBS_STATS_BONUS; public static boolean ALT_PETS_STATS_BONUS; + public static boolean ALLOW_CUSTOM_CANCEL; + public static int CUSTOM_CANCEL_SECONDS; =================================================================== ALT_LOTTERY_2_AND_1_NUMBER_PRIZE = Integer.parseInt(altSettings.getProperty("AltLottery2and1NumberPrize", "200")); BUFFS_MAX_AMOUNT = Byte.parseByte(altSettings.getProperty("MaxBuffAmount", "24")); DEBUFFS_MAX_AMOUNT = Byte.parseByte(altSettings.getProperty("MaxDebuffAmount", "6")); + ALLOW_CUSTOM_CANCEL = Boolean.parseBoolean(altSettings.getProperty("AllowCustomCancelTask", "false")); + CUSTOM_CANCEL_SECONDS = Integer.parseInt(altSettings.getProperty("CustomCancelSeconds", "15")); Index: head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java =================================================================== --- head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java (revision 1118) +++ head-src/com/l2jfrozen/gameserver/handler/skillhandlers/Disablers.java (working copy) import java.io.IOException; +import java.util.Vector; import org.apache.log4j.Logger; =================================================================== import com.l2jfrozen.gameserver.model.actor.instance.L2PetInstance; import com.l2jfrozen.gameserver.model.actor.instance.L2SiegeSummonInstance; +import com.l2jfrozen.gameserver.model.entity.CustomCancelTask; import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; import com.l2jfrozen.gameserver.skills.Formulas; import com.l2jfrozen.gameserver.skills.Stats; +import com.l2jfrozen.gameserver.thread.ThreadPoolManager; import com.l2jfrozen.util.random.Rnd; =================================================================== case CANCEL: { + Vector<L2Skill> cancelledBuffs = new Vector<>(); if (target.reflectSkill(skill)) { target = activeChar; } =================================================================== else if (rate < 5) { rate = 5; } if (Rnd.get(100) < rate) { + if (Config.ALLOW_CUSTOM_CANCEL) + { + if (!cancelledBuffs.contains(e.getSkill()) && !((L2PcInstance)activeChar).isInOlympiadMode()) + { + cancelledBuffs.add(e.getSkill()); + } + } e.exit(true); maxfive--; if (maxfive == 0) { break; } } } } } + if (Config.ALLOW_CUSTOM_CANCEL) + { + + if (cancelledBuffs.size() > 0) + ThreadPoolManager.getInstance().scheduleGeneral(new CustomCancelTaskManager((L2PcInstance)target, cancelledBuffs), Config.CUSTOM_CANCEL_SECONDS *1000); + } effects = null; } =================================================================== else if (rate < 5) { rate = 5; } if (Rnd.get(100) < rate) { + if (Config.ALLOW_CUSTOM_CANCEL) + { + if (!cancelledBuffs.contains(e.getSkill()) && !((L2PcInstance)activeChar).isInOlympiadMode()) + { + cancelledBuffs.add(e.getSkill()); + } + } e.exit(true); maxdisp--; if (maxdisp == 0) { break; } } } } } + if (Config.ALLOW_CUSTOM_CANCEL) + { + if (cancelledBuffs.size() > 0) + ThreadPoolManager.getInstance().scheduleGeneral(new CustomCancelTaskManager((L2PcInstance)target, cancelledBuffs), Config.CUSTOM_CANCEL_SECONDS *1000); + } // effects = null; Index: head-src/com/l2jfrozen/gameserver/model/entity/CustomCancelTask.java =================================================================== --- head-src/com/l2jfrozen/gameserver/model/entity/CustomCancelTask.java (nonexistent) +++ head-src/com/l2jfrozen/gameserver/model/entity/CustomCancelTask.java (working copy) /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package com.l2jfrozen.gameserver.model.entity; import java.util.Vector; import com.l2jfrozen.gameserver.model.L2Skill; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; /** * @author Psyancy * */ public class CustomCancelTaskManager implements Runnable { private L2PcInstance player = null; private Vector<L2Skill> buffsCanceled = null; public CustomCancelTaskManager(L2PcInstance p, Vector<L2Skill> skill) { player = p; buffsCanceled = skill; } @Override public void run() { if (player == null) return; for (L2Skill skill : buffsCanceled) { if (skill == null) continue; skill.getEffects(player, player); } } } Credits for the original Code: Anarchy Credits for the modifications: Bluur Edited July 3, 2017 by Designatix 1 Quote Link to comment Share on other sites More sharing options...
krauser12345 Posted July 5, 2017 Share Posted July 5, 2017 Good share!! :) Quote Link to comment Share on other sites More sharing options...
Psyancy Posted July 6, 2017 Author Share Posted July 6, 2017 Good share!! :) I'm glad you like it :) Quote Link to comment Share on other sites More sharing options...
RiperRO Posted August 7, 2017 Share Posted August 7, 2017 good job , thank you very much for sharing it with us Quote Link to comment Share on other sites More sharing options...
Psyancy Posted August 7, 2017 Author Share Posted August 7, 2017 good job , thank you very much for sharing it with us np mate Quote Link to comment Share on other sites More sharing options...
wongerlt Posted August 7, 2017 Share Posted August 7, 2017 Thanks for it. And i got error that "CustomCancelTask.java" file must be "CustomCancelTaskManager.java" so just need to rename it. Quote Link to comment Share on other sites More sharing options...
RiperRO Posted August 7, 2017 Share Posted August 7, 2017 Thanks for it. And i got error that "CustomCancelTask.java" file must be "CustomCancelTaskManager.java" so just need to rename it. did you fix the error? I had the same error and i changed something in the code. Pm me so i can help you. Quote Link to comment Share on other sites More sharing options...
wongerlt Posted August 7, 2017 Share Posted August 7, 2017 did you fix the error? I had the same error and i changed something in the code. Pm me so i can help you. yes i fixed it. Need only rename CustomCancelTask.java to CustomCancelTaskManager.java and in import change CustomCancelTask to CustomCancelTaskManager. Quote Link to comment Share on other sites More sharing options...
sotid Posted June 30, 2018 Share Posted June 30, 2018 Hey , so I get this error maybe someone can tell me what I should change that with, to work with my java?https://ibb.co/bAUgjy Quote Link to comment Share on other sites More sharing options...
melron Posted June 30, 2018 Share Posted June 30, 2018 (use -source 7 or higher to enable diamond operator) Quote Link to comment Share on other sites More sharing options...
sotid Posted June 30, 2018 Share Posted June 30, 2018 oh yea I can see that mate is that referring to java 1.7? cause thats what I am using and last time I tried to change something with java I messed up everything..https://ibb.co/hzq7rd Btw I changed this Vector<L2Skill> cancelledBuffs = new Vector<>(); to Vector<L2Skill> cancelledBuffs = new Vector(); and it built but it doesnt work like that I guess. So what do you suggest? Quote Link to comment Share on other sites More sharing options...
melron Posted June 30, 2018 Share Posted June 30, 2018 1 minute ago, sotid said: oh yea I can see that mate is that referring to java 1.7? cause thats what I am using and last time I tried to change something with java I messed up everything..https://ibb.co/hzq7rd Btw I changed this Vector<L2Skill> cancelledBuffs = new Vector<>(); to Vector<L2Skill> cancelledBuffs = new Vector(); and it built but it doesnt work like that I guess. So what do you suggest? update for many reasons your sources to 1.8 either edit the whole code . vector is not needed there a simple list would be enough Quote Link to comment Share on other sites More sharing options...
sotid Posted June 30, 2018 Share Posted June 30, 2018 When I tried to use 1.8 it doesnt built at all. I get an error before the build starts , I dont remember the error but every google solution search I did was start over or simething similar or use lower java update. I mean after I removed the <> it can built but doesnt work. so whats the problem here? Quote Link to comment Share on other sites More sharing options...
sotid Posted January 22, 2019 Share Posted January 22, 2019 Thanks I fixed it , works fine! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.