Преглед на файлове

BETA: Increasing known list for walker npcs to prevent from seeing them on wrong positions or not seeing them at all.

Rumen Nikiforov преди 13 години
родител
ревизия
8dba087074

+ 8 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/L2Object.java

@@ -774,4 +774,12 @@ public abstract class L2Object
 	{
 		return false;
 	}
+	
+	/**
+	 * @return {@code true} if object Npc Walker
+	 */
+	public boolean isWalker()
+	{
+		return false;
+	}
 }

+ 6 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Npc.java

@@ -1717,4 +1717,10 @@ public class L2Npc extends L2Character
 			player.sendPacket(new AbstractNpcInfo.NpcInfo(this, player));
 		}
 	}
+	
+	@Override
+	public boolean isWalker()
+	{
+		return WalkingManager.getInstance().isRegistered(this);
+	}
 }

+ 6 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2NpcWalkerInstance.java

@@ -117,4 +117,10 @@ public class L2NpcWalkerInstance extends L2Npc
 		public void detachAI()
 		{}
 	}
+	
+	@Override
+	public boolean isWalker()
+	{
+		return true;
+	}
 }

+ 4 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/knownlist/PcKnownList.java

@@ -128,6 +128,8 @@ public class PcKnownList extends PlayableKnownList
 	{
 		if (object instanceof L2Vehicle)
 			return 10000;
+		else if (object != null && object.isWalker())
+			return 10000;
 		
 		// when knownlist grows, the distance to forget should be at least
 		// the same as the previous watch range, or it becomes possible that
@@ -147,6 +149,8 @@ public class PcKnownList extends PlayableKnownList
 	{
 		if (object instanceof L2Vehicle)
 			return 8000;
+		else if (object != null && object.isWalker())
+			return 8000;
 		
 		final int knownlistSize = getKnownObjects().size();
 		if (knownlistSize <= 25)