Index: C:/Development/l2j/eclipse/workspace/L2_GameserverSVN/java/net/sf/l2j/gameserver/util/KnownList.java =================================================================== --- C:/Development/l2j/eclipse/workspace/L2_GameserverSVN/java/net/sf/l2j/gameserver/util/KnownList.java (revision 1867) +++ C:/Development/l2j/eclipse/workspace/L2_GameserverSVN/java/net/sf/l2j/gameserver/util/KnownList.java (working copy) @@ -29,6 +29,7 @@ package net.sf.l2j.gameserver.util; import java.util.Collection; +import java.util.Iterator; import javolution.util.FastCollection; import javolution.util.FastList; @@ -199,30 +200,53 @@ public Collection getAllKnownCharacters() { - FastList allObjects = new FastList(); + FastList allObjects = new FastList(); + Iterator itr; + L2Character obj; + int pos; - if (getKnownPlayers().size() > 0) + pos = getKnownPlayers().size(); + if (pos > 0) { - for (L2PcInstance obj: getKnownPlayers()) + itr = getKnownPlayers().iterator(); + while (itr != null && --pos >= 0) + { + obj = itr.next(); if (obj != null) allObjects.add(obj); + } } - if (getKnownMonsters().size() > 0) + pos = getKnownMonsters().size(); + if (pos > 0) { - for (L2MonsterInstance obj: getKnownMonsters()) + itr = getKnownMonsters().iterator(); + while (itr != null && --pos >= 0) + { + obj = itr.next(); if (obj != null) allObjects.add(obj); + } } - if (getKnownNpcs().size() > 0) + pos = getKnownNpcs().size(); + if (pos > 0) { - for (L2NpcInstance obj: getKnownNpcs()) + itr = getKnownNpcs().iterator(); + while (itr != null && --pos >= 0) + { + obj = itr.next(); if (obj != null) allObjects.add(obj); + } } - if (getKnownCharacters().size() > 0) + pos = getKnownCharacters().size(); + if (pos > 0) { - for (L2Character obj: getKnownCharacters()) + itr = getKnownCharacters().iterator(); + while (itr != null && --pos >= 0) + { + obj = itr.next(); if (obj != null) allObjects.add(obj); + } } return allObjects; @@ -246,36 +270,63 @@ public Collection getAllKnownObjects() { FastList allObjects = new FastList(); + Iterator itr; + L2Object obj; + int pos; - - if (getKnownPlayers().size() > 0) + pos = getKnownPlayers().size(); + if (pos > 0) { - for (L2PcInstance obj: getKnownPlayers()) + itr = getKnownPlayers().iterator(); + while (itr != null && --pos >= 0) + { + obj = itr.next(); if (obj != null) allObjects.add(obj); + } } - - if (getKnownMonsters().size() > 0) + + pos = getKnownMonsters().size(); + if (pos > 0) { - for (L2MonsterInstance obj: getKnownMonsters()) + itr = getKnownMonsters().iterator(); + while (itr != null && --pos >= 0) + { + obj = itr.next(); if (obj != null) allObjects.add(obj); + } } - - if (getKnownNpcs().size() > 0) + + pos = getKnownNpcs().size(); + if (pos > 0) { - for (L2NpcInstance obj: getKnownNpcs()) + itr = getKnownNpcs().iterator(); + while (itr != null && --pos >= 0) + { + obj = itr.next(); if (obj != null) allObjects.add(obj); + } } - - if (getOtherKnownObjects().size() > 0) + + pos = getOtherKnownObjects().size(); + if (pos > 0) { - for (L2Object obj: getOtherKnownObjects()) + itr = getOtherKnownObjects().iterator(); + while (itr != null && --pos >= 0) + { + obj = itr.next(); if (obj != null) allObjects.add(obj); + } } - - if (getKnownCharacters().size() > 0) + + pos = getKnownCharacters().size(); + if (pos > 0) { - for (L2Character obj: getKnownCharacters()) + itr = getKnownCharacters().iterator(); + while (itr != null && --pos >= 0) + { + obj = itr.next(); if (obj != null) allObjects.add(obj); + } } return allObjects;