I do some modifications on EffectCancelDebuff but can't make Cleanse don't remove malaria and flu.
I try to change skills from DeBuff to Buff, but still removing it.
/*
* 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 net.sf.l2j.gameserver.skills.effects;
import net.sf.l2j.gameserver.model.L2Effect;
import net.sf.l2j.gameserver.model.L2Skill;
import net.sf.l2j.gameserver.model.actor.L2Character;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.skills.Env;
import net.sf.l2j.gameserver.skills.Formulas;
import net.sf.l2j.gameserver.templates.skills.L2EffectType;
import net.sf.l2j.gameserver.templates.skills.L2SkillType;
import net.sf.l2j.util.Rnd;
/**
* @author UnAfraid
*/
public class EffectCancelDebuff extends L2Effect
{
public EffectCancelDebuff(Env env, EffectTemplate template)
{
super(env, template);
}
@Override
public L2EffectType getEffectType()
{
return L2EffectType.CANCEL_DEBUFF;
}
@Override
public boolean onStart()
{
return cancel(getEffector(), getEffected(), getSkill(), getEffectTemplate().effectType);
}
@Override
public boolean onActionTime()
{
return false;
}
private static boolean cancel(L2Character caster, L2Character target, L2Skill skill, L2SkillType effectType)
{
if (!(target instanceof L2PcInstance) || target.isDead())
return false;
final int cancelLvl = skill.getMagicLevel();
int count = skill.getMaxNegatedEffects();
double baseRate = Formulas.calcSkillVulnerability(caster, target, skill, effectType);
L2Effect effect;
int lastCanceledSkillId = 0;
final L2Effect[] effects = target.getAllEffects();
for (int i = effects.length; --i >= 0;)
{
effect = effects[i];
if (effect == null)
continue;
if (!effect.getSkill().isDebuff() || !effect.getSkill().canBeDispeled() || effect.getSkill().getId() != 4554 || effect.getSkill().getId() != 4553)
{
effects[i] = null;
continue;
}
if (effect.getSkill().getId() == lastCanceledSkillId)
{
effect.exit(); // this skill already canceled
continue;
}
if (!calcCancelSuccess(effect, cancelLvl, (int) baseRate))
continue;
lastCanceledSkillId = effect.getSkill().getId();
effect.exit();
count--;
if (count == 0)
break;
}
if (count != 0)
{
lastCanceledSkillId = 0;
for (int i = effects.length; --i >= 0;)
{
effect = effects[i];
if (effect == null)
continue;
if (!effect.getSkill().isDebuff() || !effect.getSkill().canBeDispeled() || effect.getSkill().getId() != 4554 || effect.getSkill().getId() != 4553)
{
effects[i] = null;
continue;
}
if (effect.getSkill().getId() == lastCanceledSkillId)
{
effect.exit(); // this skill already canceled
continue;
}
if (!calcCancelSuccess(effect, cancelLvl, (int) baseRate))
continue;
lastCanceledSkillId = effect.getSkill().getId();
effect.exit();
count--;
if (count == 0)
break;
}
}
return true;
}
private static boolean calcCancelSuccess(L2Effect effect, int cancelLvl, int baseRate)
{
int rate = 2 * (cancelLvl - effect.getSkill().getMagicLevel());
rate += (effect.getPeriod() - effect.getTime()) / 1200;
rate *= baseRate;
if (rate < 25)
rate = 25;
else if (rate > 75)
rate = 75;
return Rnd.get(100) < rate;
}
}
Hello mate, it's been a while since you appeared on discord, I would like your attention to finalize the ongoing project, if you see this please reply to me.
i think Interlude is better...there are lots of IL pack based on Vanganth old code in this forum,you can find it.
C5 only bugged in there.
Kameal i only know the La2world did that.
HB ,hmmm...the COEP i guess.
Verified and stable decrypter for unpacking files protected by ActiveAnticheat (AA) in Lineage 2. The utility provides direct access to game resources for modification, study, and creating your own content.
Unpacks internal game files: .dat, .u, .ukx, .usx, .ini, and others.
Batch processing: Decrypt an entire client folder at once.
Single-file decryption: For working with individual files.
Important: Antivirus programs may trigger false positives since the tool modifies files. It is recommended to add the utility to your exceptions list.
Proof of functionality:
https://youtu.be/SMSIo4aAmp4
The video clearly demonstrates the entire process: from launching the utility to successfully unpacking the files and their subsequent use.
Purchase Terms:
Price: $150
Promotion: 20% discount for the first buyer!
Payment method: USDT.
How to buy:
Contact me on Telegram: @kiselevwv for a quick response.
I will answer all your questions and provide additional information if necessary.
I guarantee functionality at the time of sale and prompt setup assistance after purchase.
Question
Miracles
I do some modifications on EffectCancelDebuff but can't make Cleanse don't remove malaria and flu.
I try to change skills from DeBuff to Buff, but still removing it.
5 answers to this question
Recommended Posts