Addition of SkillFinishType enumeration.
This commit is contained in:
@@ -21,6 +21,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
import org.l2jmobius.gameserver.data.xml.DoorData;
|
||||
import org.l2jmobius.gameserver.enums.ClassId;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.holders.SkillHolder;
|
||||
@@ -104,7 +105,7 @@ public class BaseTower extends AbstractNpcAI
|
||||
final PlayerInstance pl = BODY_DESTROYER_TARGET_LIST.get(npc.getObjectId());
|
||||
if ((pl != null) && pl.isOnline() && !pl.isDead())
|
||||
{
|
||||
pl.stopSkillEffects(true, DEATH_WORD.getSkillId());
|
||||
pl.stopSkillEffects(SkillFinishType.REMOVED, DEATH_WORD.getSkillId());
|
||||
}
|
||||
BODY_DESTROYER_TARGET_LIST.remove(npc.getObjectId());
|
||||
}
|
||||
|
@@ -20,6 +20,7 @@ import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.Party;
|
||||
@@ -190,7 +191,7 @@ public class UrbanArea extends AbstractInstance
|
||||
cancelQuestTimer("rebuff", npc, null);
|
||||
if (npc.isAffectedBySkill(STONE.getSkillId()))
|
||||
{
|
||||
npc.stopSkillEffects(false, STONE.getSkillId());
|
||||
npc.stopSkillEffects(SkillFinishType.SILENT, STONE.getSkillId());
|
||||
}
|
||||
|
||||
npc.broadcastSay(ChatType.NPC_GENERAL, NATIVES_NPCSTRING_ID[0]);
|
||||
|
@@ -24,6 +24,7 @@ import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Npc;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.quest.Event;
|
||||
@@ -358,9 +359,9 @@ public class Race extends Event
|
||||
player.standUp();
|
||||
}
|
||||
|
||||
player.getEffectList().stopSkillEffects(true, AbnormalType.SPEED_UP);
|
||||
player.stopSkillEffects(true, 268);
|
||||
player.stopSkillEffects(true, 298); // Rabbit Spirit Totem
|
||||
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, AbnormalType.SPEED_UP);
|
||||
player.stopSkillEffects(SkillFinishType.REMOVED, 268);
|
||||
player.stopSkillEffects(SkillFinishType.REMOVED, 298); // Rabbit Spirit Totem
|
||||
SkillData.getInstance().getSkill(_skill, 1).applyEffects(player, player);
|
||||
}
|
||||
|
||||
|
@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.data.ItemTable;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
@@ -213,7 +214,7 @@ public class SavingSanta extends LongTimeEvent
|
||||
// What a bunch of losers.
|
||||
npc.broadcastPacket(new NpcSay(npc.getObjectId(), ChatType.NPC_GENERAL, npc.getId(), NPC_STRINGS[6 + getRandom(2)]));
|
||||
pl.broadcastPacket(new MagicSkillUse(pl, pl, 23023, 1, 3000, 1));
|
||||
pl.getEffectList().stopSkillEffects(true, 23022);
|
||||
pl.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, 23022);
|
||||
}
|
||||
else if ((result == 1) || (result == -2))
|
||||
{
|
||||
|
@@ -23,6 +23,7 @@ import java.util.StringTokenizer;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
@@ -362,7 +363,7 @@ public class AdminBuffs implements IAdminCommandHandler
|
||||
{
|
||||
if (target.isAffectedBySkill(skillId))
|
||||
{
|
||||
target.stopSkillEffects(true, skillId);
|
||||
target.stopSkillEffects(SkillFinishType.REMOVED, skillId);
|
||||
BuilderUtil.sendSysMessage(activeChar, "Removed skill ID: " + skillId + " effects from " + target.getName() + " (" + objId + ").");
|
||||
}
|
||||
|
||||
|
@@ -19,6 +19,7 @@ package handlers.admincommandhandlers;
|
||||
import java.util.StringTokenizer;
|
||||
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.handler.IAdminCommandHandler;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
@@ -53,7 +54,7 @@ public class AdminSuperHaste implements IAdminCommandHandler
|
||||
{
|
||||
final int val = Integer.parseInt(st.nextToken());
|
||||
final boolean sendMessage = player.isAffectedBySkill(SUPER_HASTE_ID);
|
||||
player.stopSkillEffects((val == 0) && sendMessage, SUPER_HASTE_ID);
|
||||
player.stopSkillEffects((val == 0) && sendMessage ? SkillFinishType.REMOVED : SkillFinishType.NORMAL, SUPER_HASTE_ID);
|
||||
if ((val >= 1) && (val <= 4))
|
||||
{
|
||||
int time = 0;
|
||||
|
@@ -16,6 +16,7 @@
|
||||
*/
|
||||
package handlers.effecthandlers;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.conditions.Condition;
|
||||
@@ -65,7 +66,7 @@ public class Detection extends AbstractEffect
|
||||
return;
|
||||
}
|
||||
// Remove Hide.
|
||||
target.getEffectList().stopSkillEffects(true, AbnormalType.HIDE);
|
||||
target.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, AbnormalType.HIDE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -18,6 +18,7 @@ package handlers.effecthandlers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.conditions.Condition;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@@ -67,7 +68,7 @@ public class DispelByCategory extends AbstractEffect
|
||||
final List<BuffInfo> canceled = Formulas.calcCancelEffects(info.getEffector(), info.getEffected(), info.getSkill(), _slot, _rate, _max);
|
||||
for (BuffInfo can : canceled)
|
||||
{
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, can.getSkill());
|
||||
info.getEffected().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, can.getSkill());
|
||||
}
|
||||
}
|
||||
}
|
@@ -21,6 +21,7 @@ import java.util.EnumMap;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.EffectList;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
@@ -101,7 +102,7 @@ public class DispelBySlot extends AbstractEffect
|
||||
|
||||
if ((entry.getKey() == toDispel.getSkill().getAbnormalType()) && ((entry.getValue() < 0) || (entry.getValue() >= toDispel.getSkill().getAbnormalLevel())))
|
||||
{
|
||||
effectList.stopSkillEffects(true, entry.getKey());
|
||||
effectList.stopSkillEffects(SkillFinishType.REMOVED, entry.getKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -22,6 +22,7 @@ import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.EffectList;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
@@ -105,7 +106,7 @@ public class DispelBySlotProbability extends AbstractEffect
|
||||
|
||||
if ((toDispel.getSkill().getAbnormalType() == entry.getKey()) && (entry.getValue() >= toDispel.getSkill().getAbnormalLevel()))
|
||||
{
|
||||
effectList.stopSkillEffects(true, entry.getKey());
|
||||
effectList.stopSkillEffects(SkillFinishType.REMOVED, entry.getKey());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -18,6 +18,7 @@ package handlers.effecthandlers;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.StatSet;
|
||||
import org.l2jmobius.gameserver.model.conditions.Condition;
|
||||
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
|
||||
@@ -70,7 +71,7 @@ public class StealAbnormal extends AbstractEffect
|
||||
stolen.setAbnormalTime(infoToSteal.getTime()); // Copy the remaining time.
|
||||
// To include all the effects, it's required to go through the template rather the buff info.
|
||||
infoToSteal.getSkill().applyEffectScope(EffectScope.GENERAL, stolen, true, true);
|
||||
info.getEffected().getEffectList().remove(true, infoToSteal);
|
||||
info.getEffected().getEffectList().remove(SkillFinishType.REMOVED, infoToSteal);
|
||||
info.getEffector().getEffectList().add(stolen);
|
||||
}
|
||||
}
|
||||
|
@@ -23,6 +23,7 @@ import java.util.logging.Logger;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.util.Chronos;
|
||||
import org.l2jmobius.gameserver.enums.InstanceReenterType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
@@ -229,7 +230,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (!inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
info.getEffected().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, info.getSkill());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -240,7 +241,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (!inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
info.getEffected().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, info.getSkill());
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -252,7 +253,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
info.getEffected().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, info.getSkill());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -263,7 +264,7 @@ public abstract class AbstractInstance extends AbstractNpcAI
|
||||
{
|
||||
if (inst.getBuffExceptionList().contains(info.getSkill().getId()))
|
||||
{
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
info.getEffected().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, info.getSkill());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.ChatType;
|
||||
import org.l2jmobius.gameserver.enums.InstanceReenterType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.enums.TrapAction;
|
||||
import org.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
@@ -983,7 +984,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
}
|
||||
if (world._dragonClawNeed == 0)
|
||||
{
|
||||
npc.stopSkillEffects(false, 5225);
|
||||
npc.stopSkillEffects(SkillFinishType.SILENT, 5225);
|
||||
npc.broadcastPacket(new MagicSkillUse(npc, npc, 5480, 1, 4000, 0));
|
||||
if (world._raidStatus == 3)
|
||||
{
|
||||
@@ -1127,7 +1128,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
if (player.getInstanceId() == world.getInstanceId())
|
||||
{
|
||||
teleportPlayer(player, new Location(144653, 152606, -12126), world.getInstanceId());
|
||||
player.stopSkillEffects(true, 5239);
|
||||
player.stopSkillEffects(SkillFinishType.REMOVED, 5239);
|
||||
SkillData.getInstance().getSkill(5239, 1).applyEffects(player, player);
|
||||
startQuestTimer("Timer2", 300000, npc, player);
|
||||
}
|
||||
@@ -1323,7 +1324,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
}
|
||||
else if (event.equalsIgnoreCase("baylor_remove_invul"))
|
||||
{
|
||||
npc.stopSkillEffects(false, 5225);
|
||||
npc.stopSkillEffects(SkillFinishType.SILENT, 5225);
|
||||
}
|
||||
else if (event.equalsIgnoreCase("Baylor"))
|
||||
{
|
||||
@@ -1671,7 +1672,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
{
|
||||
for (PlayerInstance partyMember : party.getMembers())
|
||||
{
|
||||
partyMember.stopSkillEffects(true, 5239);
|
||||
partyMember.stopSkillEffects(SkillFinishType.REMOVED, 5239);
|
||||
}
|
||||
}
|
||||
cancelQuestTimers("Timer5");
|
||||
@@ -1817,7 +1818,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
{
|
||||
if (partyMember.getInstanceId() == world.getInstanceId())
|
||||
{
|
||||
partyMember.stopSkillEffects(true, 5239);
|
||||
partyMember.stopSkillEffects(SkillFinishType.REMOVED, 5239);
|
||||
SkillData.getInstance().getSkill(5239, 2).applyEffects(partyMember, partyMember);
|
||||
startQuestTimer("Timer3", 600000, npc, partyMember);
|
||||
}
|
||||
@@ -1825,7 +1826,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
player.stopSkillEffects(true, 5239);
|
||||
player.stopSkillEffects(SkillFinishType.REMOVED, 5239);
|
||||
SkillData.getInstance().getSkill(5239, 2).applyEffects(player, player);
|
||||
startQuestTimer("Timer3", 600000, npc, player);
|
||||
}
|
||||
@@ -1847,7 +1848,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
{
|
||||
if (partyMember.getInstanceId() == world.getInstanceId())
|
||||
{
|
||||
partyMember.stopSkillEffects(true, 5239);
|
||||
partyMember.stopSkillEffects(SkillFinishType.REMOVED, 5239);
|
||||
SkillData.getInstance().getSkill(5239, 4).applyEffects(partyMember, partyMember);
|
||||
startQuestTimer("Timer4", 1200000, npc, partyMember);
|
||||
}
|
||||
@@ -1855,7 +1856,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
player.stopSkillEffects(true, 5239);
|
||||
player.stopSkillEffects(SkillFinishType.REMOVED, 5239);
|
||||
SkillData.getInstance().getSkill(5239, 4).applyEffects(player, player);
|
||||
startQuestTimer("Timer4", 1200000, npc, player);
|
||||
}
|
||||
@@ -1877,7 +1878,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
{
|
||||
if (partyMember.getInstanceId() == world.getInstanceId())
|
||||
{
|
||||
partyMember.stopSkillEffects(true, 5239);
|
||||
partyMember.stopSkillEffects(SkillFinishType.REMOVED, 5239);
|
||||
SkillData.getInstance().getSkill(5239, 3).applyEffects(partyMember, partyMember);
|
||||
startQuestTimer("Timer5", 900000, npc, partyMember);
|
||||
}
|
||||
@@ -1885,7 +1886,7 @@ public class CrystalCaverns extends AbstractInstance
|
||||
}
|
||||
else
|
||||
{
|
||||
player.stopSkillEffects(true, 5239);
|
||||
player.stopSkillEffects(SkillFinishType.REMOVED, 5239);
|
||||
SkillData.getInstance().getSkill(5239, 3).applyEffects(player, player);
|
||||
startQuestTimer("Timer5", 900000, npc, player);
|
||||
}
|
||||
|
@@ -27,6 +27,7 @@ import java.util.logging.Level;
|
||||
|
||||
import org.l2jmobius.commons.util.Chronos;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
import org.l2jmobius.gameserver.model.Location;
|
||||
import org.l2jmobius.gameserver.model.Party;
|
||||
@@ -520,7 +521,7 @@ public class Kamaloka extends AbstractInstance
|
||||
{
|
||||
if ((info != null) && !info.getSkill().isStayAfterDeath() && (Arrays.binarySearch(BUFFS_WHITELIST, info.getSkill().getId()) < 0))
|
||||
{
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
info.getEffected().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, info.getSkill());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
@@ -25,6 +25,7 @@ import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.QuestSound;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.instancemanager.GlobalVariablesManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
|
||||
import org.l2jmobius.gameserver.model.actor.Attackable;
|
||||
@@ -380,7 +381,7 @@ public class Q00311_ExpulsionOfEvilSpirits extends Quest
|
||||
{
|
||||
if (info.getSkill().getId() == DEBUFF_SKILL_ID)
|
||||
{
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, DEBUFF_SKILL_ID);
|
||||
info.getEffected().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, DEBUFF_SKILL_ID);
|
||||
}
|
||||
}
|
||||
_altar.broadcastPacket(new MagicSkillUse(_altar, player, DEBUFF_SKILL_ID, DEBUFF_SKILL_LEVEL, 1000, 0));
|
||||
|
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* This file is part of the L2J Mobius project.
|
||||
*
|
||||
* 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 org.l2jmobius.gameserver.enums;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
*/
|
||||
public enum SkillFinishType
|
||||
{
|
||||
NORMAL,
|
||||
REMOVED,
|
||||
SILENT;
|
||||
}
|
@@ -26,6 +26,7 @@ import java.util.logging.Logger;
|
||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.enums.DuelResult;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.enums.Team;
|
||||
import org.l2jmobius.gameserver.instancemanager.DuelManager;
|
||||
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||
@@ -160,7 +161,7 @@ public class Duel
|
||||
{
|
||||
if (skill != null)
|
||||
{
|
||||
_player.stopSkillEffects(true, skill.getId());
|
||||
_player.stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -33,6 +33,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
@@ -507,7 +508,7 @@ public class EffectList
|
||||
*/
|
||||
protected void stopAndRemove(BuffInfo info)
|
||||
{
|
||||
stopAndRemove(true, true, info, getEffectList(info.getSkill()));
|
||||
stopAndRemove(true, SkillFinishType.REMOVED, info, getEffectList(info.getSkill()));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -518,17 +519,17 @@ public class EffectList
|
||||
*/
|
||||
protected void stopAndRemove(boolean broadcast, BuffInfo info, Queue<BuffInfo> effects)
|
||||
{
|
||||
stopAndRemove(broadcast, true, info, effects);
|
||||
stopAndRemove(broadcast, SkillFinishType.REMOVED, info, effects);
|
||||
}
|
||||
|
||||
/**
|
||||
* Auxiliary method to stop all effects from a buff info and remove it from an effect list and stacked effects.
|
||||
* @param broadcast if {@code true} broadcast abnormal visual effects
|
||||
* @param removed {@code true} if the effect is removed, {@code false} otherwise
|
||||
* @param type determines the system message that will be sent.
|
||||
* @param info the buff info
|
||||
* @param buffs the buff list
|
||||
*/
|
||||
private void stopAndRemove(boolean broadcast, boolean removed, BuffInfo info, Queue<BuffInfo> buffs)
|
||||
private void stopAndRemove(boolean broadcast, SkillFinishType type, BuffInfo info, Queue<BuffInfo> buffs)
|
||||
{
|
||||
if (info == null)
|
||||
{
|
||||
@@ -538,7 +539,7 @@ public class EffectList
|
||||
// Removes the buff from the given effect list.
|
||||
buffs.remove(info);
|
||||
// Stop the buff effects.
|
||||
info.stopAllEffects(broadcast, removed);
|
||||
info.stopAllEffects(type, broadcast);
|
||||
// If it's a hidden buff that ends, then decrease hidden buff count.
|
||||
if (!info.isInUse())
|
||||
{
|
||||
@@ -569,7 +570,7 @@ public class EffectList
|
||||
}
|
||||
}
|
||||
|
||||
if (!removed)
|
||||
if (type != SkillFinishType.REMOVED)
|
||||
{
|
||||
info.getSkill().applyEffectScope(EffectScope.END, info, true, false);
|
||||
}
|
||||
@@ -894,18 +895,15 @@ public class EffectList
|
||||
* Removes the effects from the effect list.<br>
|
||||
* Removes the stats from the creature.<br>
|
||||
* Updates the effect flags and icons.<br>
|
||||
* Presents two overloads:<br>
|
||||
* {@link #stopSkillEffects(boolean, Skill)}<br>
|
||||
* {@link #stopSkillEffects(boolean, AbnormalType)}
|
||||
* @param removed {@code true} if the effect is removed, {@code false} otherwise
|
||||
* @param type determines the system message that will be sent.
|
||||
* @param skillId the skill ID
|
||||
*/
|
||||
public void stopSkillEffects(boolean removed, int skillId)
|
||||
public void stopSkillEffects(SkillFinishType type, int skillId)
|
||||
{
|
||||
final BuffInfo info = getBuffInfoBySkillId(skillId);
|
||||
if (info != null)
|
||||
{
|
||||
remove(removed, info);
|
||||
remove(type, info);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -914,36 +912,30 @@ public class EffectList
|
||||
* Removes the effects from the effect list.<br>
|
||||
* Removes the stats from the creature.<br>
|
||||
* Updates the effect flags and icons.<br>
|
||||
* Presents two overloads:<br>
|
||||
* {@link #stopSkillEffects(boolean, int)}<br>
|
||||
* {@link #stopSkillEffects(boolean, AbnormalType)}
|
||||
* @param removed {@code true} if the effect is removed, {@code false} otherwise
|
||||
* @param type determines the system message that will be sent.
|
||||
* @param skill the skill
|
||||
*/
|
||||
public void stopSkillEffects(boolean removed, Skill skill)
|
||||
public void stopSkillEffects(SkillFinishType type, Skill skill)
|
||||
{
|
||||
if (skill != null)
|
||||
{
|
||||
stopSkillEffects(removed, skill.getId());
|
||||
stopSkillEffects(type, skill.getId());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Exits all effects created by a specific skill abnormal type.<br>
|
||||
* It's O(1) for every effect in this effect list except passive effects.<br>
|
||||
* Presents two overloads:<br>
|
||||
* {@link #stopSkillEffects(boolean, int)}<br>
|
||||
* {@link #stopSkillEffects(boolean, Skill)}
|
||||
* @param removed {@code true} if the effect is removed, {@code false} otherwise
|
||||
* @param type the skill abnormal type
|
||||
* @param removeType determines the system message that will be sent.
|
||||
* @param abnormalType the skill abnormal type
|
||||
* @return {@code true} if there was a buff info with the given abnormal type
|
||||
*/
|
||||
public boolean stopSkillEffects(boolean removed, AbnormalType type)
|
||||
public boolean stopSkillEffects(SkillFinishType removeType, AbnormalType abnormalType)
|
||||
{
|
||||
final BuffInfo old = _stackedEffects.remove(type);
|
||||
final BuffInfo old = _stackedEffects.remove(abnormalType);
|
||||
if (old != null)
|
||||
{
|
||||
stopSkillEffects(removed, old.getSkill());
|
||||
stopSkillEffects(removeType, old.getSkill());
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -1196,10 +1188,10 @@ public class EffectList
|
||||
|
||||
/**
|
||||
* Removes a set of effects from this effect list.
|
||||
* @param removed {@code true} if the effect is removed, {@code false} otherwise
|
||||
* @param type determines the system message that will be sent.
|
||||
* @param info the effects to remove
|
||||
*/
|
||||
public void remove(boolean removed, BuffInfo info)
|
||||
public void remove(SkillFinishType type, BuffInfo info)
|
||||
{
|
||||
if (info == null)
|
||||
{
|
||||
@@ -1207,7 +1199,7 @@ public class EffectList
|
||||
}
|
||||
|
||||
// Remove the effect from creature effects.
|
||||
stopAndRemove(true, removed, info, getEffectList(info.getSkill()));
|
||||
stopAndRemove(true, type, info, getEffectList(info.getSkill()));
|
||||
// Update effect flags and icons.
|
||||
updateEffectList(true);
|
||||
}
|
||||
@@ -1275,7 +1267,7 @@ public class EffectList
|
||||
// Where new buff should be placed
|
||||
if (skill.getAbnormalType().isNone())
|
||||
{
|
||||
stopSkillEffects(false, skill);
|
||||
stopSkillEffects(SkillFinishType.NORMAL, skill);
|
||||
}
|
||||
else // Verify stacked skills.
|
||||
{
|
||||
@@ -1295,7 +1287,7 @@ public class EffectList
|
||||
{
|
||||
if (stackedInfo.getSkill().isAbnormalInstant())
|
||||
{
|
||||
stopSkillEffects(false, skill.getAbnormalType());
|
||||
stopSkillEffects(SkillFinishType.NORMAL, skill.getAbnormalType());
|
||||
stackedInfo = _stackedEffects.get(skill.getAbnormalType());
|
||||
}
|
||||
|
||||
@@ -1311,9 +1303,9 @@ public class EffectList
|
||||
{
|
||||
if (stackedInfo.getSkill().isAbnormalInstant())
|
||||
{
|
||||
stopSkillEffects(false, skill.getAbnormalType());
|
||||
stopSkillEffects(SkillFinishType.NORMAL, skill.getAbnormalType());
|
||||
}
|
||||
stopSkillEffects(false, skill.getAbnormalType());
|
||||
stopSkillEffects(SkillFinishType.NORMAL, skill.getAbnormalType());
|
||||
}
|
||||
}
|
||||
else // If the new buff is a lesser buff, then don't add it.
|
||||
|
@@ -53,6 +53,7 @@ import org.l2jmobius.gameserver.enums.CategoryType;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.ShotType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.enums.Team;
|
||||
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||
import org.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
@@ -3234,12 +3235,12 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
|
||||
/**
|
||||
* Stop and remove the effects corresponding to the skill ID.
|
||||
* @param removed if {@code true} the effect will be set as removed, and a system message will be sent
|
||||
* @param type determines the system message that will be sent.
|
||||
* @param skillId the skill Id
|
||||
*/
|
||||
public void stopSkillEffects(boolean removed, int skillId)
|
||||
public void stopSkillEffects(SkillFinishType type, int skillId)
|
||||
{
|
||||
_effectList.stopSkillEffects(removed, skillId);
|
||||
_effectList.stopSkillEffects(type, skillId);
|
||||
}
|
||||
|
||||
public void stopEffects(EffectType type)
|
||||
@@ -3338,7 +3339,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
{
|
||||
if (removeEffects)
|
||||
{
|
||||
_effectList.stopSkillEffects(false, AbnormalType.TRANSFORM);
|
||||
_effectList.stopSkillEffects(SkillFinishType.NORMAL, AbnormalType.TRANSFORM);
|
||||
}
|
||||
|
||||
// if this is a player instance, then untransform, also set the transform_id column equal to 0 if not cursed.
|
||||
@@ -5182,7 +5183,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
|
||||
if (oldSkill.isPassive())
|
||||
{
|
||||
stopSkillEffects(false, oldSkill.getId());
|
||||
stopSkillEffects(SkillFinishType.NORMAL, oldSkill.getId());
|
||||
}
|
||||
}
|
||||
// Add Func objects of newSkill to the calculator set of the Creature
|
||||
@@ -5226,7 +5227,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
|
||||
if (cancelEffect || oldSkill.isToggle() || oldSkill.isPassive())
|
||||
{
|
||||
removeStatsOwner(oldSkill);
|
||||
stopSkillEffects(true, oldSkill.getId());
|
||||
stopSkillEffects(SkillFinishType.REMOVED, oldSkill.getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -38,6 +38,7 @@ import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.ItemLocation;
|
||||
import org.l2jmobius.gameserver.enums.PartyDistributionType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.handler.IItemHandler;
|
||||
import org.l2jmobius.gameserver.handler.ItemHandler;
|
||||
import org.l2jmobius.gameserver.instancemanager.CursedWeaponsManager;
|
||||
@@ -893,9 +894,9 @@ public class PetInstance extends Summon
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopSkillEffects(boolean removed, int skillId)
|
||||
public void stopSkillEffects(SkillFinishType type, int skillId)
|
||||
{
|
||||
super.stopSkillEffects(removed, skillId);
|
||||
super.stopSkillEffects(type, skillId);
|
||||
SummonEffectTable.getInstance().removePetEffects(getControlObjectId(), skillId);
|
||||
}
|
||||
|
||||
|
@@ -92,6 +92,7 @@ import org.l2jmobius.gameserver.enums.Race;
|
||||
import org.l2jmobius.gameserver.enums.Sex;
|
||||
import org.l2jmobius.gameserver.enums.ShortcutType;
|
||||
import org.l2jmobius.gameserver.enums.ShotType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.enums.Team;
|
||||
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||
import org.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
@@ -2700,7 +2701,7 @@ public class PlayerInstance extends Playable
|
||||
// Fix when learning toggle skills.
|
||||
if (sk.isToggle() && isAffectedBySkill(sk.getId()))
|
||||
{
|
||||
stopSkillEffects(true, sk.getId());
|
||||
stopSkillEffects(SkillFinishType.REMOVED, sk.getId());
|
||||
}
|
||||
|
||||
addSkill(sk, false);
|
||||
@@ -4769,7 +4770,7 @@ public class PlayerInstance extends Playable
|
||||
setQueuedSkill(null, false, false);
|
||||
_transformation.onUntransform(this);
|
||||
_transformation = null;
|
||||
getEffectList().stopSkillEffects(false, AbnormalType.TRANSFORM);
|
||||
getEffectList().stopSkillEffects(SkillFinishType.NORMAL, AbnormalType.TRANSFORM);
|
||||
sendSkillList();
|
||||
sendPacket(new SkillCoolTime(this));
|
||||
broadcastUserInfo();
|
||||
@@ -8650,7 +8651,7 @@ public class PlayerInstance extends Playable
|
||||
// Check if the skill type is toggle.
|
||||
if (skill.isToggle() && isAffectedBySkill(skill.getId()))
|
||||
{
|
||||
stopSkillEffects(true, skill.getId());
|
||||
stopSkillEffects(SkillFinishType.REMOVED, skill.getId());
|
||||
sendPacket(ActionFailed.STATIC_PACKET);
|
||||
return false;
|
||||
}
|
||||
@@ -9494,7 +9495,7 @@ public class PlayerInstance extends Playable
|
||||
setLastLocation();
|
||||
|
||||
// Remove Hide.
|
||||
getEffectList().stopSkillEffects(true, AbnormalType.HIDE);
|
||||
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, AbnormalType.HIDE);
|
||||
_observerMode = true;
|
||||
setTarget(null);
|
||||
setParalyzed(true);
|
||||
@@ -9524,7 +9525,7 @@ public class PlayerInstance extends Playable
|
||||
}
|
||||
|
||||
// Remove Hide.
|
||||
getEffectList().stopSkillEffects(true, AbnormalType.HIDE);
|
||||
getEffectList().stopSkillEffects(SkillFinishType.REMOVED, AbnormalType.HIDE);
|
||||
if (!_cubics.isEmpty())
|
||||
{
|
||||
for (CubicInstance cubic : _cubics.values())
|
||||
|
@@ -32,6 +32,7 @@ import org.l2jmobius.gameserver.data.sql.CharSummonTable;
|
||||
import org.l2jmobius.gameserver.data.sql.SummonEffectTable;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.InstanceType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.WorldObject;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
@@ -187,9 +188,9 @@ public class ServitorInstance extends Summon implements Runnable
|
||||
}
|
||||
|
||||
@Override
|
||||
public void stopSkillEffects(boolean removed, int skillId)
|
||||
public void stopSkillEffects(SkillFinishType type, int skillId)
|
||||
{
|
||||
super.stopSkillEffects(removed, skillId);
|
||||
super.stopSkillEffects(type, skillId);
|
||||
SummonEffectTable.getInstance().removeServitorEffects(getOwner(), getReferenceSkill(), skillId);
|
||||
}
|
||||
|
||||
|
@@ -21,6 +21,7 @@ import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.ai.CtrlIntention;
|
||||
import org.l2jmobius.gameserver.data.xml.NpcNameLocalisationData;
|
||||
import org.l2jmobius.gameserver.enums.PrivateStoreType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.instancemanager.DuelManager;
|
||||
import org.l2jmobius.gameserver.model.Duel;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
@@ -157,7 +158,7 @@ public class PlayerStatus extends PlayableStatus
|
||||
if (mpDam > getActiveChar().getCurrentMp())
|
||||
{
|
||||
getActiveChar().sendPacket(SystemMessageId.MP_BECAME_0_AND_THE_ARCANE_SHIELD_IS_DISAPPEARING);
|
||||
getActiveChar().stopSkillEffects(true, 1556);
|
||||
getActiveChar().stopSkillEffects(SkillFinishType.REMOVED, 1556);
|
||||
amount = mpDam - getActiveChar().getCurrentMp();
|
||||
getActiveChar().setCurrentMp(0);
|
||||
}
|
||||
|
@@ -21,6 +21,7 @@ import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.CubicInstance;
|
||||
import org.l2jmobius.gameserver.model.effects.EffectType;
|
||||
@@ -98,7 +99,7 @@ public class CubicAction implements Runnable
|
||||
if (info.getSkill().canBeDispeled())
|
||||
{
|
||||
useCubicCure = true;
|
||||
info.getEffected().getEffectList().stopSkillEffects(true, info.getSkill());
|
||||
info.getEffected().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, info.getSkill());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -23,6 +23,7 @@ import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
|
||||
/**
|
||||
* @author Mobius
|
||||
@@ -37,7 +38,7 @@ public class BuffFinishTask
|
||||
final BuffInfo info = entry.getKey();
|
||||
if ((info.getEffected() != null) && (entry.getValue().incrementAndGet() > info.getAbnormalTime()))
|
||||
{
|
||||
info.getEffected().getEffectList().stopSkillEffects(false, info.getSkill().getId());
|
||||
info.getEffected().getEffectList().stopSkillEffects(SkillFinishType.NORMAL, info.getSkill().getId());
|
||||
}
|
||||
}
|
||||
}, 0, 1000);
|
||||
|
@@ -24,6 +24,7 @@ import java.util.concurrent.ScheduledFuture;
|
||||
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.concurrent.ThreadPool;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.EffectList;
|
||||
import org.l2jmobius.gameserver.model.actor.Creature;
|
||||
import org.l2jmobius.gameserver.model.actor.Summon;
|
||||
@@ -59,7 +60,7 @@ public class BuffInfo
|
||||
private final int _periodStartTicks;
|
||||
// Misc
|
||||
/** If {@code true} then this effect has been cancelled. */
|
||||
private boolean _isRemoved = false;
|
||||
private volatile SkillFinishType _finishType = SkillFinishType.NORMAL;
|
||||
/** If {@code true} then this effect is in use (or has been stop because an Herb took place). */
|
||||
private boolean _isInUse = true;
|
||||
|
||||
@@ -167,16 +168,16 @@ public class BuffInfo
|
||||
*/
|
||||
public boolean isRemoved()
|
||||
{
|
||||
return _isRemoved;
|
||||
return _finishType == SkillFinishType.REMOVED;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the buff info to removed.
|
||||
* @param value the value to set
|
||||
* @param type the SkillFinishType to set
|
||||
*/
|
||||
public void setRemoved(boolean value)
|
||||
public void setFinishType(SkillFinishType type)
|
||||
{
|
||||
_isRemoved = value;
|
||||
_finishType = type;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -219,13 +220,14 @@ public class BuffInfo
|
||||
* Stops all the effects for this buff info.<br>
|
||||
* Removes effects stats.<br>
|
||||
* <b>It will not remove the buff info from the effect list</b>.<br>
|
||||
* Instead call {@link EffectList#stopSkillEffects(boolean, Skill)}
|
||||
* Instead call {@link EffectList#stopSkillEffects(SkillFinishType, Skill)}
|
||||
* @param type determines the system message that will be sent.
|
||||
* @param broadcast if {@code true} broadcast abnormal visual effects
|
||||
* @param removed if {@code true} the skill will be handled as removed
|
||||
*/
|
||||
public void stopAllEffects(boolean broadcast, boolean removed)
|
||||
public void stopAllEffects(SkillFinishType type, boolean broadcast)
|
||||
{
|
||||
setRemoved(removed);
|
||||
setFinishType(type);
|
||||
|
||||
// Remove this buff info from BuffFinishTask.
|
||||
_effected.removeBuffInfoTime(this);
|
||||
finishEffects(broadcast);
|
||||
@@ -315,7 +317,7 @@ public class BuffInfo
|
||||
{
|
||||
schedule.cancel(true); // Don't allow to finish current run.
|
||||
}
|
||||
_effected.getEffectList().stopSkillEffects(true, _skill); // Remove the buff from the effect list.
|
||||
_effected.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, _skill); // Remove the buff from the effect list.
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -348,11 +350,15 @@ public class BuffInfo
|
||||
if (!(_effected.isSummon() && !((Summon) _effected).getOwner().hasSummon()))
|
||||
{
|
||||
SystemMessageId smId = null;
|
||||
if (_skill.isToggle())
|
||||
if (_finishType == SkillFinishType.SILENT)
|
||||
{
|
||||
// smId is null.
|
||||
}
|
||||
else if (_skill.isToggle())
|
||||
{
|
||||
smId = SystemMessageId.S1_HAS_BEEN_ABORTED;
|
||||
}
|
||||
else if (_isRemoved)
|
||||
else if (_finishType == SkillFinishType.REMOVED)
|
||||
{
|
||||
smId = SystemMessageId.THE_EFFECT_OF_S1_HAS_BEEN_REMOVED;
|
||||
}
|
||||
@@ -453,6 +459,6 @@ public class BuffInfo
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
return "BuffInfo [effector=" + _effector + ", effected=" + _effected + ", skill=" + _skill + ", effects=" + _effects + ", tasks=" + _tasks + ", abnormalTime=" + _abnormalTime + ", periodStartTicks=" + _periodStartTicks + ", isRemoved=" + _isRemoved + ", isInUse=" + _isInUse + "]";
|
||||
return "BuffInfo [effector=" + _effector + ", effected=" + _effected + ", skill=" + _skill + ", effects=" + _effects + ", tasks=" + _tasks + ", abnormalTime=" + _abnormalTime + ", periodStartTicks=" + _periodStartTicks + ", isRemoved=" + isRemoved() + ", isInUse=" + _isInUse + "]";
|
||||
}
|
||||
}
|
@@ -32,6 +32,7 @@ import org.l2jmobius.commons.util.Rnd;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillTreeData;
|
||||
import org.l2jmobius.gameserver.enums.ShotType;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.geoengine.GeoEngine;
|
||||
import org.l2jmobius.gameserver.handler.ITargetTypeHandler;
|
||||
import org.l2jmobius.gameserver.handler.TargetHandler;
|
||||
@@ -1455,7 +1456,7 @@ public class Skill implements IIdentifiable
|
||||
{
|
||||
if (caster.isAffectedBySkill(_id))
|
||||
{
|
||||
caster.stopSkillEffects(true, _id);
|
||||
caster.stopSkillEffects(SkillFinishType.REMOVED, _id);
|
||||
}
|
||||
applyEffects(caster, caster, true, false, true, 0);
|
||||
}
|
||||
|
@@ -19,6 +19,7 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
||||
import org.l2jmobius.Config;
|
||||
import org.l2jmobius.commons.network.PacketReader;
|
||||
import org.l2jmobius.gameserver.data.xml.SkillData;
|
||||
import org.l2jmobius.gameserver.enums.SkillFinishType;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.model.skills.AbnormalType;
|
||||
import org.l2jmobius.gameserver.model.skills.Skill;
|
||||
@@ -70,6 +71,6 @@ public class RequestDispel implements IClientIncomingPacket
|
||||
return;
|
||||
}
|
||||
|
||||
player.stopSkillEffects(true, _skillId);
|
||||
player.stopSkillEffects(SkillFinishType.REMOVED, _skillId);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user