Passive skill effects should apply to dead creatures.

This commit is contained in:
MobiusDevelopment 2022-01-11 03:04:49 +00:00
parent b053d27196
commit f35338bbdf
21 changed files with 126 additions and 84 deletions

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }

View File

@ -870,18 +870,20 @@ public class EffectList
return; return;
} }
final Skill skill = info.getSkill();
// Prevent adding and initializing buffs/effects on dead creatures. // 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; return;
} }
if (info.getSkill() == null) if (skill == null)
{ {
// Only options are without skills. // Only options are without skills.
addOption(info); addOption(info);
} }
else if (info.getSkill().isPassive()) else if (skill.isPassive())
{ {
// Passive effects are treated specially // Passive effects are treated specially
addPassive(info); addPassive(info);
@ -901,7 +903,7 @@ public class EffectList
final Skill skill = info.getSkill(); 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. // 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; return;
} }