Broadcast movement and social action packets when region is active.

This commit is contained in:
MobiusDevelopment 2021-03-16 23:55:59 +00:00
parent 510bb0fc2b
commit 2d987325eb
90 changed files with 715 additions and 333 deletions

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4842,11 +4860,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4842,11 +4860,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4842,11 +4860,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4842,11 +4860,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4851,11 +4869,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4851,11 +4869,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4851,11 +4869,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3126,7 +3144,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3623,7 +3641,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4850,11 +4868,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3126,7 +3144,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3623,7 +3641,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4850,11 +4868,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3126,7 +3144,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3623,7 +3641,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4850,11 +4868,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -24,6 +24,7 @@ import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.Skill; import org.l2jmobius.gameserver.model.Skill;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Attackable;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.Playable;
@ -493,17 +494,21 @@ abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new CharMoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else if (sendPacket) else if (sendPacket)
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, (Creature) pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, (Creature) pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new CharMoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -532,7 +537,7 @@ abstract class AbstractAI implements Ctrl
_accessor.moveTo(x, y, z); _accessor.moveTo(x, y, z);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new CharMoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -126,6 +126,7 @@ import org.l2jmobius.gameserver.network.serverpackets.PartySpelled;
import org.l2jmobius.gameserver.network.serverpackets.PetInfo; import org.l2jmobius.gameserver.network.serverpackets.PetInfo;
import org.l2jmobius.gameserver.network.serverpackets.Revive; import org.l2jmobius.gameserver.network.serverpackets.Revive;
import org.l2jmobius.gameserver.network.serverpackets.SetupGauge; import org.l2jmobius.gameserver.network.serverpackets.SetupGauge;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate; import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate;
import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.StopMove;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@ -388,6 +389,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
} }
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new CharMoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* Need hp update. * Need hp update.
* @param barPixels the bar pixels * @param barPixels the bar pixels
@ -5751,7 +5770,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
// the CtrlEvent.EVT_ARRIVED will be sent when the character will actually arrive to destination by GameTimeController // the CtrlEvent.EVT_ARRIVED will be sent when the character will actually arrive to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new CharMoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }

View File

@ -90,7 +90,6 @@ import org.l2jmobius.gameserver.network.serverpackets.MyTargetSelected;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo; import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.RadarControl; import org.l2jmobius.gameserver.network.serverpackets.RadarControl;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate; import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation;
@ -147,7 +146,7 @@ public class NpcInstance extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }
@ -702,7 +701,7 @@ public class NpcInstance extends Creature
} }
// Send a Server->Client packet SocialAction to the all PlayerInstance on the _knownPlayer of the NpcInstance to display a social action of the NpcInstance on their client // Send a Server->Client packet SocialAction to the all PlayerInstance on the _knownPlayer of the NpcInstance to display a social action of the NpcInstance on their client
broadcastPacket(new SocialAction(getObjectId(), Rnd.get(8))); broadcastSocialAction(Rnd.get(8));
// Open a chat window on client with the text of the NpcInstance // Open a chat window on client with the text of the NpcInstance
if (isEventMob) if (isEventMob)
{ {
@ -991,7 +990,7 @@ public class NpcInstance extends Creature
} }
// Send a Server->Client packet SocialAction to the all PlayerInstance on the _knownPlayer of the NpcInstance to display a social action of the NpcInstance on their client // Send a Server->Client packet SocialAction to the all PlayerInstance on the _knownPlayer of the NpcInstance to display a social action of the NpcInstance on their client
broadcastPacket(new SocialAction(getObjectId(), Rnd.get(8))); broadcastSocialAction(Rnd.get(8));
// Open a chat window on client with the text of the NpcInstance // Open a chat window on client with the text of the NpcInstance
if (isEventMob) if (isEventMob)
{ {

View File

@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.instance.CabaleBufferInstance;
import org.l2jmobius.gameserver.model.actor.instance.FestivalGuideInstance; import org.l2jmobius.gameserver.model.actor.instance.FestivalGuideInstance;
import org.l2jmobius.gameserver.model.actor.instance.FolkInstance; import org.l2jmobius.gameserver.model.actor.instance.FolkInstance;
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
import org.l2jmobius.gameserver.network.serverpackets.CharMoveToLocation;
public class NpcKnownList extends CreatureKnownList public class NpcKnownList extends CreatureKnownList
{ {
@ -44,7 +43,7 @@ public class NpcKnownList extends CreatureKnownList
// Broadcast correct walking NPC position. // Broadcast correct walking NPC position.
if (getActiveObject().isNpc() && (object instanceof Creature) && object.isPlayer() && getActiveChar().isMoving() && !getActiveChar().isInCombat()) if (getActiveObject().isNpc() && (object instanceof Creature) && object.isPlayer() && getActiveChar().isMoving() && !getActiveChar().isInCombat())
{ {
((Creature) object).broadcastPacket(new CharMoveToLocation(getActiveChar())); ((Creature) object).broadcastMoveToLocation();
} }
return true; return true;
} }

View File

@ -24,6 +24,7 @@ import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.Skill; import org.l2jmobius.gameserver.model.Skill;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Attackable; import org.l2jmobius.gameserver.model.actor.Attackable;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Playable; import org.l2jmobius.gameserver.model.actor.Playable;
@ -493,17 +494,21 @@ abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new CharMoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else if (sendPacket) else if (sendPacket)
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, (Creature) pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, (Creature) pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new CharMoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -532,7 +537,7 @@ abstract class AbstractAI implements Ctrl
_accessor.moveTo(x, y, z); _accessor.moveTo(x, y, z);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new CharMoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -128,6 +128,7 @@ import org.l2jmobius.gameserver.network.serverpackets.PartySpelled;
import org.l2jmobius.gameserver.network.serverpackets.PetInfo; import org.l2jmobius.gameserver.network.serverpackets.PetInfo;
import org.l2jmobius.gameserver.network.serverpackets.Revive; import org.l2jmobius.gameserver.network.serverpackets.Revive;
import org.l2jmobius.gameserver.network.serverpackets.SetupGauge; import org.l2jmobius.gameserver.network.serverpackets.SetupGauge;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate; import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate;
import org.l2jmobius.gameserver.network.serverpackets.StopMove; import org.l2jmobius.gameserver.network.serverpackets.StopMove;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@ -390,6 +391,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
} }
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new CharMoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* Need hp update. * Need hp update.
* @param barPixels the bar pixels * @param barPixels the bar pixels
@ -5797,7 +5816,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder
// the CtrlEvent.EVT_ARRIVED will be sent when the character will actually arrive to destination by GameTimeController // the CtrlEvent.EVT_ARRIVED will be sent when the character will actually arrive to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new CharMoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }

View File

@ -92,7 +92,6 @@ import org.l2jmobius.gameserver.network.serverpackets.MyTargetSelected;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfo; import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.RadarControl; import org.l2jmobius.gameserver.network.serverpackets.RadarControl;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate; import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation; import org.l2jmobius.gameserver.network.serverpackets.ValidateLocation;
@ -149,7 +148,7 @@ public class NpcInstance extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }
@ -704,7 +703,7 @@ public class NpcInstance extends Creature
} }
// Send a Server->Client packet SocialAction to the all PlayerInstance on the _knownPlayer of the NpcInstance to display a social action of the NpcInstance on their client // Send a Server->Client packet SocialAction to the all PlayerInstance on the _knownPlayer of the NpcInstance to display a social action of the NpcInstance on their client
broadcastPacket(new SocialAction(getObjectId(), Rnd.get(8))); broadcastSocialAction(Rnd.get(8));
// Open a chat window on client with the text of the NpcInstance // Open a chat window on client with the text of the NpcInstance
if (isEventMob) if (isEventMob)
{ {
@ -993,7 +992,7 @@ public class NpcInstance extends Creature
} }
// Send a Server->Client packet SocialAction to the all PlayerInstance on the _knownPlayer of the NpcInstance to display a social action of the NpcInstance on their client // Send a Server->Client packet SocialAction to the all PlayerInstance on the _knownPlayer of the NpcInstance to display a social action of the NpcInstance on their client
broadcastPacket(new SocialAction(getObjectId(), Rnd.get(8))); broadcastSocialAction(Rnd.get(8));
// Open a chat window on client with the text of the NpcInstance // Open a chat window on client with the text of the NpcInstance
if (isEventMob) if (isEventMob)
{ {

View File

@ -23,7 +23,6 @@ import org.l2jmobius.gameserver.model.actor.instance.CabaleBufferInstance;
import org.l2jmobius.gameserver.model.actor.instance.FestivalGuideInstance; import org.l2jmobius.gameserver.model.actor.instance.FestivalGuideInstance;
import org.l2jmobius.gameserver.model.actor.instance.FolkInstance; import org.l2jmobius.gameserver.model.actor.instance.FolkInstance;
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance; import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
import org.l2jmobius.gameserver.network.serverpackets.CharMoveToLocation;
public class NpcKnownList extends CreatureKnownList public class NpcKnownList extends CreatureKnownList
{ {
@ -44,7 +43,7 @@ public class NpcKnownList extends CreatureKnownList
// Broadcast correct walking NPC position. // Broadcast correct walking NPC position.
if (getActiveObject().isNpc() && (object instanceof Creature) && object.isPlayer() && getActiveChar().isMoving() && !getActiveChar().isInCombat()) if (getActiveObject().isNpc() && (object instanceof Creature) && object.isPlayer() && getActiveChar().isMoving() && !getActiveChar().isInCombat())
{ {
((Creature) object).broadcastPacket(new CharMoveToLocation(getActiveChar())); ((Creature) object).broadcastMoveToLocation();
} }
return true; return true;
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -543,17 +544,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else if (sendPacket) else if (sendPacket)
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, (Creature) pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, (Creature) pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -587,7 +592,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -574,6 +574,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -4061,7 +4079,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -4556,7 +4574,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -6280,11 +6298,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -99,7 +99,6 @@ import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -260,7 +259,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -543,17 +544,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else if (sendPacket) else if (sendPacket)
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, (Creature) pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, (Creature) pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -587,7 +592,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -575,6 +575,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -4063,7 +4081,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -4558,7 +4576,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -6282,11 +6300,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -99,7 +99,6 @@ import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUse;
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage; import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -260,7 +259,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4841,11 +4859,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4841,11 +4859,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4850,11 +4868,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -101,7 +101,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -208,7 +207,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -653,6 +653,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3140,7 +3158,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3637,7 +3655,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4875,11 +4893,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -102,7 +102,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -209,7 +208,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -653,6 +653,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3140,7 +3158,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3637,7 +3655,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4875,11 +4893,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -102,7 +102,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -209,7 +208,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -653,6 +653,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3139,7 +3157,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3636,7 +3654,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4874,11 +4892,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -102,7 +102,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -209,7 +208,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -652,6 +652,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3127,7 +3145,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3624,7 +3642,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4841,11 +4859,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -99,7 +99,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -206,7 +205,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -653,6 +653,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3142,7 +3160,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3639,7 +3657,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4884,11 +4902,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -102,7 +102,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -209,7 +208,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }

View File

@ -23,6 +23,7 @@ import static org.l2jmobius.gameserver.ai.CtrlIntention.AI_INTENTION_IDLE;
import org.l2jmobius.gameserver.GameTimeController; import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.Location; import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject; import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.WorldRegion;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon; import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance; import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
@ -480,17 +481,21 @@ public abstract class AbstractAI implements Ctrl
{ {
if (_actor.isOnGeodataPath()) if (_actor.isOnGeodataPath())
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
_clientMovingToPawnOffset = 0; _clientMovingToPawnOffset = 0;
} }
else else
{
final WorldRegion region = _actor.getWorldRegion();
if ((region != null) && region.isActive())
{ {
_actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset)); _actor.broadcastPacket(new MoveToPawn(_actor, pawn, offset));
} }
} }
}
else else
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else
@ -524,7 +529,7 @@ public abstract class AbstractAI implements Ctrl
_actor.moveToLocation(x, y, z, 0); _actor.moveToLocation(x, y, z, 0);
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
else else
{ {

View File

@ -29,7 +29,6 @@ import org.l2jmobius.gameserver.model.actor.instance.DoppelgangerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance; import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.model.skills.Skill; import org.l2jmobius.gameserver.model.skills.Skill;
import org.l2jmobius.gameserver.model.skills.SkillCaster; import org.l2jmobius.gameserver.model.skills.SkillCaster;
import org.l2jmobius.gameserver.network.serverpackets.MoveToLocation;
public class DoppelgangerAI extends CreatureAI public class DoppelgangerAI extends CreatureAI
{ {
@ -261,7 +260,7 @@ public class DoppelgangerAI extends CreatureAI
// Doppelgangers always send MoveToLocation packet. // Doppelgangers always send MoveToLocation packet.
if (sendPacket) if (sendPacket)
{ {
_actor.broadcastPacket(new MoveToLocation(_actor)); _actor.broadcastMoveToLocation();
} }
} }
else else

View File

@ -653,6 +653,24 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
}); });
} }
public void broadcastMoveToLocation()
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new MoveToLocation(this));
}
}
public void broadcastSocialAction(int id)
{
final WorldRegion region = getWorldRegion();
if ((region != null) && region.isActive())
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
}
/** /**
* @return true if hp update should be done, false if not * @return true if hp update should be done, false if not
*/ */
@ -3149,7 +3167,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
m._moveTimestamp = gameTicks; m._moveTimestamp = gameTicks;
// Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance. // Send a Server->Client packet MoveToLocation to the actor and all known PlayerInstance.
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
if (distFraction > 1) if (distFraction > 1)
{ {
ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED)); ThreadPool.execute(() -> getAI().notifyEvent(CtrlEvent.EVT_ARRIVED));
@ -3646,7 +3664,7 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
// to destination by GameTimeController // to destination by GameTimeController
// Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers // Send a Server->Client packet CharMoveToLocation to the actor and all PlayerInstance in its _knownPlayers
broadcastPacket(new MoveToLocation(this)); broadcastMoveToLocation();
return true; return true;
} }
@ -4891,11 +4909,6 @@ public abstract class Creature extends WorldObject implements ISkillsHolder, IDe
return _effectList.isAffected(flag); return _effectList.isAffected(flag);
} }
public void broadcastSocialAction(int id)
{
broadcastPacket(new SocialAction(getObjectId(), id));
}
public Team getTeam() public Team getTeam()
{ {
return _team; return _team;

View File

@ -102,7 +102,6 @@ import org.l2jmobius.gameserver.network.serverpackets.NpcInfo;
import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect; import org.l2jmobius.gameserver.network.serverpackets.NpcInfoAbnormalVisualEffect;
import org.l2jmobius.gameserver.network.serverpackets.NpcSay; import org.l2jmobius.gameserver.network.serverpackets.NpcSay;
import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo; import org.l2jmobius.gameserver.network.serverpackets.ServerObjectInfo;
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage; import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager; import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.Broadcast; import org.l2jmobius.gameserver.util.Broadcast;
@ -209,7 +208,7 @@ public class Npc extends Creature
if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL) if ((now - _lastSocialBroadcast) > MINIMUM_SOCIAL_INTERVAL)
{ {
_lastSocialBroadcast = now; _lastSocialBroadcast = now;
broadcastPacket(new SocialAction(getObjectId(), animationId)); broadcastSocialAction(animationId);
} }
} }