Fixed FAN & SQUARE effectscope not giving damage to unflagged targets.
Contributed by LLiuKe.
This commit is contained in:
parent
a5d5c38622
commit
616f55bc7f
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -53,6 +54,7 @@ public class Square implements IAffectScopeHandler
|
||||
final double sin = Math.sin(-heading);
|
||||
|
||||
// Target checks.
|
||||
final TargetType targetType = skill.getTargetType();
|
||||
final AtomicInteger affected = new AtomicInteger(0);
|
||||
final Predicate<Creature> filter = c ->
|
||||
{
|
||||
@ -60,7 +62,7 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -72,7 +74,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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;
|
||||
|
||||
/**
|
||||
@ -53,6 +54,7 @@ public class Square implements IAffectScopeHandler
|
||||
final double sin = Math.sin(-heading);
|
||||
|
||||
// Target checks.
|
||||
final TargetType targetType = skill.getTargetType();
|
||||
final AtomicInteger affected = new AtomicInteger(0);
|
||||
final Predicate<Creature> filter = c ->
|
||||
{
|
||||
@ -60,7 +62,7 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -72,7 +74,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
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 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -63,7 +65,7 @@ public class Fan implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if ((affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
if ((c != target) && (affectObject != null) && !affectObject.checkAffectedObject(creature, c))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
@ -29,6 +29,7 @@ import org.l2jmobius.gameserver.model.WorldObject;
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
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 @@ public class Square implements IAffectScopeHandler
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (c.isDead())
|
||||
if (c.isDead() && (targetType != TargetType.NPC_BODY) && (targetType != TargetType.PC_BODY))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -73,7 +75,7 @@ public class Square implements IAffectScopeHandler
|
||||
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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user