0010: ff 9e c3 03 00 8f f3 ff ff .........
format dddddd (player id, target id, distance, startx, starty, startz)
@version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
356357358359360361362363364365366
break; case 0x78: // pa = new JoinPledge(); break; case 0x79: pa = new ValidateLocation(); break; case 0x80: // pa = new ValidateLocationInVehicle(); break; case 0x7a:
7071727374757677787980
{ activeChar.setCurrentSkillWorldPosition(new Point3D(_x, _y, _z)); // normally magicskilluse packet turns char client side but for these skills, it doesn't (even with correct target) activeChar.setHeading(Util.calculateHeadingFrom(activeChar.getX(), activeChar.getY(), _x , _y)); activeChar.broadcastPacket(new ValidateLocation(activeChar)); activeChar.useMagic(skill, _ctrlPressed, _shiftPressed); } else { sendPacket(ActionFailed.STATIC_PACKET);
4748495051525354555657
// Send a Server->Client packet MyTargetSelected to the L2PcInstance player MyTargetSelected my = new MyTargetSelected(getObjectId(), 0); player.sendPacket(my); my = null; player.sendPacket(new ValidateLocation(this)); } else { // Calculate the distance between the L2PcInstance and the L2NpcInstance if(!canInteract(player))
324325326327328329330331332333334
// Send a Server->Client packet MyTargetSelected to the L2PcInstance player MyTargetSelected my = new MyTargetSelected(getObjectId(), 0); player.sendPacket(my); // Send a Server->Client packet ValidateLocation to correct the L2NpcInstance position and heading on the client player.sendPacket(new ValidateLocation(this)); } else { // Calculate the distance between the L2PcInstance and the L2NpcInstance if (!canInteract(player))
137138139140141142143144145146147
player.sendPacket(my); } // Send a Server->Client packet ValidateLocation to correct the // L2NpcInstance position and heading on the client player.sendPacket(new ValidateLocation(this)); } else { // Check if the player is attackable (without a forced attack) and // isn't dead
279280281282283284285286287288289
MyTargetSelected my = new MyTargetSelected(getObjectId(), 0); player.sendPacket(my); my = null; // Send a Server->Client packet ValidateLocation to correct the L2NpcInstance position and heading on the client player.sendPacket(new ValidateLocation(this)); } else { // Calculate the distance between the L2PcInstance and the L2NpcInstance if(!canInteract(player))
949596979899100101102103104
{ if (this != player.getTarget()) { player.setTarget(this); player.sendPacket(new MyTargetSelected(getObjectId(), player.getLevel() - getLevel())); player.sendPacket(new ValidateLocation(this)); } else if (isInsideRadius(player, INTERACTION_DISTANCE, false, false)) { //SocialAction sa = new SocialAction(this, Rnd.get(8)); player.broadcastPacket(new SocialAction(player.getObjectId(), 6));
8485868788899091929394
su.addAttribute(StatusUpdate.MAX_HP, getMaxHp()); player.sendPacket(su); su = null; // Send a Server->Client packet ValidateLocation to correct the L2NpcInstance position and heading on the client player.sendPacket(new ValidateLocation(this)); } else { if(isAutoAttackable(player) && Math.abs(player.getZ() - getZ()) < 100 // Less then max height difference, delete check when geo && GeoData.getInstance().canSeeTarget(player, this))
980898099810981198129813981498159816981798189819
if(target == null) return false; if(target instanceof L2Character) { ((L2Character) target).sendPacket(new ValidateLocation(this)); this.sendPacket(new ValidateLocation(((L2Character) target))); L2Character target1 = (L2Character) target; angleChar = Util.calculateAngleFrom(target1, this); angleTarget = Util.convertHeadingToDegree(target1.getHeading()); angleDiff = angleChar - angleTarget;
989398949895989698979898989999009901990299039904