From f35338bbdf10af90637ffff440b2380d5590e545 Mon Sep 17 00:00:00 2001 From: MobiusDevelopment <8391001+MobiusDevelopment@users.noreply.github.com> Date: Tue, 11 Jan 2022 03:04:49 +0000 Subject: [PATCH] Passive skill effects should apply to dead creatures. --- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- .../org/l2jmobius/gameserver/model/EffectList.java | 10 ++++++---- 21 files changed, 126 insertions(+), 84 deletions(-) diff --git a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_01.0_Ertheia/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_02.5_Underground/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_03.0_Helios/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_04.0_GrandCrusade/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_05.0_Salvation/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_05.5_EtinasFate/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_06.0_Fafurion/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_07.0_PreludeOfWar/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_08.2_Homunculus/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/EffectList.java index 701b5fc2bf..bc08507351 100644 --- a/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_09.2_ReturnOfTheQueenAnt/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/EffectList.java index 701b5fc2bf..bc08507351 100644 --- a/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_10.0_MasterClass/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Classic_2.0_Saviors/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Classic_2.1_Zaken/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Classic_2.2_Antharas/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Classic_2.3_SevenSigns/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Classic_2.4_SecretOfEmpire/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Classic_3.0_TheKamael/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Classic_Interlude/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/EffectList.java index 4072fc495a..4ce831303f 100644 --- a/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Essence_4.2_DwellingOfSpirits/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/EffectList.java index 701b5fc2bf..bc08507351 100644 --- a/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Essence_5.2_FrostLord/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; } diff --git a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/EffectList.java b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/EffectList.java index 701b5fc2bf..bc08507351 100644 --- a/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/EffectList.java +++ b/L2J_Mobius_Essence_6.0_BattleChronicle/java/org/l2jmobius/gameserver/model/EffectList.java @@ -870,18 +870,20 @@ public class EffectList return; } + final Skill skill = info.getSkill(); + // Prevent adding and initializing buffs/effects on dead creatures. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && (skill != null) && !skill.isPassive() && !skill.isStayAfterDeath()) { return; } - if (info.getSkill() == null) + if (skill == null) { // Only options are without skills. addOption(info); } - else if (info.getSkill().isPassive()) + else if (skill.isPassive()) { // Passive effects are treated specially addPassive(info); @@ -901,7 +903,7 @@ public class EffectList final Skill skill = info.getSkill(); // Cannot add active buff to dead creature. Even in retail if you are dead with Lv. 3 Shillien's Breath, it will disappear instead of going 1 level down. - if (info.getEffected().isDead() && !info.getSkill().isStayAfterDeath()) + if (info.getEffected().isDead() && !skill.isStayAfterDeath()) { return; }