From cc5398d7bd2ed94df1947f222f48a383cb808867 Mon Sep 17 00:00:00 2001 From: MobiusDev <8391001+MobiusDevelopment@users.noreply.github.com> Date: Thu, 30 Nov 2017 14:48:46 +0000 Subject: [PATCH] Stop effects of replaced passive skills. --- .../com/l2jmobius/gameserver/model/actor/L2Character.java | 6 ++++++ .../com/l2jmobius/gameserver/model/actor/L2Character.java | 6 ++++++ .../com/l2jmobius/gameserver/model/actor/L2Character.java | 6 ++++++ .../com/l2jmobius/gameserver/model/actor/L2Character.java | 6 ++++++ .../com/l2jmobius/gameserver/model/actor/L2Character.java | 6 ++++++ 5 files changed, 30 insertions(+) diff --git a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java index 5e67e56705..65b3a13650 100644 --- a/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_1.0_Ertheia/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4230,6 +4230,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe // If an old skill has been replaced, remove all its Func objects if (oldSkill != null) { + // Stop all effects of that skill + if (oldSkill.isPassive()) + { + getEffectList().stopSkillEffects(true, oldSkill); + } + getStat().recalculateStats(true); } diff --git a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c974146ecb..88d2616d3b 100644 --- a/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_2.5_Underground/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4234,6 +4234,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe // If an old skill has been replaced, remove all its Func objects if (oldSkill != null) { + // Stop all effects of that skill + if (oldSkill.isPassive()) + { + getEffectList().stopSkillEffects(true, oldSkill); + } + getStat().recalculateStats(true); } diff --git a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c974146ecb..88d2616d3b 100644 --- a/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_3.0_Helios/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4234,6 +4234,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe // If an old skill has been replaced, remove all its Func objects if (oldSkill != null) { + // Stop all effects of that skill + if (oldSkill.isPassive()) + { + getEffectList().stopSkillEffects(true, oldSkill); + } + getStat().recalculateStats(true); } diff --git a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c974146ecb..88d2616d3b 100644 --- a/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_4.0_GrandCrusade/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4234,6 +4234,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe // If an old skill has been replaced, remove all its Func objects if (oldSkill != null) { + // Stop all effects of that skill + if (oldSkill.isPassive()) + { + getEffectList().stopSkillEffects(true, oldSkill); + } + getStat().recalculateStats(true); } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java index c974146ecb..88d2616d3b 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/com/l2jmobius/gameserver/model/actor/L2Character.java @@ -4234,6 +4234,12 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe // If an old skill has been replaced, remove all its Func objects if (oldSkill != null) { + // Stop all effects of that skill + if (oldSkill.isPassive()) + { + getEffectList().stopSkillEffects(true, oldSkill); + } + getStat().recalculateStats(true); }