Цитата:
Сообщение от KID
Скинь код l2.brick.gameserver.model.actor.knownlist.PcKnownL ist
|
PcKnownList
Код:
:
public class PcKnownList extends PlayableKnownList
{
public PcKnownList(L2PcInstance activeChar)
{
super(activeChar);
}
public boolean addKnownObject(L2Object object)
{
if(!super.addKnownObject(object))
return false;
if(object.getPoly().isMorphed() && object.getPoly().getPolyType().equals("item"))
{
getActiveChar().sendPacket(new SpawnItem(object));
} else
{
object.sendInfo(getActiveChar());
if(object instanceof L2Character)
{
L2Character obj = (L2Character)object;
if(obj.hasAI())
obj.getAI().describeStateToPlayer(getActiveChar());
}
}
return true;
}
protected boolean removeKnownObject(L2Object object, boolean forget)
{
if(!super.removeKnownObject(object, forget))
return false;
if(object instanceof L2AirShipInstance)
{
if(((L2AirShipInstance)object).getCaptainId() != 0 && ((L2AirShipInstance)object).getCaptainId() != getActiveChar().getObjectId())
getActiveChar().sendPacket(new DeleteObject(((L2AirShipInstance)object).getCaptainId()));
if(((L2AirShipInstance)object).getHelmObjectId() != 0)
getActiveChar().sendPacket(new DeleteObject(((L2AirShipInstance)object).getHelmObjectId()));
}
getActiveChar().sendPacket(new DeleteObject(object));
if(Config.CHECK_KNOWN && (object instanceof L2Npc) && getActiveChar().isGM())
getActiveChar().sendMessage((new StringBuilder()).append("Removed NPC: ").append(((L2Npc)object).getName()).toString());
return true;
}
public final L2PcInstance getActiveChar()
{
return (L2PcInstance)super.getActiveChar();
}
public int getDistanceToForgetObject(L2Object object)
{
if(object instanceof L2Vehicle)
return 10000;
int knownlistSize = getKnownObjects().size();
if(knownlistSize <= 25)
return 4000;
if(knownlistSize <= 35)
return 3500;
return knownlistSize > 70 ? 2310 : 2910;
}
public int getDistanceToWatchObject(L2Object object)
{
if(object instanceof L2Vehicle)
return 8000;
int knownlistSize = getKnownObjects().size();
if(knownlistSize <= 25)
return 3400;
if(knownlistSize <= 35)
return 2900;
return knownlistSize > 70 ? 1700 : 2300;
}
public volatile L2Playable getActiveChar()
{
return getActiveChar();
}
public volatile L2Character getActiveChar()
{
return getActiveChar();
}
}