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

@@ -148,7 +148,7 @@ public final class AirShipGludioGracia extends AbstractNpcAI implements Runnable
private final L2Npc findController()
{
// check objects around the ship
for (L2Npc obj : L2World.getInstance().getVisibleObjects(_ship, L2Npc.class, 600))
for (L2Npc obj : L2World.getInstance().getVisibleObjectsInRange(_ship, L2Npc.class, 600))
{
for (int id : CONTROLLERS)
{

View File

@@ -312,7 +312,7 @@ public final class Antharas extends AbstractNpcAI
}
case "START_MOVE":
{
for (L2PcInstance players : L2World.getInstance().getVisibleObjects(npc, L2PcInstance.class, 4000))
for (L2PcInstance players : L2World.getInstance().getVisibleObjectsInRange(npc, L2PcInstance.class, 4000))
{
if (players.isHero())
{

View File

@@ -335,7 +335,7 @@ public final class Baium extends AbstractNpcAI
else
{
boolean found = false;
for (L2Playable creature : L2World.getInstance().getVisibleObjects(mob, L2Playable.class, 1000))
for (L2Playable creature : L2World.getInstance().getVisibleObjectsInRange(mob, L2Playable.class, 1000))
{
if (zone.isInsideZone(creature) && !creature.isDead())
{
@@ -777,7 +777,7 @@ public final class Baium extends AbstractNpcAI
private L2PcInstance getRandomPlayer(L2Npc npc)
{
for (L2Character creature : L2World.getInstance().getVisibleObjects(npc, L2PcInstance.class, 2000))
for (L2Character creature : L2World.getInstance().getVisibleObjectsInRange(npc, L2PcInstance.class, 2000))
{
if ((creature != null) && zone.isInsideZone(creature) && !creature.isDead())
{

View File

@@ -610,7 +610,7 @@ public final class Beleth extends AbstractNpcAI
{
if (!npc.isDead() && !npc.isCastingNow())
{
if ((getRandom(100) < 40) && !L2World.getInstance().getVisibleObjects(npc, L2PcInstance.class, 200).isEmpty())
if ((getRandom(100) < 40) && !L2World.getInstance().getVisibleObjectsInRange(npc, L2PcInstance.class, 200).isEmpty())
{
npc.doCast(BLEED.getSkill());
return null;
@@ -643,12 +643,12 @@ public final class Beleth extends AbstractNpcAI
}
return null;
}
if ((getRandom(100) < 40) && !L2World.getInstance().getVisibleObjects(npc, L2PcInstance.class, 200).isEmpty())
if ((getRandom(100) < 40) && !L2World.getInstance().getVisibleObjectsInRange(npc, L2PcInstance.class, 200).isEmpty())
{
npc.doCast(LIGHTENING.getSkill());
return null;
}
for (L2PcInstance plr : L2World.getInstance().getVisibleObjects(npc, L2PcInstance.class, 950))
for (L2PcInstance plr : L2World.getInstance().getVisibleObjectsInRange(npc, L2PcInstance.class, 950))
{
npc.setTarget(plr);
npc.doCast(FIREBALL.getSkill());
@@ -663,7 +663,7 @@ public final class Beleth extends AbstractNpcAI
public String onSpawn(L2Npc npc)
{
npc.setRunning();
if (!L2World.getInstance().getVisibleObjects(npc, L2PcInstance.class, 300).isEmpty() && (getRandom(100) < 60))
if (!L2World.getInstance().getVisibleObjectsInRange(npc, L2PcInstance.class, 300).isEmpty() && (getRandom(100) < 60))
{
npc.doCast(BLEED.getSkill());
}
@@ -728,7 +728,7 @@ public final class Beleth extends AbstractNpcAI
}
else if (!npc.isDead() && !npc.isCastingNow())
{
if (!L2World.getInstance().getVisibleObjects(npc, L2PcInstance.class, 200).isEmpty())
if (!L2World.getInstance().getVisibleObjectsInRange(npc, L2PcInstance.class, 200).isEmpty())
{
npc.doCast(LIGHTENING.getSkill());
return null;

View File

@@ -175,7 +175,7 @@ public class DrChaos extends AbstractNpcAI
{
if (GrandBossManager.getInstance().getBossStatus(CHAOS_GOLEM) == NORMAL)
{
for (L2PcInstance obj : L2World.getInstance().getVisibleObjects(npc, L2PcInstance.class, 500))
for (L2PcInstance obj : L2World.getInstance().getVisibleObjectsInRange(npc, L2PcInstance.class, 500))
{
if (obj.isDead())
{

View File

@@ -519,7 +519,7 @@ public final class Valakas extends AbstractNpcAI
}
// Valakas will use mass spells if he feels surrounded.
if (L2World.getInstance().getVisibleObjects(npc, L2PcInstance.class, 1200).size() >= 20)
if (L2World.getInstance().getVisibleObjectsInRange(npc, L2PcInstance.class, 1200).size() >= 20)
{
return VALAKAS_AOE_SKILLS[getRandom(VALAKAS_AOE_SKILLS.length)];
}

View File

@@ -81,7 +81,7 @@ public class NpcBufferAI implements Runnable
}
case RANGE:
{
for (L2Character target : L2World.getInstance().getVisibleObjects(_npc, L2Character.class, skill.getAffectRange()))
for (L2Character target : L2World.getInstance().getVisibleObjectsInRange(_npc, L2Character.class, skill.getAffectRange()))
{
switch (_skillData.getAffectObject())
{

View File

@@ -105,7 +105,7 @@ public class SiegeGuards extends AbstractNpcAI
final L2Object target = npc.getTarget();
if (!npc.isInCombat() || (target == null) || (npc.calculateDistance2D(target) > npc.getAggroRange()))
{
for (L2Character nearby : L2World.getInstance().getVisibleObjects(npc, L2Character.class, npc.getAggroRange()))
for (L2Character nearby : L2World.getInstance().getVisibleObjectsInRange(npc, L2Character.class, npc.getAggroRange()))
{
if (nearby.isPlayable() && GeoEngine.getInstance().canSeeTarget(npc, nearby))
{

View File

@@ -126,7 +126,7 @@ public class AdminScan implements IAdminCommandHandler
final NpcHtmlMessage html = new NpcHtmlMessage();
html.setFile(activeChar, "data/html/admin/scan.htm");
final StringBuilder sb = new StringBuilder();
for (L2Character character : L2World.getInstance().getVisibleObjects(activeChar, L2Character.class, radius))
for (L2Character character : L2World.getInstance().getVisibleObjectsInRange(activeChar, L2Character.class, radius))
{
if (character instanceof L2Npc)
{

View File

@@ -39,7 +39,7 @@ public class Aura implements ITargetTypeHandler
{
final List<L2Character> targetList = new ArrayList<>();
final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
for (L2Character obj : L2World.getInstance().getVisibleObjects(activeChar, L2Character.class, skill.getAffectRange()))
for (L2Character obj : L2World.getInstance().getVisibleObjectsInRange(activeChar, L2Character.class, skill.getAffectRange()))
{
if (obj.isDoor() || obj.isAttackable() || obj.isPlayable())
{

View File

@@ -38,7 +38,7 @@ public class AuraCorpseMob implements ITargetTypeHandler
final List<L2Character> targetList = new ArrayList<>();
// Go through the L2Character _knownList
final int maxTargets = skill.getAffectLimit();
for (L2Attackable obj : L2World.getInstance().getVisibleObjects(activeChar, L2Attackable.class, skill.getAffectRange()))
for (L2Attackable obj : L2World.getInstance().getVisibleObjectsInRange(activeChar, L2Attackable.class, skill.getAffectRange()))
{
if (obj.isDead())
{

View File

@@ -38,7 +38,7 @@ public class BehindAura implements ITargetTypeHandler
final List<L2Character> targetList = new ArrayList<>();
final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
final int maxTargets = skill.getAffectLimit();
for (L2Character obj : L2World.getInstance().getVisibleObjects(activeChar, L2Character.class, skill.getAffectRange()))
for (L2Character obj : L2World.getInstance().getVisibleObjectsInRange(activeChar, L2Character.class, skill.getAffectRange()))
{
if (obj.isAttackable() || obj.isPlayable())
{

View File

@@ -147,7 +147,7 @@ public class Clan implements ITargetTypeHandler
targetList.add(activeChar);
for (L2Npc newTarget : L2World.getInstance().getVisibleObjects(activeChar, L2Npc.class, skill.getCastRange()))
for (L2Npc newTarget : L2World.getInstance().getVisibleObjectsInRange(activeChar, L2Npc.class, skill.getCastRange()))
{
if (newTarget.isNpc() && npc.isInMyClan(newTarget))
{

View File

@@ -47,7 +47,7 @@ public class ClanMember implements ITargetTypeHandler
activeChar
};
}
for (L2Npc newTarget : L2World.getInstance().getVisibleObjects(activeChar, L2Npc.class, skill.getCastRange()))
for (L2Npc newTarget : L2World.getInstance().getVisibleObjectsInRange(activeChar, L2Npc.class, skill.getCastRange()))
{
if (newTarget.isNpc() && npc.isInMyClan(newTarget))
{

View File

@@ -135,7 +135,7 @@ public class CorpseClan implements ITargetTypeHandler
targetList.add(activeChar);
for (L2Npc newTarget : L2World.getInstance().getVisibleObjects(activeChar, L2Npc.class, skill.getCastRange()))
for (L2Npc newTarget : L2World.getInstance().getVisibleObjectsInRange(activeChar, L2Npc.class, skill.getCastRange()))
{
if (npc.isInMyClan(newTarget))
{

View File

@@ -38,7 +38,7 @@ public class FrontAura implements ITargetTypeHandler
final List<L2Character> targetList = new ArrayList<>();
final boolean srcInArena = (activeChar.isInsideZone(ZoneId.PVP) && !activeChar.isInsideZone(ZoneId.SIEGE));
final int maxTargets = skill.getAffectLimit();
for (L2Character obj : L2World.getInstance().getVisibleObjects(activeChar, L2Character.class, skill.getAffectRange()))
for (L2Character obj : L2World.getInstance().getVisibleObjectsInRange(activeChar, L2Character.class, skill.getAffectRange()))
{
if (obj.isAttackable() || obj.isPlayable())
{

View File

@@ -71,7 +71,7 @@ public class PartyClan implements ITargetTypeHandler
// Get all visible objects in a spherical area near the L2Character
final int maxTargets = skill.getAffectLimit();
for (L2PcInstance obj : L2World.getInstance().getVisibleObjects(activeChar, L2PcInstance.class, radius))
for (L2PcInstance obj : L2World.getInstance().getVisibleObjectsInRange(activeChar, L2PcInstance.class, radius))
{
if (obj == null)
{

View File

@@ -1366,7 +1366,7 @@ public final class CrystalCaverns extends AbstractInstance
final CrystalGolem cryGolem = world.crystalGolems.get(npc);
int minDist = 300000;
for (L2ItemInstance object : L2World.getInstance().getVisibleObjects(npc, L2ItemInstance.class, 300))
for (L2ItemInstance object : L2World.getInstance().getVisibleObjectsInRange(npc, L2ItemInstance.class, 300))
{
if (object.getId() == CRYSTALFOOD)
{

View File

@@ -682,7 +682,7 @@ public class Q00144_PailakaInjuredDragon extends Quest
// This function will check if there is other mob alive in this wall of mobs. If all mobs in the first row are dead then despawn the second row mobs, the mages.
private void checkIfLastInWall(L2Npc npc)
{
final Collection<L2Npc> knowns = L2World.getInstance().getVisibleObjects(npc, L2Npc.class, 700);
final Collection<L2Npc> knowns = L2World.getInstance().getVisibleObjectsInRange(npc, L2Npc.class, 700);
for (L2Npc npcs : knowns)
{
if (npcs.isDead())
@@ -876,7 +876,7 @@ public class Q00144_PailakaInjuredDragon extends Quest
final int[] zoneTeleport = NOEXIT_ZONES.get(zone.getId());
if (zoneTeleport != null)
{
for (L2Character npc : L2World.getInstance().getVisibleObjects(character, L2Npc.class, 700))
for (L2Character npc : L2World.getInstance().getVisibleObjectsInRange(character, L2Npc.class, 700))
{
if (npc.isDead())
{

View File

@@ -259,7 +259,7 @@ public class Q00727_HopeWithinTheDarkness extends Quest
{
if (npc.getAI().getIntention() != CtrlIntention.AI_INTENTION_ATTACK)
{
for (L2Character foe : L2World.getInstance().getVisibleObjects(npc, L2Character.class, npc.getAggroRange()))
for (L2Character foe : L2World.getInstance().getVisibleObjectsInRange(npc, L2Character.class, npc.getAggroRange()))
{
if (foe.isAttackable() && !(foe instanceof L2QuestGuardInstance))
{

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()))
{