diff --git a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/skills/4600-4699.xml b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/skills/4600-4699.xml
index 957a4f2ce8..df0a85ae7b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/skills/4600-4699.xml
+++ b/L2J_Mobius_C4_ScionsOfDestiny/dist/game/data/stats/skills/4600-4699.xml
@@ -296,12 +296,13 @@
-
+
+
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/ai/AttackableAI.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/ai/AttackableAI.java
index 24482d8f62..b92c551d05 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/ai/AttackableAI.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/ai/AttackableAI.java
@@ -880,6 +880,11 @@ public class AttackableAI extends CreatureAI
if (((sk.getSkillType() == SkillType.BUFF) || (sk.getSkillType() == SkillType.HEAL) || inRange) && !_actor.isSkillDisabled(sk) && (_actor.getCurrentMp() >= _actor.getStat().getMpConsume(sk)) && !sk.isPassive() && (Rnd.get(100) <= 5))
{
+ if (sk.isSuicideAttack() && ((_actor.getCurrentHp() > (_actor.getMaxHp() / 3)) || (Rnd.get(100) > sk.getMaxChance())))
+ {
+ continue;
+ }
+
if ((sk.getSkillType() == SkillType.BUFF) || (sk.getSkillType() == SkillType.HEAL))
{
if ((sk.getSkillType() == SkillType.HEAL) && (_actor.getCurrentHp() > (int) (_actor.getMaxHp() / 1.5)))
@@ -962,12 +967,18 @@ public class AttackableAI extends CreatureAI
_actor.setTarget(_actor);
}
}
+
// GeoData Los Check here
if (!useSkillSelf && !GeoEngine.getInstance().canSeeTarget(_actor, _actor.getTarget()))
{
return;
}
+ if (sk.isSuicideAttack() && ((_actor.getCurrentHp() > (_actor.getMaxHp() / 3)) || (Rnd.get(100) > sk.getMaxChance())))
+ {
+ continue;
+ }
+
final WorldObject oldTarget = _actor.getTarget();
clientStopMoving(null);
_accessor.doCast(sk);
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/skillhandlers/Mdam.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/skillhandlers/Mdam.java
index c704bbc991..1b4d4ff623 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/skillhandlers/Mdam.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/skillhandlers/Mdam.java
@@ -137,8 +137,8 @@ public class Mdam implements ISkillHandler
if (skill.isSuicideAttack())
{
- creature.doDie(null);
creature.setCurrentHp(0);
+ creature.doDie(null);
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/skillhandlers/Pdam.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/skillhandlers/Pdam.java
index 5b85050e53..40d84a6305 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/skillhandlers/Pdam.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/handler/skillhandlers/Pdam.java
@@ -342,10 +342,10 @@ public class Pdam implements ISkillHandler
creature.removeSs();
}
- if (skill.isSuicideAttack() && !creature.isInvul())
+ if (skill.isSuicideAttack())
{
- creature.doDie(null);
creature.setCurrentHp(0);
+ creature.doDie(null);
}
}
diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/4600-4699.xml b/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/4600-4699.xml
index 957a4f2ce8..df0a85ae7b 100644
--- a/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/4600-4699.xml
+++ b/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/4600-4699.xml
@@ -296,12 +296,13 @@
-
+
+
diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/5000-5099.xml b/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/5000-5099.xml
index 0f4d8dcfb1..533c86216c 100644
--- a/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/5000-5099.xml
+++ b/L2J_Mobius_C6_Interlude/dist/game/data/stats/skills/5000-5099.xml
@@ -222,6 +222,7 @@
+
@@ -1539,6 +1540,7 @@
+
@@ -1574,6 +1576,7 @@
+
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/ai/AttackableAI.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/ai/AttackableAI.java
index 24482d8f62..b92c551d05 100644
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/ai/AttackableAI.java
+++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/ai/AttackableAI.java
@@ -880,6 +880,11 @@ public class AttackableAI extends CreatureAI
if (((sk.getSkillType() == SkillType.BUFF) || (sk.getSkillType() == SkillType.HEAL) || inRange) && !_actor.isSkillDisabled(sk) && (_actor.getCurrentMp() >= _actor.getStat().getMpConsume(sk)) && !sk.isPassive() && (Rnd.get(100) <= 5))
{
+ if (sk.isSuicideAttack() && ((_actor.getCurrentHp() > (_actor.getMaxHp() / 3)) || (Rnd.get(100) > sk.getMaxChance())))
+ {
+ continue;
+ }
+
if ((sk.getSkillType() == SkillType.BUFF) || (sk.getSkillType() == SkillType.HEAL))
{
if ((sk.getSkillType() == SkillType.HEAL) && (_actor.getCurrentHp() > (int) (_actor.getMaxHp() / 1.5)))
@@ -962,12 +967,18 @@ public class AttackableAI extends CreatureAI
_actor.setTarget(_actor);
}
}
+
// GeoData Los Check here
if (!useSkillSelf && !GeoEngine.getInstance().canSeeTarget(_actor, _actor.getTarget()))
{
return;
}
+ if (sk.isSuicideAttack() && ((_actor.getCurrentHp() > (_actor.getMaxHp() / 3)) || (Rnd.get(100) > sk.getMaxChance())))
+ {
+ continue;
+ }
+
final WorldObject oldTarget = _actor.getTarget();
clientStopMoving(null);
_accessor.doCast(sk);
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/skillhandlers/Mdam.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/skillhandlers/Mdam.java
index c704bbc991..1b4d4ff623 100644
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/skillhandlers/Mdam.java
+++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/skillhandlers/Mdam.java
@@ -137,8 +137,8 @@ public class Mdam implements ISkillHandler
if (skill.isSuicideAttack())
{
- creature.doDie(null);
creature.setCurrentHp(0);
+ creature.doDie(null);
}
}
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/skillhandlers/Pdam.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/skillhandlers/Pdam.java
index 0988ae1316..76e661dc3c 100644
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/skillhandlers/Pdam.java
+++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/handler/skillhandlers/Pdam.java
@@ -351,10 +351,10 @@ public class Pdam implements ISkillHandler
creature.removeSs();
}
- if (skill.isSuicideAttack() && !creature.isInvul())
+ if (skill.isSuicideAttack())
{
- creature.doDie(null);
creature.setCurrentHp(0);
+ creature.doDie(null);
}
}