Sync with L2JServer Jan 24th 2015.
This commit is contained in:
@@ -24,6 +24,7 @@ import java.util.logging.Logger;
|
||||
|
||||
import com.l2jserver.gameserver.model.L2World;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.network.clientpackets.Say2;
|
||||
import com.l2jserver.gameserver.network.serverpackets.CharInfo;
|
||||
@@ -75,7 +76,7 @@ public final class Broadcast
|
||||
*/
|
||||
public static void toKnownPlayers(L2Character character, L2GameServerPacket mov)
|
||||
{
|
||||
Collection<L2PcInstance> plrs = character.getKnownList().getKnownPlayers().values();
|
||||
final Collection<L2PcInstance> plrs = character.getKnownList().getKnownPlayers().values();
|
||||
for (L2PcInstance player : plrs)
|
||||
{
|
||||
if (player == null)
|
||||
@@ -85,17 +86,28 @@ public final class Broadcast
|
||||
try
|
||||
{
|
||||
player.sendPacket(mov);
|
||||
if ((mov instanceof CharInfo) && (character instanceof L2PcInstance))
|
||||
if ((mov instanceof CharInfo) && (character.isPlayer()))
|
||||
{
|
||||
int relation = ((L2PcInstance) character).getRelation(player);
|
||||
Integer oldrelation = character.getKnownList().getKnownRelations().get(player.getObjectId());
|
||||
if ((oldrelation != null) && (oldrelation != relation))
|
||||
{
|
||||
player.sendPacket(new RelationChanged((L2PcInstance) character, relation, character.isAutoAttackable(player)));
|
||||
final RelationChanged rc = new RelationChanged();
|
||||
rc.addRelation((L2PcInstance) character, relation, character.isAutoAttackable(player));
|
||||
if (character.hasSummon())
|
||||
{
|
||||
player.sendPacket(new RelationChanged(character.getSummon(), relation, character.isAutoAttackable(player)));
|
||||
final L2Summon pet = character.getPet();
|
||||
if (pet != null)
|
||||
{
|
||||
rc.addRelation(pet, relation, character.isAutoAttackable(player));
|
||||
}
|
||||
if (character.hasServitors())
|
||||
{
|
||||
character.getServitors().values().forEach(s -> rc.addRelation(s, relation, character.isAutoAttackable(player)));
|
||||
}
|
||||
}
|
||||
player.sendPacket(rc);
|
||||
character.getKnownList().getKnownRelations().put(player.getObjectId(), relation);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,16 +26,18 @@ import java.util.logging.Logger;
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.L2DatabaseFactory;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.datatables.NpcData;
|
||||
import com.l2jserver.gameserver.datatables.PetDataTable;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.data.xml.impl.PetDataTable;
|
||||
import com.l2jserver.gameserver.model.L2PetData;
|
||||
import com.l2jserver.gameserver.model.L2World;
|
||||
import com.l2jserver.gameserver.model.actor.L2Npc;
|
||||
import com.l2jserver.gameserver.model.actor.L2Summon;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
||||
import com.l2jserver.gameserver.model.actor.instance.L2PetInstance;
|
||||
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
|
||||
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
||||
import com.l2jserver.gameserver.network.SystemMessageId;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExAdenaInvenCount;
|
||||
import com.l2jserver.gameserver.network.serverpackets.ExUserInfoInvenWeight;
|
||||
import com.l2jserver.gameserver.network.serverpackets.InventoryUpdate;
|
||||
import com.l2jserver.gameserver.network.serverpackets.MagicSkillLaunched;
|
||||
@@ -56,12 +58,13 @@ public final class Evolve
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!player.hasPet())
|
||||
final L2Summon pet = player.getPet();
|
||||
if (pet == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
final L2PetInstance currentPet = (L2PetInstance) player.getSummon();
|
||||
final L2PetInstance currentPet = (L2PetInstance) pet;
|
||||
if (currentPet.isAlikeDead())
|
||||
{
|
||||
Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to use death pet exploit!", Config.DEFAULT_PUNISH);
|
||||
@@ -239,6 +242,7 @@ public final class Evolve
|
||||
player.sendPacket(iu);
|
||||
|
||||
player.sendPacket(new ExUserInfoInvenWeight(player));
|
||||
player.sendPacket(new ExAdenaInvenCount(player));
|
||||
|
||||
player.broadcastUserInfo();
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ import javolution.util.FastSet;
|
||||
|
||||
import com.l2jserver.Config;
|
||||
import com.l2jserver.gameserver.ThreadPoolManager;
|
||||
import com.l2jserver.gameserver.datatables.NpcData;
|
||||
import com.l2jserver.gameserver.data.xml.impl.NpcData;
|
||||
import com.l2jserver.gameserver.idfactory.IdFactory;
|
||||
import com.l2jserver.gameserver.model.Location;
|
||||
import com.l2jserver.gameserver.model.actor.L2Character;
|
||||
|
||||
Reference in New Issue
Block a user