Addition of SkillFinishType enumeration.

This commit is contained in:
MobiusDevelopment
2021-08-18 16:39:21 +00:00
parent c2d8864dd7
commit 471b06e031
711 changed files with 3383 additions and 2072 deletions

View File

@@ -23,6 +23,7 @@ import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.gameserver.data.SpawnTable;
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.Spawn;
import org.l2jmobius.gameserver.model.actor.Npc;
@@ -521,7 +522,7 @@ public class AteliaManager extends AbstractNpcAI
for (Npc monster : spawn.getSpawnedNpcs())
{
monster.getEffectList().stopEffects(AbnormalType.ALL_ATTACK_DOWN);
monster.stopSkillEffects(true, 16526);
monster.stopSkillEffects(SkillFinishType.REMOVED, 16526);
}
}
}
@@ -536,7 +537,7 @@ public class AteliaManager extends AbstractNpcAI
for (Npc monster : spawn.getSpawnedNpcs())
{
monster.getEffectList().stopEffects(AbnormalType.MAX_HP_DOWN);
monster.stopSkillEffects(true, 16542);
monster.stopSkillEffects(SkillFinishType.REMOVED, 16542);
}
}
}
@@ -551,7 +552,7 @@ public class AteliaManager extends AbstractNpcAI
for (Npc monster : spawn.getSpawnedNpcs())
{
monster.getEffectList().stopEffects(AbnormalType.MAX_HP_DOWN);
monster.stopSkillEffects(true, 16542);
monster.stopSkillEffects(SkillFinishType.REMOVED, 16542);
}
}
}

View File

@@ -16,6 +16,7 @@
*/
package ai.areas.GuillotineFortress;
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;
@@ -65,7 +66,7 @@ public class GuillotineFortress extends AbstractNpcAI
{
if ((npc.getCurrentHpPercent() <= 85) && npc.isScriptValue(1))
{
npc.getEffectList().stopSkillEffects(true, CHAOS_SHIELD.getSkillId());
npc.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, CHAOS_SHIELD.getSkillId());
if (player.getParty() == null)
{
player.broadcastPacket(new ExShowScreenMessage(NpcStringId.CHAOS_SHIELD_BREAKTHROUGH, ExShowScreenMessage.BOTTOM_CENTER, 10000, false));

View File

@@ -18,6 +18,7 @@ package ai.bosses.Kimerian;
import org.l2jmobius.gameserver.enums.CategoryType;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Attackable;
@@ -124,7 +125,7 @@ public class KimerianCommon extends AbstractInstance
if (npc.getVariables().getBoolean("INVUL_CAN_BE_CANCELLED", true))
{
npc.getVariables().set("INVUL_CAN_BE_CANCELLED", false);
npc.getEffectList().stopSkillEffects(true, INVUL_SKILL.getSkillId());
npc.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, INVUL_SKILL.getSkillId());
npc.disableCoreAI(false);
npc.setTargetable(true);
addAttackPlayerDesire(npc, player, 23);

View File

@@ -19,6 +19,7 @@ package ai.bosses;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
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;
@@ -99,7 +100,7 @@ public final class LimitBarrier extends AbstractNpcAI
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.YOU_HAVE_FAILED_TO_DESTROY_THE_LIMIT_BARRIER_NTHE_RAID_BOSS_FULLY_RECOVERS_ITS_CON, 2, 5000, true));
}
npc.setCurrentHp(npc.getStat().getMaxHp(), true);
npc.stopSkillEffects(true, LIMIT_BARRIER.getSkillId());
npc.stopSkillEffects(SkillFinishType.REMOVED, LIMIT_BARRIER.getSkillId());
RAIDBOSS_HITS.put(npc, 0);
}
else if (hits > HIT_COUNT)
@@ -108,7 +109,7 @@ public final class LimitBarrier extends AbstractNpcAI
{
npc.broadcastPacket(new ExShowScreenMessage(NpcStringId.YOU_HAVE_DESTROYED_THE_LIMIT_BARRIER, 2, 5000, true));
}
npc.stopSkillEffects(true, LIMIT_BARRIER.getSkillId());
npc.stopSkillEffects(SkillFinishType.REMOVED, LIMIT_BARRIER.getSkillId());
RAIDBOSS_HITS.put(npc, 0);
}
break;

View File

@@ -26,6 +26,7 @@ import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.SpawnTable;
import org.l2jmobius.gameserver.data.xml.DoorData;
import org.l2jmobius.gameserver.enums.Movie;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.instancemanager.GrandBossManager;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
import org.l2jmobius.gameserver.model.Location;
@@ -873,7 +874,7 @@ public class Trasken extends AbstractNpcAI
final BuffInfo traskenBuff = creature.getEffectList().getBuffInfoBySkillId(SKILL_TRASKEN_BUFF.getSkillId());
if (traskenBuff != null)
{
creature.getEffectList().stopSkillEffects(true, traskenBuff.getSkill());
creature.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, traskenBuff.getSkill());
}
}
ThreadPool.schedule(() ->

View File

@@ -17,6 +17,7 @@
package ai.others;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.instancemanager.RankManager;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.events.EventType;
@@ -69,24 +70,24 @@ public class RankingSkillBonuses extends AbstractNpcAI
}
// Remove existing effects and skills.
player.getEffectList().stopSkillEffects(true, SERVER_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, SERVER_LEVEL_RANKING_2ND_CLASS);
player.getEffectList().stopSkillEffects(true, SERVER_LEVEL_RANKING_3RD_CLASS);
player.getEffectList().stopSkillEffects(true, HUMAN_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, ELF_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, DARK_ELF_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, ORC_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, DWARF_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, KAMAEL_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, ERTHEIA_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(true, SIGEL_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(true, WARRIOR_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(true, ROGUE_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(true, ARCHER_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(true, ISS_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(true, FEOH_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(true, SUMMONER_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(true, HEALER_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, SERVER_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, SERVER_LEVEL_RANKING_2ND_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, SERVER_LEVEL_RANKING_3RD_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, HUMAN_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ELF_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, DARK_ELF_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ORC_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, DWARF_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, KAMAEL_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ERTHEIA_LEVEL_RANKING_1ST_CLASS);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, SIGEL_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, WARRIOR_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ROGUE_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ARCHER_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ISS_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, FEOH_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, SUMMONER_RANK_BENEFIT);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, HEALER_RANK_BENEFIT);
player.removeSkill(SERVER_RANKING_BENEFIT_1);
player.removeSkill(SERVER_RANKING_BENEFIT_2);
player.removeSkill(SERVER_RANKING_BENEFIT_3);

View File

@@ -26,6 +26,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;
@@ -368,8 +369,8 @@ public class Race extends Event
}
player.getEffectList().stopEffects(AbnormalType.SPEED_UP);
player.stopSkillEffects(true, 268);
player.stopSkillEffects(true, 298); // Rabbit Spirit Totem
player.stopSkillEffects(SkillFinishType.REMOVED, 268);
player.stopSkillEffects(SkillFinishType.REMOVED, 298); // Rabbit Spirit Totem
SkillData.getInstance().getSkill(_skill, 1).applyEffects(player, player);
}

View File

@@ -26,6 +26,7 @@ import java.util.concurrent.ConcurrentHashMap;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.enums.CategoryType;
import org.l2jmobius.gameserver.enums.PartyDistributionType;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.enums.Team;
import org.l2jmobius.gameserver.instancemanager.AntiFeedManager;
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
@@ -613,7 +614,7 @@ public class TvT extends Event
// Removed invulnerability shield.
if (player.isAffectedBySkill(GHOST_WALKING))
{
player.getEffectList().stopSkillEffects(true, GHOST_WALKING.getSkill());
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, GHOST_WALKING.getSkill());
}
}
return super.onExitZone(creature, zone);

View File

@@ -16,6 +16,7 @@
*/
package events.HuntForSanta;
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.events.EventType;
@@ -150,9 +151,9 @@ public class HuntForSanta extends LongTimeEvent
private void removeBuffs(PlayerInstance player)
{
player.getEffectList().stopSkillEffects(true, BUFF_STOCKING.getSkill());
player.getEffectList().stopSkillEffects(true, BUFF_TREE.getSkill());
player.getEffectList().stopSkillEffects(true, BUFF_SNOWMAN.getSkill());
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, BUFF_STOCKING.getSkill());
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, BUFF_TREE.getSkill());
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, BUFF_SNOWMAN.getSkill());
cancelQuestTimer("rewardBuffStocking" + player.getObjectId(), null, player);
cancelQuestTimer("rewardBuffTree" + player.getObjectId(), null, player);
cancelQuestTimer("rewardBuffSnowman" + player.getObjectId(), null, player);

View File

@@ -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))
{

View File

@@ -25,6 +25,7 @@ import java.util.StringTokenizer;
import org.l2jmobius.Config;
import org.l2jmobius.gameserver.data.xml.SkillData;
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.actor.Creature;
@@ -364,7 +365,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 + ").");
}

View File

@@ -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;

View File

@@ -19,6 +19,7 @@ package handlers.effecthandlers;
import java.util.List;
import org.l2jmobius.gameserver.enums.DispelSlotType;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@@ -68,7 +69,7 @@ public class DispelByCategory extends AbstractEffect
final List<BuffInfo> canceled = Formulas.calcCancelStealEffects(effector, effected, skill, _slot, _rate, _max);
for (BuffInfo can : canceled)
{
effected.getEffectList().stopSkillEffects(true, can.getSkill());
effected.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, can.getSkill());
}
}
}

View File

@@ -19,6 +19,7 @@ package handlers.effecthandlers;
import java.util.List;
import org.l2jmobius.gameserver.enums.DispelSlotType;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.effects.AbstractEffect;
@@ -76,7 +77,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);
effected.getEffectList().remove(infoToSteal, true, true, true);
effected.getEffectList().remove(infoToSteal, SkillFinishType.REMOVED, true, true);
effector.getEffectList().add(stolen);
}
}

View File

@@ -16,6 +16,7 @@
*/
package handlers.effecthandlers;
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;
@@ -84,8 +85,8 @@ public class TrackLimitedSkill extends AbstractEffect
if (limitAeoreLevel == 3)
{
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(CELESTIAL_PROTECTION), false, false, false); // Remove Celestial Protection
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(CELESTIAL_PARTY_PROTECTION), false, false, false); // Remove Celestial Party Protection
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(CELESTIAL_PROTECTION), SkillFinishType.NORMAL, false, false); // Remove Celestial Protection
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(CELESTIAL_PARTY_PROTECTION), SkillFinishType.NORMAL, false, false); // Remove Celestial Party Protection
}
else
{
@@ -107,8 +108,8 @@ public class TrackLimitedSkill extends AbstractEffect
if (limitSigelLevel == 3)
{
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(PROTECTION_OF_FATE), false, false, false); // Remove Protection of Fate
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(NINE_AEGIS), false, false, false); // Remove Nine Aegis
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(PROTECTION_OF_FATE), SkillFinishType.NORMAL, false, false); // Remove Protection of Fate
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(NINE_AEGIS), SkillFinishType.NORMAL, false, false); // Remove Nine Aegis
}
else
{
@@ -129,8 +130,8 @@ public class TrackLimitedSkill extends AbstractEffect
limitIssLevel = debuff.getSkill().getLevel();
if (limitIssLevel == 3)
{
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(BATTLE_RAPSODY), false, false, false); // Remove Battle Rhapsody
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(OVERLORDS_DIGNITY), false, false, false); // Remove Overlord's Dignity
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(BATTLE_RAPSODY), SkillFinishType.NORMAL, false, false); // Remove Battle Rhapsody
effected.getEffectList().remove(effectList.getBuffInfoBySkillId(OVERLORDS_DIGNITY), SkillFinishType.NORMAL, false, false); // Remove Overlord's Dignity
}
else
{

View File

@@ -21,6 +21,7 @@ import java.util.logging.Level;
import org.l2jmobius.commons.util.CommonUtil;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.handler.TargetHandler;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
@@ -128,7 +129,7 @@ public class TriggerSkillByMagicType extends AbstractEffect
// Remove existing effect, otherwise time will not be renewed at max level.
if (_replace)
{
((Creature) target).getEffectList().stopSkillEffects(true, triggerSkill);
((Creature) target).stopSkillEffects(SkillFinishType.SILENT, triggerSkill.getId());
}
SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);

View File

@@ -20,6 +20,7 @@ import java.util.logging.Level;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.handler.TargetHandler;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
@@ -127,7 +128,7 @@ public class TriggerSkillBySkill extends AbstractEffect
// Remove existing effect, otherwise time will not be renewed at max level.
if (_replace)
{
((Creature) target).getEffectList().stopSkillEffects(false, triggerSkill);
((Creature) target).stopSkillEffects(SkillFinishType.SILENT, triggerSkill.getId());
}
SkillCaster.triggerCast(event.getCaster(), (Creature) target, triggerSkill);

View File

@@ -18,6 +18,7 @@ package instances.Nursery;
import org.l2jmobius.gameserver.enums.CategoryType;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.enums.SkillFinishType;
import org.l2jmobius.gameserver.instancemanager.ZoneManager;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.Creature;
@@ -182,9 +183,9 @@ public class Nursery extends AbstractInstance
npcVars.set("GAME_POINTS", npcVars.getInt("GAME_POINTS", 0) + addPoints);
showOnScreenMsg(instance, NpcStringId.SOLDIER_TIE_ABSORBED_REPRODUCTIVE_ENERGY_FROM_YOUR_BODY_AND_CONVERTED_S1_PIECES_OF_BIO_ENERGY, ExShowScreenMessage.TOP_CENTER, 3000, String.valueOf(addPoints));
player.getEffectList().stopSkillEffects(true, ENERGY_SKILL_1.getSkill());
player.getEffectList().stopSkillEffects(true, ENERGY_SKILL_2.getSkill());
player.getEffectList().stopSkillEffects(true, ENERGY_SKILL_3.getSkill());
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ENERGY_SKILL_1.getSkill());
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ENERGY_SKILL_2.getSkill());
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, ENERGY_SKILL_3.getSkill());
}
}
return htmltext;

View File

@@ -18,6 +18,7 @@ package quests.Q00500_BrothersBoundInChains;
import org.l2jmobius.gameserver.data.xml.SkillData;
import org.l2jmobius.gameserver.enums.QuestType;
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.events.Containers;
@@ -217,7 +218,7 @@ public class Q00500_BrothersBoundInChains extends Quest
}
cancelQuestTimer("buff", null, player);
player.getEffectList().stopSkillEffects(true, HOUR_OF_PENITENCE);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, HOUR_OF_PENITENCE);
}
@RegisterEvent(EventType.ON_ATTACKABLE_KILL)

View File

@@ -19,6 +19,7 @@ package village_master.ClanMaster;
import java.util.HashMap;
import java.util.Map;
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.clan.Clan;
@@ -165,12 +166,12 @@ public class ClanMaster extends AbstractNpcAI
if (removing)
{
final Skill advent = getAdventSkill(player.getClan());
player.getEffectList().stopSkillEffects(true, advent);
player.getEffectList().stopSkillEffects(SkillFinishType.REMOVED, advent);
player.getClan().getMembers().forEach(member ->
{
if (member.isOnline())
{
member.getPlayerInstance().getEffectList().stopSkillEffects(true, advent);
member.getPlayerInstance().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, advent);
}
});
}
@@ -230,7 +231,7 @@ public class ClanMaster extends AbstractNpcAI
@RegisterType(ListenerRegisterType.GLOBAL_PLAYERS)
public void onPlayerClanLeft(OnPlayerClanLeft event)
{
event.getClanMember().getPlayerInstance().getEffectList().stopSkillEffects(true, getAdventSkill(event.getClan()));
event.getClanMember().getPlayerInstance().getEffectList().stopSkillEffects(SkillFinishType.REMOVED, getAdventSkill(event.getClan()));
}
private Skill getAdventSkill(Clan clan)