L2JMobius

Homunculus FAN & SQUARE effectscope not giving damage to unflagged target FIX

LLiuKe · 6 · 2720

Offline LLiuKe

  • Heir
  • **
    • Posts: 16
Code: [Select]
diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/targethandlers/affectscope/Fan.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/targethandlers/affectscope/Fan.java
index 137d9d8..09e8761 100644
--- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/targethandlers/affectscope/Fan.java
+++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/targethandlers/affectscope/Fan.java
@@ -29,6 +29,7 @@
 import org.l2jmobius.gameserver.model.actor.Creature;
 import org.l2jmobius.gameserver.model.skills.Skill;
 import org.l2jmobius.gameserver.model.skills.targets.AffectScope;
+import org.l2jmobius.gameserver.model.skills.targets.TargetType;
 import org.l2jmobius.gameserver.util.Util;
 
 /**
@@ -48,6 +49,7 @@
  final double fanHalfAngle = fanAngle / 2; // Half left and half right.
  final int affectLimit = skill.getAffectLimit();
  // Target checks.
+ final TargetType targetType = skill.getTargetType();
  final AtomicInteger affected = new AtomicInteger(0);
  final Predicate<Creature> filter = c ->
  {
@@ -55,7 +57,7 @@
  {
  return false;
  }
- if (c.isDead())
+ if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
  {
  return false;
  }
@@ -63,7 +65,7 @@
  {
  return false;
  }
- if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
+ if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
  {
  return false;
  }



Code: [Select]
diff --git a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/targethandlers/affectscope/Square.java b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/targethandlers/affectscope/Square.java
index 5119ede..d3080e5 100644
--- a/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/targethandlers/affectscope/Square.java
+++ b/L2J_Mobius_8.0_Homunculus/dist/game/data/scripts/handlers/targethandlers/affectscope/Square.java
@@ -29,6 +29,7 @@
 import org.l2jmobius.gameserver.model.actor.Creature;
 import org.l2jmobius.gameserver.model.skills.Skill;
 import org.l2jmobius.gameserver.model.skills.targets.AffectScope;
+import org.l2jmobius.gameserver.model.skills.targets.TargetType;
 import org.l2jmobius.gameserver.util.Util;
 
 /**
@@ -54,6 +55,7 @@
  final double sin = Math.sin(-heading);
 
  // Target checks.
+ final TargetType targetType = skill.getTargetType();
  final AtomicInteger affected = new AtomicInteger(0);
  final Predicate<Creature> filter = c ->
  {
@@ -61,7 +63,7 @@
  {
  return false;
  }
- if (c.isDead())
+ if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
  {
  return false;
  }
@@ -73,7 +75,7 @@
  final int yr = (int) (creature.getY() + (xp * sin) + (yp * cos));
  if ((xr > rectX) && (xr < (rectX + squareLength)) && (yr > rectY) && (yr < (rectY + squareWidth)))
  {
- if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
+ if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
  {
  return false;
  }





Offline nasseka

  • Distinguished King
  • *****
    • Posts: 1729
    • L2Unknown
aoes who can be used without target doesn't do damage to non flagged chars. Aoes who need target to use like multiple arrow, do damage to non flagged


Offline LLiuKe

  • Heir
  • **
    • Posts: 16
aoes who can be used without target doesn't do damage to non flagged chars. Aoes who need target to use like multiple arrow, do damage to non flagged

Is just when you use force attack . When you don't use force attack will not do damage to non flagged people .