Distinguish getVisibleObjectsInRange from getVisibleObjects.

This commit is contained in:
MobiusDev
2018-09-07 17:02:53 +00:00
parent 49e03289d7
commit 1615c77aee
236 changed files with 337 additions and 337 deletions

View File

@@ -491,7 +491,7 @@ public class L2AttackableAI extends L2CharacterAI
{
L2Character nearestTarget = null;
double closestDistance = Double.MAX_VALUE;
for (L2Character t : L2World.getInstance().getVisibleObjects(npc, L2Character.class, npc.getAggroRange()))
for (L2Character t : L2World.getInstance().getVisibleObjectsInRange(npc, L2Character.class, npc.getAggroRange()))
{
if ((t == _actor) || (t == null) || t.isDead())
{
@@ -824,7 +824,7 @@ public class L2AttackableAI extends L2CharacterAI
// Go through all L2Object that belong to its faction
try
{
for (L2Npc called : L2World.getInstance().getVisibleObjects(npc, L2Npc.class, factionRange))
for (L2Npc called : L2World.getInstance().getVisibleObjectsInRange(npc, L2Npc.class, factionRange))
{
if (!getActiveChar().getTemplate().isClan(called.getTemplate().getClans()))
{
@@ -1080,7 +1080,7 @@ public class L2AttackableAI extends L2CharacterAI
if (sk.getTargetType() == L2TargetType.ONE)
{
for (L2Attackable obj : L2World.getInstance().getVisibleObjects(npc, L2Attackable.class, sk.getCastRange() + collision))
for (L2Attackable obj : L2World.getInstance().getVisibleObjectsInRange(npc, L2Attackable.class, sk.getCastRange() + collision))
{
if (!obj.isDead())
{
@@ -1167,7 +1167,7 @@ public class L2AttackableAI extends L2CharacterAI
}
if (sk.getTargetType() == L2TargetType.ONE)
{
for (L2Attackable obj : L2World.getInstance().getVisibleObjects(npc, L2Attackable.class, sk.getCastRange() + collision))
for (L2Attackable obj : L2World.getInstance().getVisibleObjectsInRange(npc, L2Attackable.class, sk.getCastRange() + collision))
{
if (!obj.isDead())
{
@@ -1456,7 +1456,7 @@ public class L2AttackableAI extends L2CharacterAI
if (sk.getTargetType() == L2TargetType.ONE)
{
for (L2Attackable obj : L2World.getInstance().getVisibleObjects(caster, L2Attackable.class, sk.getCastRange() + caster.getTemplate().getCollisionRadius()))
for (L2Attackable obj : L2World.getInstance().getVisibleObjectsInRange(caster, L2Attackable.class, sk.getCastRange() + caster.getTemplate().getCollisionRadius()))
{
if (obj.isDead())
{
@@ -1484,7 +1484,7 @@ public class L2AttackableAI extends L2CharacterAI
}
if (isParty(sk))
{
for (L2Attackable obj : L2World.getInstance().getVisibleObjects(caster, L2Attackable.class, sk.getAffectRange() + caster.getTemplate().getCollisionRadius()))
for (L2Attackable obj : L2World.getInstance().getVisibleObjectsInRange(caster, L2Attackable.class, sk.getAffectRange() + caster.getTemplate().getCollisionRadius()))
{
if (obj.isInMyClan(caster))
{
@@ -1675,7 +1675,7 @@ public class L2AttackableAI extends L2CharacterAI
}
}
for (L2Attackable obj : L2World.getInstance().getVisibleObjects(caster, L2Attackable.class, sk.getCastRange() + caster.getTemplate().getCollisionRadius()))
for (L2Attackable obj : L2World.getInstance().getVisibleObjectsInRange(caster, L2Attackable.class, sk.getCastRange() + caster.getTemplate().getCollisionRadius()))
{
if (!obj.isDead())
{
@@ -1702,7 +1702,7 @@ public class L2AttackableAI extends L2CharacterAI
}
else if (isParty(sk))
{
for (L2Npc obj : L2World.getInstance().getVisibleObjects(caster, L2Npc.class, sk.getAffectRange() + caster.getTemplate().getCollisionRadius()))
for (L2Npc obj : L2World.getInstance().getVisibleObjectsInRange(caster, L2Npc.class, sk.getAffectRange() + caster.getTemplate().getCollisionRadius()))
{
if (caster.isInMyClan(obj))
{
@@ -1916,7 +1916,7 @@ public class L2AttackableAI extends L2CharacterAI
// ----------------------------------------------------------------------
// If there is nearby Target with aggro, start going on random target that is attackable
for (L2Character obj : L2World.getInstance().getVisibleObjects(actor, L2Character.class, range))
for (L2Character obj : L2World.getInstance().getVisibleObjectsInRange(actor, L2Character.class, range))
{
if (obj.isDead() || !GeoEngine.getInstance().canSeeTarget(actor, obj))
{
@@ -1949,7 +1949,7 @@ public class L2AttackableAI extends L2CharacterAI
double dist = 0;
double dist2 = 0;
int range = 0;
for (L2Attackable targets : L2World.getInstance().getVisibleObjects(actor, L2Attackable.class, range))
for (L2Attackable targets : L2World.getInstance().getVisibleObjectsInRange(actor, L2Attackable.class, range))
{
if (targets.isDead() || !GeoEngine.getInstance().canSeeTarget(actor, targets))
{
@@ -1988,7 +1988,7 @@ public class L2AttackableAI extends L2CharacterAI
double dist = 0;
double dist2 = 0;
int range = sk.getCastRange() + actor.getTemplate().getCollisionRadius() + getAttackTarget().getTemplate().getCollisionRadius();
for (L2Character obj : L2World.getInstance().getVisibleObjects(actor, L2Character.class, range))
for (L2Character obj : L2World.getInstance().getVisibleObjectsInRange(actor, L2Character.class, range))
{
if (obj.isDead() || !GeoEngine.getInstance().canSeeTarget(actor, obj))
{

View File

@@ -1404,7 +1404,7 @@ public class L2CharacterAI extends AbstractAI
{
if ((sk.getTargetType() == L2TargetType.AURA) || (sk.getTargetType() == L2TargetType.BEHIND_AURA) || (sk.getTargetType() == L2TargetType.FRONT_AURA) || (sk.getTargetType() == L2TargetType.AURA_CORPSE_MOB))
{
for (L2Object target : L2World.getInstance().getVisibleObjects(_actor, L2Character.class, sk.getAffectRange()))
for (L2Object target : L2World.getInstance().getVisibleObjectsInRange(_actor, L2Character.class, sk.getAffectRange()))
{
if (target == getAttackTarget())
{
@@ -1422,7 +1422,7 @@ public class L2CharacterAI extends AbstractAI
if ((sk.getTargetType() == L2TargetType.AURA) || (sk.getTargetType() == L2TargetType.BEHIND_AURA) || (sk.getTargetType() == L2TargetType.FRONT_AURA) || (sk.getTargetType() == L2TargetType.AURA_CORPSE_MOB))
{
boolean cancast = true;
for (L2Character target : L2World.getInstance().getVisibleObjects(_actor, L2Character.class, sk.getAffectRange()))
for (L2Character target : L2World.getInstance().getVisibleObjectsInRange(_actor, L2Character.class, sk.getAffectRange()))
{
if (!GeoEngine.getInstance().canSeeTarget(_actor, target) || (target.isAttackable() && !((L2Npc) _actor).isChaos()))
{
@@ -1441,7 +1441,7 @@ public class L2CharacterAI extends AbstractAI
else if ((sk.getTargetType() == L2TargetType.AREA) || (sk.getTargetType() == L2TargetType.BEHIND_AREA) || (sk.getTargetType() == L2TargetType.FRONT_AREA))
{
boolean cancast = true;
for (L2Character target : L2World.getInstance().getVisibleObjects(getAttackTarget(), L2Character.class, sk.getAffectRange()))
for (L2Character target : L2World.getInstance().getVisibleObjectsInRange(getAttackTarget(), L2Character.class, sk.getAffectRange()))
{
if (!GeoEngine.getInstance().canSeeTarget(_actor, target) || (target == null) || (target.isAttackable() && !((L2Npc) _actor).isChaos()))
{
@@ -1461,7 +1461,7 @@ public class L2CharacterAI extends AbstractAI
else if ((sk.getTargetType() == L2TargetType.AURA) || (sk.getTargetType() == L2TargetType.BEHIND_AURA) || (sk.getTargetType() == L2TargetType.FRONT_AURA) || (sk.getTargetType() == L2TargetType.AURA_CORPSE_MOB))
{
boolean cancast = false;
for (L2Character target : L2World.getInstance().getVisibleObjects(_actor, L2Character.class, sk.getAffectRange()))
for (L2Character target : L2World.getInstance().getVisibleObjectsInRange(_actor, L2Character.class, sk.getAffectRange()))
{
if (!GeoEngine.getInstance().canSeeTarget(_actor, target) || (target.isAttackable() && !((L2Npc) _actor).isChaos()))
{
@@ -1480,7 +1480,7 @@ public class L2CharacterAI extends AbstractAI
else if ((sk.getTargetType() == L2TargetType.AREA) || (sk.getTargetType() == L2TargetType.BEHIND_AREA) || (sk.getTargetType() == L2TargetType.FRONT_AREA))
{
boolean cancast = true;
for (L2Character target : L2World.getInstance().getVisibleObjects(getAttackTarget(), L2Character.class, sk.getAffectRange()))
for (L2Character target : L2World.getInstance().getVisibleObjectsInRange(getAttackTarget(), L2Character.class, sk.getAffectRange()))
{
if (!GeoEngine.getInstance().canSeeTarget(_actor, target) || (target.isAttackable() && !((L2Npc) _actor).isChaos()))
{
@@ -1505,7 +1505,7 @@ public class L2CharacterAI extends AbstractAI
{
int count = 0;
int ccount = 0;
for (L2Attackable target : L2World.getInstance().getVisibleObjects(_actor, L2Attackable.class, sk.getAffectRange()))
for (L2Attackable target : L2World.getInstance().getVisibleObjectsInRange(_actor, L2Attackable.class, sk.getAffectRange()))
{
if (!GeoEngine.getInstance().canSeeTarget(_actor, target))
{

View File

@@ -356,7 +356,7 @@ public class L2FortSiegeGuardAI extends L2CharacterAI implements Runnable
// Go through all L2Character that belong to its faction
// for (L2Character cha : _actor.getKnownList().getKnownCharactersInRadius(((L2NpcInstance) _actor).getFactionRange()+_actor.getTemplate().collisionRadius))
for (L2Character cha : L2World.getInstance().getVisibleObjects(_actor, L2Character.class, 1000))
for (L2Character cha : L2World.getInstance().getVisibleObjectsInRange(_actor, L2Character.class, 1000))
{
if (!(cha instanceof L2Npc))
{

View File

@@ -349,7 +349,7 @@ public class L2SiegeGuardAI extends L2CharacterAI implements Runnable
// Go through all L2Character that belong to its faction
// for (L2Character cha : _actor.getKnownList().getKnownCharactersInRadius(((L2NpcInstance) _actor).getFactionRange()+_actor.getTemplate().collisionRadius))
for (L2Character cha : L2World.getInstance().getVisibleObjects(_actor, L2Character.class, 1000))
for (L2Character cha : L2World.getInstance().getVisibleObjectsInRange(_actor, L2Character.class, 1000))
{
if (!(cha instanceof L2Npc))
{

View File

@@ -644,14 +644,14 @@ public final class L2World
}
}
public <T extends L2Object> List<T> getVisibleObjects(L2Object object, Class<T> clazz, int range)
public <T extends L2Object> List<T> getVisibleObjectsInRange(L2Object object, Class<T> clazz, int range)
{
final List<T> result = new ArrayList<>();
forEachVisibleObjectInRange(object, clazz, range, result::add);
return result;
}
public <T extends L2Object> List<T> getVisibleObjects(L2Object object, Class<T> clazz, int range, Predicate<T> predicate)
public <T extends L2Object> List<T> getVisibleObjectsInRange(L2Object object, Class<T> clazz, int range, Predicate<T> predicate)
{
final List<T> result = new ArrayList<>();
forEachVisibleObjectInRange(object, clazz, range, o ->

View File

@@ -1325,7 +1325,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
final int maxRadius = _stat.getPhysicalAttackRange();
final int maxAngleDiff = _stat.getPhysicalAttackAngle();
double attackpercent = 85;
for (L2Character obj : L2World.getInstance().getVisibleObjects(this, L2Character.class, maxRadius))
for (L2Character obj : L2World.getInstance().getVisibleObjectsInRange(this, L2Character.class, maxRadius))
{
// Skip main target.
if (obj == target)

View File

@@ -49,7 +49,7 @@ public class ConditionPlayerRangeFromNpc extends Condition
boolean existNpc = false;
if ((_npcIds != null) && (_npcIds.length > 0) && (_radius > 0))
{
for (L2Npc target : L2World.getInstance().getVisibleObjects(effector, L2Npc.class, _radius))
for (L2Npc target : L2World.getInstance().getVisibleObjectsInRange(effector, L2Npc.class, _radius))
{
if (CommonUtil.contains(_npcIds, target.getId()))
{