_reqs;
private final int _id;
@@ -69,22 +72,21 @@ public class AquireSkillInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x8b);
- writeD(_id);
- writeD(_level);
- writeD(_spCost);
- writeD(_mode); // c4
-
- writeD(_reqs.size());
-
+ OutgoingPackets.AQUIRE_SKILL_INFO.writeId(packet);
+ packet.writeD(_id);
+ packet.writeD(_level);
+ packet.writeD(_spCost);
+ packet.writeD(_mode); // c4
+ packet.writeD(_reqs.size());
for (Req temp : _reqs)
{
- writeD(temp.type);
- writeD(temp.itemId);
- writeD(temp.count);
- writeD(temp.unk);
+ packet.writeD(temp.type);
+ packet.writeD(temp.itemId);
+ packet.writeD(temp.count);
+ packet.writeD(temp.unk);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AquireSkillList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AquireSkillList.java
index 825070c5d1..1fd9ea4a01 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AquireSkillList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AquireSkillList.java
@@ -19,13 +19,16 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* sample a3 05000000 03000000 03000000 06000000 3c000000 00000000 power strike 10000000 02000000 06000000 3c000000 00000000 mortal blow 38000000 04000000 06000000 36010000 00000000 power shot 4d000000 01000000 01000000 98030000 01000000 ATTACK aura 920sp 8e000000 03000000 03000000 cc010000 00000000
* Armor Mastery format d (ddddd) skillid, level, maxlevel?, C4 format changes: 0000: [8a] [00 00 00 00] [35 00 00 00] 92 00 00 00 01 00 00 .....5.......... ^^^^^^^^^^^^^ 0010: 00 2d 00 00 00 04 01 00 00 00 00 00 00 a4 00 00 .-.............. 0020: 00 01 00 00 00 03 00 00 00 e4 0c 00 00 00 00 00
* ................ 0030: 00 d4 00 00 00 01 00 00 00 06 00 00 00 08 52 00 ..............R.
* @version $Revision: 1.3.2.1.2.5 $ $Date: 2005/03/27 15:29:57 $
*/
-public class AquireSkillList extends GameServerPacket
+public class AquireSkillList implements IClientOutgoingPacket
{
public enum skillType
{
@@ -67,19 +70,19 @@ public class AquireSkillList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x8a);
- writeD(_fishingSkills.ordinal()); // c4 : C5 : 0: usuall 1: fishing 2: clans
- writeD(_skills.size());
-
+ OutgoingPackets.AQUIRE_SKILL_LIST.writeId(packet);
+ packet.writeD(_fishingSkills.ordinal()); // c4 : C5 : 0: usual 1: fishing 2: clans
+ packet.writeD(_skills.size());
for (Skill temp : _skills)
{
- writeD(temp.id);
- writeD(temp.nextLevel);
- writeD(temp.maxLevel);
- writeD(temp.spCost);
- writeD(temp.requirements);
+ packet.writeD(temp.id);
+ packet.writeD(temp.nextLevel);
+ packet.writeD(temp.maxLevel);
+ packet.writeD(temp.spCost);
+ packet.writeD(temp.requirements);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinAlly.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinAlly.java
index fd0295f17f..71d3d8dcd8 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinAlly.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinAlly.java
@@ -16,6 +16,9 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* sample
*
@@ -24,7 +27,7 @@ package org.l2jmobius.gameserver.network.serverpackets;
* format cdd
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class AskJoinAlly extends GameServerPacket
+public class AskJoinAlly implements IClientOutgoingPacket
{
private final int _requestorId;
private final String _requestorName;
@@ -38,12 +41,13 @@ public class AskJoinAlly extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xa8);
- writeD(_requestorId);
- writeS(_requestorName);
- writeS("");
- writeS(_requestorAllyName);
+ OutgoingPackets.ASK_JOIN_ALLY.writeId(packet);
+ packet.writeD(_requestorId);
+ packet.writeS(_requestorName);
+ packet.writeS("");
+ packet.writeS(_requestorAllyName);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinFriend.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinFriend.java
index f433270153..4b22887647 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinFriend.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinFriend.java
@@ -16,6 +16,9 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* sample
*
@@ -24,7 +27,7 @@ package org.l2jmobius.gameserver.network.serverpackets;
* format cdd
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class AskJoinFriend extends GameServerPacket
+public class AskJoinFriend implements IClientOutgoingPacket
{
private final String _requestorName;
@@ -38,10 +41,11 @@ public class AskJoinFriend extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x7d);
- writeS(_requestorName);
- writeD(0);
+ OutgoingPackets.ASK_JOIN_FRIEND.writeId(packet);
+ packet.writeS(_requestorName);
+ packet.writeD(0);
+ return false;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinParty.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinParty.java
index 1967078efa..6c4d98d8fd 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinParty.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinParty.java
@@ -16,6 +16,9 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* sample
*
@@ -24,7 +27,7 @@ package org.l2jmobius.gameserver.network.serverpackets;
* format cdd
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class AskJoinParty extends GameServerPacket
+public class AskJoinParty implements IClientOutgoingPacket
{
private final String _requestorName;
private final int _itemDistribution;
@@ -40,10 +43,11 @@ public class AskJoinParty extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x39);
- writeS(_requestorName);
- writeD(_itemDistribution);
+ OutgoingPackets.ASK_JOIN_PARTY.writeId(packet);
+ packet.writeS(_requestorName);
+ packet.writeD(_itemDistribution);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinPledge.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinPledge.java
index 7bdb006b9f..31a426f386 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinPledge.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AskJoinPledge.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class AskJoinPledge extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class AskJoinPledge implements IClientOutgoingPacket
{
private final int _requestorObjId;
private final String _pledgeName;
@@ -28,10 +31,11 @@ public class AskJoinPledge extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x32);
- writeD(_requestorObjId);
- writeS(_pledgeName);
+ OutgoingPackets.ASK_JOIN_PLEDGE.writeId(packet);
+ packet.writeD(_requestorObjId);
+ packet.writeS(_pledgeName);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Attack.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Attack.java
index ccb7590d2d..0347dc2bc2 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Attack.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Attack.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 06 8f19904b 2522d04b 00000000 80 950c0000 4af50000 08f2ffff 0000 - 0 damage (missed 0x80) 06 85071048 bc0e504b 32000000 10 fc41ffff fd240200 a6f5ffff 0100 bc0e504b 33000000 10 3.... format dddc dddh (ddc)
* @version $Revision: 1.3.2.1.2.4 $ $Date: 2005/03/27 15:29:39 $
*/
-public class Attack extends GameServerPacket
+public class Attack implements IClientOutgoingPacket
{
private class Hit
{
@@ -110,23 +112,23 @@ public class Attack extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x05);
-
- writeD(_attackerObjId);
- writeD(_hits[0]._targetId);
- writeD(_hits[0]._damage);
- writeC(_hits[0]._flags);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeH(_hits.length - 1);
+ OutgoingPackets.ATTACK.writeId(packet);
+ packet.writeD(_attackerObjId);
+ packet.writeD(_hits[0]._targetId);
+ packet.writeD(_hits[0]._damage);
+ packet.writeC(_hits[0]._flags);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeH(_hits.length - 1);
for (int i = 1; i < _hits.length; i++)
{
- writeD(_hits[i]._targetId);
- writeD(_hits[i]._damage);
- writeC(_hits[i]._flags);
+ packet.writeD(_hits[i]._targetId);
+ packet.writeD(_hits[i]._damage);
+ packet.writeC(_hits[i]._flags);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AuthLoginFail.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AuthLoginFail.java
index c51cae6ac7..95eb85a868 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AuthLoginFail.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AuthLoginFail.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* format d
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class AuthLoginFail extends GameServerPacket
+public class AuthLoginFail implements IClientOutgoingPacket
{
public static final int NO_TEXT = 0;
public static final int SYSTEM_ERROR_LOGIN_LATER = 1;
@@ -45,9 +48,10 @@ public class AuthLoginFail extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x14);
- writeD(_reason);
+ OutgoingPackets.AUTH_LOGIN_FAIL.writeId(packet);
+ packet.writeD(_reason);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AutoAttackStart.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AutoAttackStart.java
index fc83e16f88..ddb2b83055 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AutoAttackStart.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AutoAttackStart.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class AutoAttackStart extends GameServerPacket
+public class AutoAttackStart implements IClientOutgoingPacket
{
private final int _targetObjId;
@@ -32,9 +35,10 @@ public class AutoAttackStart extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x2b);
- writeD(_targetObjId);
+ OutgoingPackets.AUTO_ATTACK_START.writeId(packet);
+ packet.writeD(_targetObjId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AutoAttackStop.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AutoAttackStop.java
index e4d1d79690..65845675a7 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AutoAttackStop.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/AutoAttackStop.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class AutoAttackStop extends GameServerPacket
+public class AutoAttackStop implements IClientOutgoingPacket
{
private final int _targetObjId;
@@ -32,9 +35,10 @@ public class AutoAttackStop extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x2c);
- writeD(_targetObjId);
+ OutgoingPackets.AUTO_ATTACK_STOP.writeId(packet);
+ packet.writeD(_targetObjId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BeginRotation.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BeginRotation.java
index e4e3137f6c..04f2ec6912 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BeginRotation.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BeginRotation.java
@@ -16,9 +16,11 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class BeginRotation extends GameServerPacket
+public class BeginRotation implements IClientOutgoingPacket
{
private final int _objectId;
private final int _degree;
@@ -34,15 +36,16 @@ public class BeginRotation extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x62);
- writeD(_objectId);
- writeD(_degree);
- writeD(_side);
+ OutgoingPackets.BEGIN_ROTATION.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_degree);
+ packet.writeD(_side);
if (_speed != 0)
{
- writeD(_speed);
+ packet.writeD(_speed);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BuyList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BuyList.java
index 83569db37a..2435e5258d 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BuyList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BuyList.java
@@ -19,16 +19,18 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.StoreTradeList;
import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 1d 1e 00 00 00 // ?? 5c 4a a0 7c // buy list id 02 00 // item count 04 00 // itemType1 0-weapon/ring/earring/necklace 1-armor/shield 4-item/questitem/adena 00 00 00 00 // objectid 32 04 00 00 // itemid 00 00 00 00 // count 05 00 // itemType2 0-weapon 1-shield/armor 2-ring/earring/necklace
* 3-questitem 4-adena 5-item 00 00 60 09 00 00 // price 00 00 00 00 00 00 b6 00 00 00 00 00 00 00 00 00 00 00 80 00 // body slot these 4 values are only used if itemtype1 = 0 or 1 00 00 // 00 00 // 00 00 // 50 c6 0c 00 format dd h (h dddhh hhhh d) revision 377 format dd h (h dddhh dhhh d)
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class BuyList extends GameServerPacket
+public class BuyList implements IClientOutgoingPacket
{
private final int _listId;
private final ItemInstance[] _list;
@@ -60,56 +62,57 @@ public class BuyList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x11);
- writeD(_money); // current money
- writeD(_listId);
+ OutgoingPackets.BUY_LIST.writeId(packet);
+ packet.writeD(_money); // current money
+ packet.writeD(_listId);
- writeH(_list.length);
+ packet.writeH(_list.length);
for (ItemInstance item : _list)
{
if ((item.getCount() > 0) || (item.getCount() == -1))
{
- writeH(item.getItem().getType1()); // item type1
- writeD(item.getObjectId());
- writeD(item.getItemId());
+ packet.writeH(item.getItem().getType1()); // item type1
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItemId());
if (item.getCount() < 0)
{
- writeD(0x00); // max amount of items that a player can buy at a time (with this itemid)
+ packet.writeD(0x00); // max amount of items that a player can buy at a time (with this itemid)
}
else
{
- writeD(item.getCount());
+ packet.writeD(item.getCount());
}
- writeH(item.getItem().getType2()); // item type2
- writeH(0x00); // ?
+ packet.writeH(item.getItem().getType2()); // item type2
+ packet.writeH(0x00); // ?
if (item.getItem().getType1() != Item.TYPE1_ITEM_QUESTITEM_ADENA)
{
- writeD(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
- writeH(item.getEnchantLevel()); // enchant level
- writeH(0x00); // ?
- writeH(0x00);
+ packet.writeD(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeH(item.getEnchantLevel()); // enchant level
+ packet.writeH(0x00); // ?
+ packet.writeH(0x00);
}
else
{
- writeD(0x00); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
- writeH(0x00); // enchant level
- writeH(0x00); // ?
- writeH(0x00);
+ packet.writeD(0x00); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeH(0x00); // enchant level
+ packet.writeH(0x00); // ?
+ packet.writeH(0x00);
}
if ((item.getItemId() >= 3960) && (item.getItemId() <= 4026))
{
- writeD((int) (item.getPriceToSell() * Config.RATE_SIEGE_GUARDS_PRICE * (1 + _taxRate)));
+ packet.writeD((int) (item.getPriceToSell() * Config.RATE_SIEGE_GUARDS_PRICE * (1 + _taxRate)));
}
else
{
- writeD((int) (item.getPriceToSell() * (1 + _taxRate)));
+ packet.writeD((int) (item.getPriceToSell() * (1 + _taxRate)));
}
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BuyListSeed.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BuyListSeed.java
index fe2b0ccbd9..abb3a8f266 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BuyListSeed.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/BuyListSeed.java
@@ -19,14 +19,16 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.StoreTradeList;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format: c ddh[hdddhhd] c - id (0xE8) d - money d - manor id h - size [ h - item type 1 d - object id d - item id d - count h - item type 2 h d - price ]
* @author l3x
*/
-public class BuyListSeed extends GameServerPacket
+public class BuyListSeed implements IClientOutgoingPacket
{
private final int _manorId;
private List _list = new ArrayList<>();
@@ -40,24 +42,22 @@ public class BuyListSeed extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xE8);
-
- writeD(_money); // current money
- writeD(_manorId); // manor id
-
- writeH(_list.size()); // list length
-
+ OutgoingPackets.BUY_LIST_SEED.writeId(packet);
+ packet.writeD(_money); // current money
+ packet.writeD(_manorId); // manor id
+ packet.writeH(_list.size()); // list length
for (ItemInstance item : _list)
{
- writeH(0x04); // item->type1
- writeD(0x00); // objectId
- writeD(item.getItemId()); // item id
- writeD(item.getCount()); // item count
- writeH(0x04); // item->type2
- writeH(0x00); // unknown :)
- writeD(item.getPriceToSell()); // price
+ packet.writeH(0x04); // item->type1
+ packet.writeD(0x00); // objectId
+ packet.writeD(item.getItemId()); // item id
+ packet.writeD(item.getCount()); // item count
+ packet.writeH(0x04); // item->type2
+ packet.writeH(0x00); // unknown :)
+ packet.writeD(item.getPriceToSell()); // price
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CameraMode.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CameraMode.java
index b08b1f6f50..b18dac4cc3 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CameraMode.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CameraMode.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class CameraMode extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class CameraMode implements IClientOutgoingPacket
{
private final int _mode;
@@ -30,9 +33,10 @@ public class CameraMode extends GameServerPacket
}
@Override
- public void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xf1);
- writeD(_mode);
+ OutgoingPackets.CAMERA_MODE.writeId(packet);
+ packet.writeD(_mode);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChairSit.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChairSit.java
index b9dd443658..6ca22d6870 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChairSit.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChairSit.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample format d
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class ChairSit extends GameServerPacket
+public class ChairSit implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _staticObjectId;
@@ -38,10 +40,11 @@ public class ChairSit extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xe1);
- writeD(_player.getObjectId());
- writeD(_staticObjectId);
+ OutgoingPackets.CHAIR_SIT.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeD(_staticObjectId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChangeMoveType.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChangeMoveType.java
index 40285f4b0d..db63fdbe5b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChangeMoveType.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChangeMoveType.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: 3e 2a 89 00 4c 01 00 00 00 .|... format dd
* @version $Revision: 1.3.2.1.2.4 $ $Date: 2005/03/27 15:29:57 $
*/
-public class ChangeMoveType extends GameServerPacket
+public class ChangeMoveType implements IClientOutgoingPacket
{
public static final int WALK = 0;
public static final int RUN = 1;
@@ -37,11 +39,12 @@ public class ChangeMoveType extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x2e);
- writeD(_objectId);
- writeD(_running ? RUN : WALK);
- writeD(0); // c2
+ OutgoingPackets.CHANGE_MOVE_TYPE.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_running ? RUN : WALK);
+ packet.writeD(0); // c2
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChangeWaitType.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChangeWaitType.java
index ef8c803c9e..7d792654d8 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChangeWaitType.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChangeWaitType.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: 3f 2a 89 00 4c 01 00 00 00 0a 15 00 00 66 fe 00 ?*..L........f.. 0010: 00 7c f1 ff ff .|... format dd ddd
* @version $Revision: 1.3.2.1.2.4 $ $Date: 2005/03/27 15:29:57 $
*/
-public class ChangeWaitType extends GameServerPacket
+public class ChangeWaitType implements IClientOutgoingPacket
{
private final int _objectId;
private final int _moveType;
@@ -45,13 +47,14 @@ public class ChangeWaitType extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x2f);
- writeD(_objectId);
- writeD(_moveType);
- writeD(_x);
- writeD(_y);
- writeD(_z);
+ OutgoingPackets.CHANGE_WAIT_TYPE.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_moveType);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharCreateFail.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharCreateFail.java
index 95392879ac..cdb6a948d9 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharCreateFail.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharCreateFail.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class CharCreateFail extends GameServerPacket
+public class CharCreateFail implements IClientOutgoingPacket
{
public static final int REASON_CREATION_FAILED = 0x00;
public static final int REASON_TOO_MANY_CHARACTERS = 0x01;
@@ -35,9 +38,10 @@ public class CharCreateFail extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x1a);
- writeD(_error);
+ OutgoingPackets.CHAR_CREATE_FAIL.writeId(packet);
+ packet.writeD(_error);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharCreateOk.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharCreateOk.java
index 7be1186359..4f5aa889c4 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharCreateOk.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharCreateOk.java
@@ -16,15 +16,19 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class CharCreateOk extends GameServerPacket
+public class CharCreateOk implements IClientOutgoingPacket
{
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x19);
- writeD(0x01);
+ OutgoingPackets.CHAR_CREATE_OK.writeId(packet);
+ packet.writeD(0x01);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharDeleteFail.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharDeleteFail.java
index 0070ba239c..7b22f12774 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharDeleteFail.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharDeleteFail.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class CharDeleteFail extends GameServerPacket
+public class CharDeleteFail implements IClientOutgoingPacket
{
public static final int REASON_DELETION_FAILED = 0x01;
public static final int REASON_YOU_MAY_NOT_DELETE_CLAN_MEMBER = 0x02;
@@ -33,9 +36,10 @@ public class CharDeleteFail extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x24);
- writeD(_error);
+ OutgoingPackets.CHAR_DELETE_FAIL.writeId(packet);
+ packet.writeD(_error);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharDeleteOk.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharDeleteOk.java
index 364e20b2c8..33e8fdd881 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharDeleteOk.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharDeleteOk.java
@@ -16,14 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class CharDeleteOk extends GameServerPacket
+public class CharDeleteOk implements IClientOutgoingPacket
{
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x23);
+ OutgoingPackets.CHAR_DELETE_OK.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharInfo.java
index 49c1233d82..946b9a3068 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharInfo.java
@@ -17,11 +17,13 @@
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class CharInfo extends GameServerPacket
+public class CharInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final Inventory _inventory;
@@ -30,8 +32,9 @@ public class CharInfo extends GameServerPacket
private final int _flyRunSpd;
private final int _flyWalkSpd;
private final float _moveMultiplier;
+ private final boolean _gmSeeInvis;
- public CharInfo(PlayerInstance player)
+ public CharInfo(PlayerInstance player, boolean gmSeeInvis)
{
_player = player;
_inventory = player.getInventory();
@@ -40,158 +43,129 @@ public class CharInfo extends GameServerPacket
_walkSpd = Math.round(player.getWalkSpeed() / _moveMultiplier);
_flyRunSpd = player.isFlying() ? _runSpd : 0;
_flyWalkSpd = player.isFlying() ? _walkSpd : 0;
+ _gmSeeInvis = gmSeeInvis;
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- boolean isGM = false;
- final PlayerInstance tmp = getClient().getPlayer();
- if ((tmp != null) && tmp.isGM())
- {
- isGM = true;
- }
- if (!isGM && _player.getAppearance().isInvisible())
- {
- return;
- }
-
- writeC(0x03);
- writeD(_player.getX());
- writeD(_player.getY());
- writeD(_player.getZ());
- writeD(_player.getBoat() != null ? _player.getBoat().getObjectId() : 0);
- writeD(_player.getObjectId());
- writeS(_player.getName());
- writeD(_player.getRace().ordinal());
- writeD(_player.getAppearance().isFemale() ? 1 : 0);
+ OutgoingPackets.CHAR_INFO.writeId(packet);
+ packet.writeD(_player.getX());
+ packet.writeD(_player.getY());
+ packet.writeD(_player.getZ());
+ packet.writeD(_player.getBoat() != null ? _player.getBoat().getObjectId() : 0);
+ packet.writeD(_player.getObjectId());
+ packet.writeS(_player.getName());
+ packet.writeD(_player.getRace().ordinal());
+ packet.writeD(_player.getAppearance().isFemale() ? 1 : 0);
if (_player.getClassIndex() == 0)
{
- writeD(_player.getClassId().getId());
+ packet.writeD(_player.getClassId().getId());
}
else
{
- writeD(_player.getBaseClass());
+ packet.writeD(_player.getBaseClass());
}
- writeD(0x00);
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
+ packet.writeD(0x00);
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
- writeD(_player.getPvpFlag());
- writeD(_player.getKarma());
+ packet.writeD(_player.getPvpFlag());
+ packet.writeD(_player.getKarma());
- writeD(_player.getMAtkSpd());
- writeD(_player.getPAtkSpd());
+ packet.writeD(_player.getMAtkSpd());
+ packet.writeD(_player.getPAtkSpd());
- writeD(_player.getPvpFlag());
- writeD(_player.getKarma());
+ packet.writeD(_player.getPvpFlag());
+ packet.writeD(_player.getKarma());
- writeD(_runSpd); // base run speed
- writeD(_walkSpd); // base walk speed
- writeD(_runSpd); // swim run speed (calculated by getter)
- writeD(_walkSpd); // swim walk speed (calculated by getter)
- writeD(_flyRunSpd); // fly run speed ?
- writeD(_flyWalkSpd); // fly walk speed ?
- writeD(_flyRunSpd);
- writeD(_flyWalkSpd);
- writeF(_moveMultiplier);
- writeF(_player.getAttackSpeedMultiplier());
- writeF(_player.getCollisionRadius());
- writeF(_player.getCollisionHeight());
- writeD(_player.getAppearance().getHairStyle());
- writeD(_player.getAppearance().getHairColor());
- writeD(_player.getAppearance().getFace());
+ packet.writeD(_runSpd); // base run speed
+ packet.writeD(_walkSpd); // base walk speed
+ packet.writeD(_runSpd); // swim run speed (calculated by getter)
+ packet.writeD(_walkSpd); // swim walk speed (calculated by getter)
+ packet.writeD(_flyRunSpd); // fly run speed ?
+ packet.writeD(_flyWalkSpd); // fly walk speed ?
+ packet.writeD(_flyRunSpd);
+ packet.writeD(_flyWalkSpd);
+ packet.writeF(_moveMultiplier);
+ packet.writeF(_player.getAttackSpeedMultiplier());
+ packet.writeF(_player.getCollisionRadius());
+ packet.writeF(_player.getCollisionHeight());
+ packet.writeD(_player.getAppearance().getHairStyle());
+ packet.writeD(_player.getAppearance().getHairColor());
+ packet.writeD(_player.getAppearance().getFace());
- if (_player.getAppearance().isInvisible())
- {
- writeS("[Invisible]");
- }
- else
- {
- writeS(_player.getTitle());
- }
+ packet.writeS(_gmSeeInvis ? "Invisible" : _player.getTitle());
- writeD(_player.getClanId());
- writeD(_player.getClanCrestId());
- writeD(_player.getAllyId());
- writeD(_player.getAllyCrestId());
+ packet.writeD(_player.getClanId());
+ packet.writeD(_player.getClanCrestId());
+ packet.writeD(_player.getAllyId());
+ packet.writeD(_player.getAllyCrestId());
// In UserInfo leader rights and siege flags, but here found nothing??
// Therefore RelationChanged packet with that info is required
- writeD(0x00);
+ packet.writeD(0x00);
- writeC(_player.isSitting() ? 0 : 1); // standing = 1 sitting = 0
- writeC(_player.isRunning() ? 1 : 0); // running = 1 walking = 0
- writeC(_player.isInCombat() ? 1 : 0);
- writeC(_player.isAlikeDead() ? 1 : 0);
+ packet.writeC(_player.isSitting() ? 0 : 1); // standing = 1 sitting = 0
+ packet.writeC(_player.isRunning() ? 1 : 0); // running = 1 walking = 0
+ packet.writeC(_player.isInCombat() ? 1 : 0);
+ packet.writeC(_player.isAlikeDead() ? 1 : 0);
- // if(gmSeeInvis)
- // {
- writeC(0x00); // if the charinfo is written means receiver can see the char
- // }
- // else
- // {
- // writeC(_activeChar.getAppearance().getInvisible() ? 1 : 0); // invisible = 1 visible =0
- // }
- writeC(_player.getMountType()); // 1 on strider 2 on wyvern 0 no mount
- writeC(_player.getPrivateStoreType()); // 1 - sellshop
+ packet.writeC(!_gmSeeInvis && _player.getAppearance().isInvisible() ? 1 : 0); // invisible = 1 visible = 0
- writeH(_player.getCubics().size());
+ packet.writeC(_player.getMountType()); // 1 on strider 2 on wyvern 0 no mount
+ packet.writeC(_player.getPrivateStoreType()); // 1 - sellshop
+
+ packet.writeH(_player.getCubics().size());
for (int cubicId : _player.getCubics().keySet())
{
- writeH(cubicId);
+ packet.writeH(cubicId);
}
- writeC(_player.isInPartyMatchRoom() ? 1 : 0);
+ packet.writeC(_player.isInPartyMatchRoom() ? 1 : 0);
- if (_player.getAppearance().isInvisible())
- {
- writeD((_player.getAbnormalEffect() | Creature.ABNORMAL_EFFECT_STEALTH));
- }
- else
- {
- writeD(_player.getAbnormalEffect());
- }
+ packet.writeD(_gmSeeInvis ? (_player.getAbnormalEffect() | Creature.ABNORMAL_EFFECT_STEALTH) : _player.getAbnormalEffect());
- writeC(_player.getRecomLeft());
- writeH(_player.getRecomHave()); // Blue value for name (0 = white, 255 = pure blue)
- writeD(_player.getClassId().getId());
+ packet.writeC(_player.getRecomLeft());
+ packet.writeH(_player.getRecomHave()); // Blue value for name (0 = white, 255 = pure blue)
+ packet.writeD(_player.getClassId().getId());
- writeD(_player.getMaxCp());
- writeD((int) _player.getCurrentCp());
- writeC(_player.isMounted() ? 0 : _player.getEnchantEffect());
+ packet.writeD(_player.getMaxCp());
+ packet.writeD((int) _player.getCurrentCp());
+ packet.writeC(_player.isMounted() ? 0 : _player.getEnchantEffect());
if (_player.getTeam() == 1)
{
- writeC(0x01); // team circle around feet 1= Blue, 2 = red
+ packet.writeC(0x01); // team circle around feet 1 = Blue, 2 = red
}
else if (_player.getTeam() == 2)
{
- writeC(0x02); // team circle around feet 1= Blue, 2 = red
+ packet.writeC(0x02); // team circle around feet 1 = Blue, 2 = red
}
else
{
- writeC(0x00); // team circle around feet 1= Blue, 2 = red
+ packet.writeC(0x00); // team circle around feet 1 = Blue, 2 = red
}
- writeD(_player.getClanCrestLargeId());
- writeC(_player.isNoble() ? 1 : 0); // Symbol on char menu ctrl+I
- writeC((_player.isHero() || (_player.isGM() && Config.GM_HERO_AURA) || _player.isPVPHero()) ? 1 : 0); // Hero Aura
+ packet.writeD(_player.getClanCrestLargeId());
+ packet.writeC(_player.isNoble() ? 1 : 0); // Symbol on char menu ctrl+I
+ packet.writeC((_player.isHero() || (_player.isGM() && Config.GM_HERO_AURA) || _player.isPVPHero()) ? 1 : 0); // Hero Aura
- writeC(_player.isFishing() ? 1 : 0); // 0x01: Fishing Mode (Cant be undone by setting back to 0)
- writeD(_player.getFishX());
- writeD(_player.getFishY());
- writeD(_player.getFishZ());
+ packet.writeC(_player.isFishing() ? 1 : 0); // 0x01: Fishing Mode (Cant be undone by setting back to 0)
+ packet.writeD(_player.getFishX());
+ packet.writeD(_player.getFishY());
+ packet.writeD(_player.getFishZ());
- writeD(_player.getAppearance().getNameColor());
+ packet.writeD(_player.getAppearance().getNameColor());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharMoveToLocation.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharMoveToLocation.java
index dbeb3a2119..2818d38e74 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharMoveToLocation.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharMoveToLocation.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 0000: 01 7a 73 10 4c b2 0b 00 00 a3 fc 00 00 e8 f1 ff .zs.L........... 0010: ff bd 0b 00 00 b3 fc 00 00 e8 f1 ff ff ............. ddddddd
* @version $Revision: 1.3.4.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class CharMoveToLocation extends GameServerPacket
+public class CharMoveToLocation implements IClientOutgoingPacket
{
private final int _objectId;
private final int _x;
@@ -44,18 +46,19 @@ public class CharMoveToLocation extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x01);
+ OutgoingPackets.CHAR_MOVE_TO_LOCATION.writeId(packet);
- writeD(_objectId);
+ packet.writeD(_objectId);
- writeD(_xDst);
- writeD(_yDst);
- writeD(_zDst);
+ packet.writeD(_xDst);
+ packet.writeD(_yDst);
+ packet.writeD(_zDst);
- writeD(_x);
- writeD(_y);
- writeD(_z);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharSelectInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharSelectInfo.java
index ba0ee79a26..b25b07bb25 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharSelectInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharSelectInfo.java
@@ -24,17 +24,19 @@ import java.util.List;
import java.util.logging.Logger;
import org.l2jmobius.commons.database.DatabaseFactory;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.CharSelectInfoPackage;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
import org.l2jmobius.gameserver.network.GameClient;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.8.2.4.2.6 $ $Date: 2005/04/06 16:13:46 $
*/
-public class CharSelectInfo extends GameServerPacket
+public class CharSelectInfo implements IClientOutgoingPacket
{
private static final Logger LOGGER = Logger.getLogger(CharSelectInfo.class.getName());
@@ -72,11 +74,11 @@ public class CharSelectInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
final int size = _characterPackages.length;
- writeC(0x13);
- writeD(size);
+ OutgoingPackets.CHAR_SELECT_INFO.writeId(packet);
+ packet.writeD(size);
long lastAccess = 0;
if (_activeId == -1)
@@ -94,89 +96,89 @@ public class CharSelectInfo extends GameServerPacket
for (int i = 0; i < size; i++)
{
final CharSelectInfoPackage charInfoPackage = _characterPackages[i];
- writeS(charInfoPackage.getName());
- writeD(charInfoPackage.getCharId());
- writeS(_loginName);
- writeD(_sessionId);
- writeD(charInfoPackage.getClanId());
- writeD(0x00); // ??
+ packet.writeS(charInfoPackage.getName());
+ packet.writeD(charInfoPackage.getCharId());
+ packet.writeS(_loginName);
+ packet.writeD(_sessionId);
+ packet.writeD(charInfoPackage.getClanId());
+ packet.writeD(0x00); // ??
- writeD(charInfoPackage.getSex());
- writeD(charInfoPackage.getRace());
+ packet.writeD(charInfoPackage.getSex());
+ packet.writeD(charInfoPackage.getRace());
if (charInfoPackage.getClassId() == charInfoPackage.getBaseClassId())
{
- writeD(charInfoPackage.getClassId());
+ packet.writeD(charInfoPackage.getClassId());
}
else
{
- writeD(charInfoPackage.getBaseClassId());
+ packet.writeD(charInfoPackage.getBaseClassId());
}
- writeD(0x01); // active ??
+ packet.writeD(0x01); // active ??
- writeD(0x00); // x
- writeD(0x00); // y
- writeD(0x00); // z
+ packet.writeD(0x00); // x
+ packet.writeD(0x00); // y
+ packet.writeD(0x00); // z
- writeF(charInfoPackage.getCurrentHp()); // hp cur
- writeF(charInfoPackage.getCurrentMp()); // mp cur
+ packet.writeF(charInfoPackage.getCurrentHp()); // hp cur
+ packet.writeF(charInfoPackage.getCurrentMp()); // mp cur
- writeD(charInfoPackage.getSp());
- writeQ(charInfoPackage.getExp());
- writeD(charInfoPackage.getLevel());
+ packet.writeD(charInfoPackage.getSp());
+ packet.writeD((int) charInfoPackage.getExp());
+ packet.writeD(charInfoPackage.getLevel());
- writeD(charInfoPackage.getKarma()); // karma
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
+ packet.writeD(charInfoPackage.getKarma()); // karma
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_UNDER));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LRHAND));
- writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_UNDER));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_LRHAND));
+ packet.writeD(charInfoPackage.getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_UNDER));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_REAR));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_NECK));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
- writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_UNDER));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_REAR));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_NECK));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
+ packet.writeD(charInfoPackage.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
- writeD(charInfoPackage.getHairStyle());
- writeD(charInfoPackage.getHairColor());
- writeD(charInfoPackage.getFace());
+ packet.writeD(charInfoPackage.getHairStyle());
+ packet.writeD(charInfoPackage.getHairColor());
+ packet.writeD(charInfoPackage.getFace());
- writeF(charInfoPackage.getMaxHp()); // hp max
- writeF(charInfoPackage.getMaxMp()); // mp max
+ packet.writeF(charInfoPackage.getMaxHp()); // hp max
+ packet.writeF(charInfoPackage.getMaxMp()); // mp max
final long deleteTime = charInfoPackage.getDeleteTimer();
final int accesslevels = charInfoPackage.getAccessLevel();
@@ -190,22 +192,23 @@ public class CharSelectInfo extends GameServerPacket
deletedays = -1; // like L2OFF player looks dead if he is banned.
}
- writeD(deletedays); // days left before
+ packet.writeD(deletedays); // days left before
// delete .. if != 0
// then char is inactive
- writeD(charInfoPackage.getClassId());
+ packet.writeD(charInfoPackage.getClassId());
if (i == _activeId)
{
- writeD(0x01);
+ packet.writeD(0x01);
}
else
{
- writeD(0x00); // c3 auto-select char
+ packet.writeD(0x00); // c3 auto-select char
}
- writeC(charInfoPackage.getEnchantEffect() > 127 ? 127 : charInfoPackage.getEnchantEffect());
+ packet.writeC(charInfoPackage.getEnchantEffect() > 127 ? 127 : charInfoPackage.getEnchantEffect());
}
+ return true;
}
private CharSelectInfoPackage[] loadCharacterSelectInfo()
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharSelected.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharSelected.java
index 14f313ed1b..027750c585 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharSelected.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharSelected.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.5.2.6 $ $Date: 2005/03/27 15:29:39 $
*/
-public class CharSelected extends GameServerPacket
+public class CharSelected implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _sessionId;
@@ -38,66 +40,67 @@ public class CharSelected extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x15);
+ OutgoingPackets.CHAR_SELECTED.writeId(packet);
- writeS(_player.getName());
- writeD(_player.getObjectId()); // ??
- writeS(_player.getTitle());
- writeD(_sessionId);
- writeD(_player.getClanId());
- writeD(0x00); // ??
- writeD(_player.getAppearance().isFemale() ? 1 : 0);
- writeD(_player.getRace().ordinal());
- writeD(_player.getClassId().getId());
- writeD(0x01); // active ??
- writeD(_player.getX());
- writeD(_player.getY());
- writeD(_player.getZ());
+ packet.writeS(_player.getName());
+ packet.writeD(_player.getObjectId()); // ??
+ packet.writeS(_player.getTitle());
+ packet.writeD(_sessionId);
+ packet.writeD(_player.getClanId());
+ packet.writeD(0x00); // ??
+ packet.writeD(_player.getAppearance().isFemale() ? 1 : 0);
+ packet.writeD(_player.getRace().ordinal());
+ packet.writeD(_player.getClassId().getId());
+ packet.writeD(0x01); // active ??
+ packet.writeD(_player.getX());
+ packet.writeD(_player.getY());
+ packet.writeD(_player.getZ());
- writeF(_player.getCurrentHp());
- writeF(_player.getCurrentMp());
- writeD(_player.getSp());
- writeQ(_player.getExp());
- writeD(_player.getLevel());
- writeD(_player.getKarma()); // thx evill33t
- writeD(0x0); // ?
- writeD(_player.getINT());
- writeD(_player.getSTR());
- writeD(_player.getCON());
- writeD(_player.getMEN());
- writeD(_player.getDEX());
- writeD(_player.getWIT());
+ packet.writeF(_player.getCurrentHp());
+ packet.writeF(_player.getCurrentMp());
+ packet.writeD(_player.getSp());
+ packet.writeD((int) _player.getExp());
+ packet.writeD(_player.getLevel());
+ packet.writeD(_player.getKarma()); // thx evill33t
+ packet.writeD(0x0); // ?
+ packet.writeD(_player.getINT());
+ packet.writeD(_player.getSTR());
+ packet.writeD(_player.getCON());
+ packet.writeD(_player.getMEN());
+ packet.writeD(_player.getDEX());
+ packet.writeD(_player.getWIT());
for (int i = 0; i < 30; i++)
{
- writeD(0x00);
+ packet.writeD(0x00);
}
- // writeD(0); //c3
- // writeD(0); //c3
- // writeD(0); //c3
- writeD(0x00); // c3 work
- writeD(0x00); // c3 work
+ // packet.writeD(0); //c3
+ // packet.writeD(0); //c3
+ // packet.writeD(0); //c3
+ packet.writeD(0x00); // c3 work
+ packet.writeD(0x00); // c3 work
// extra info
- writeD(GameTimeController.getInstance().getGameTime()); // in-game time
+ packet.writeD(GameTimeController.getInstance().getGameTime()); // in-game time
- writeD(0x00); //
+ packet.writeD(0x00); //
- writeD(0x00); // c3
+ packet.writeD(0x00); // c3
- writeD(0x00); // c3 InspectorBin
- writeD(0x00); // c3
- writeD(0x00); // c3
- writeD(0x00); // c3
+ packet.writeD(0x00); // c3 InspectorBin
+ packet.writeD(0x00); // c3
+ packet.writeD(0x00); // c3
+ packet.writeD(0x00); // c3
- writeD(0x00); // c3 InspectorBin for 528 client
- writeD(0x00); // c3
- writeD(0x00); // c3
- writeD(0x00); // c3
- writeD(0x00); // c3
- writeD(0x00); // c3
- writeD(0x00); // c3
- writeD(0x00); // c3
+ packet.writeD(0x00); // c3 InspectorBin for 528 client
+ packet.writeD(0x00); // c3
+ packet.writeD(0x00); // c3
+ packet.writeD(0x00); // c3
+ packet.writeD(0x00); // c3
+ packet.writeD(0x00); // c3
+ packet.writeD(0x00); // c3
+ packet.writeD(0x00); // c3
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharTemplates.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharTemplates.java
index 80a128d1f4..39c3f6639d 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharTemplates.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CharTemplates.java
@@ -19,12 +19,14 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.templates.PlayerTemplate;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.3.2.1.2.7 $ $Date: 2005/03/27 15:29:39 $
*/
-public class CharTemplates extends GameServerPacket
+public class CharTemplates implements IClientOutgoingPacket
{
private final List _chars = new ArrayList<>();
@@ -34,33 +36,34 @@ public class CharTemplates extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x17);
- writeD(_chars.size());
+ OutgoingPackets.CHAR_TEMPLATES.writeId(packet);
+ packet.writeD(_chars.size());
for (PlayerTemplate temp : _chars)
{
- writeD(temp.getRace().ordinal());
- writeD(temp.getClassId().getId());
- writeD(0x46);
- writeD(temp.getBaseSTR());
- writeD(0x0a);
- writeD(0x46);
- writeD(temp.getBaseDEX());
- writeD(0x0a);
- writeD(0x46);
- writeD(temp.getBaseCON());
- writeD(0x0a);
- writeD(0x46);
- writeD(temp.getBaseINT());
- writeD(0x0a);
- writeD(0x46);
- writeD(temp.getBaseWIT());
- writeD(0x0a);
- writeD(0x46);
- writeD(temp.getBaseMEN());
- writeD(0x0a);
+ packet.writeD(temp.getRace().ordinal());
+ packet.writeD(temp.getClassId().getId());
+ packet.writeD(0x46);
+ packet.writeD(temp.getBaseSTR());
+ packet.writeD(0x0a);
+ packet.writeD(0x46);
+ packet.writeD(temp.getBaseDEX());
+ packet.writeD(0x0a);
+ packet.writeD(0x46);
+ packet.writeD(temp.getBaseCON());
+ packet.writeD(0x0a);
+ packet.writeD(0x46);
+ packet.writeD(temp.getBaseINT());
+ packet.writeD(0x0a);
+ packet.writeD(0x46);
+ packet.writeD(temp.getBaseWIT());
+ packet.writeD(0x0a);
+ packet.writeD(0x46);
+ packet.writeD(temp.getBaseMEN());
+ packet.writeD(0x0a);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChooseInventoryItem.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChooseInventoryItem.java
index ade86f4831..d59df7911a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChooseInventoryItem.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ChooseInventoryItem.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class ChooseInventoryItem extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class ChooseInventoryItem implements IClientOutgoingPacket
{
private final int _itemId;
@@ -26,9 +29,10 @@ public class ChooseInventoryItem extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x6f);
- writeD(_itemId);
+ OutgoingPackets.CHOOSE_INVENTORY_ITEM.writeId(packet);
+ packet.writeD(_itemId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ClanHallDecoration.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ClanHallDecoration.java
index 8c8c109650..060ae560f6 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ClanHallDecoration.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ClanHallDecoration.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.residences.ClanHall;
import org.l2jmobius.gameserver.model.residences.ClanHall.ClanHallFunction;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Steuf
*/
-public class ClanHallDecoration extends GameServerPacket
+public class ClanHallDecoration implements IClientOutgoingPacket
{
private final ClanHall _clanHall;
@@ -32,150 +34,151 @@ public class ClanHallDecoration extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xf7);
- writeD(_clanHall.getId()); // clanhall id
+ OutgoingPackets.CLAN_HALL_DECORATION.writeId(packet);
+ packet.writeD(_clanHall.getId()); // clanhall id
// FUNC_RESTORE_HP
ClanHallFunction function = _clanHall.getFunction(ClanHall.FUNC_RESTORE_HP);
if ((function == null) || (function.getLvl() == 0))
{
- writeC(0);
+ packet.writeC(0);
}
else if (((_clanHall.getGrade() == 0) && (function.getLvl() < 220)) || ((_clanHall.getGrade() == 1) && (function.getLvl() < 160)) || ((_clanHall.getGrade() == 2) && (function.getLvl() < 260)) || ((_clanHall.getGrade() == 3) && (function.getLvl() < 300)))
{
- writeC(1);
+ packet.writeC(1);
}
else
{
- writeC(2);
+ packet.writeC(2);
}
// FUNC_RESTORE_MP
function = _clanHall.getFunction(ClanHall.FUNC_RESTORE_MP);
if ((function == null) || (function.getLvl() == 0))
{
- writeC(0);
- writeC(0);
+ packet.writeC(0);
+ packet.writeC(0);
}
else if ((((_clanHall.getGrade() == 0) || (_clanHall.getGrade() == 1)) && (function.getLvl() < 25)) || ((_clanHall.getGrade() == 2) && (function.getLvl() < 30)) || ((_clanHall.getGrade() == 3) && (function.getLvl() < 40)))
{
- writeC(1);
- writeC(1);
+ packet.writeC(1);
+ packet.writeC(1);
}
else
{
- writeC(2);
- writeC(2);
+ packet.writeC(2);
+ packet.writeC(2);
}
// FUNC_RESTORE_EXP
function = _clanHall.getFunction(ClanHall.FUNC_RESTORE_EXP);
if ((function == null) || (function.getLvl() == 0))
{
- writeC(0);
+ packet.writeC(0);
}
else if (((_clanHall.getGrade() == 0) && (function.getLvl() < 25)) || ((_clanHall.getGrade() == 1) && (function.getLvl() < 30)) || ((_clanHall.getGrade() == 2) && (function.getLvl() < 40)) || ((_clanHall.getGrade() == 3) && (function.getLvl() < 50)))
{
- writeC(1);
+ packet.writeC(1);
}
else
{
- writeC(2);
+ packet.writeC(2);
}
// FUNC_TELEPORT
function = _clanHall.getFunction(ClanHall.FUNC_TELEPORT);
if ((function == null) || (function.getLvl() == 0))
{
- writeC(0);
+ packet.writeC(0);
}
else if (function.getLvl() < 2)
{
- writeC(1);
+ packet.writeC(1);
}
else
{
- writeC(2);
+ packet.writeC(2);
}
- writeC(0);
+ packet.writeC(0);
// CURTAINS
function = _clanHall.getFunction(ClanHall.FUNC_DECO_CURTAINS);
if ((function == null) || (function.getLvl() == 0))
{
- writeC(0);
+ packet.writeC(0);
}
else if (function.getLvl() <= 1)
{
- writeC(1);
+ packet.writeC(1);
}
else
{
- writeC(2);
+ packet.writeC(2);
}
// FUNC_ITEM_CREATE
function = _clanHall.getFunction(ClanHall.FUNC_ITEM_CREATE);
if ((function == null) || (function.getLvl() == 0))
{
- writeC(0);
+ packet.writeC(0);
}
else if (((_clanHall.getGrade() == 0) && (function.getLvl() < 2)) || (function.getLvl() < 3))
{
- writeC(1);
+ packet.writeC(1);
}
else
{
- writeC(2);
+ packet.writeC(2);
}
// FUNC_SUPPORT
function = _clanHall.getFunction(ClanHall.FUNC_SUPPORT);
if ((function == null) || (function.getLvl() == 0))
{
- writeC(0);
- writeC(0);
+ packet.writeC(0);
+ packet.writeC(0);
}
else if (((_clanHall.getGrade() == 0) && (function.getLvl() < 2)) || ((_clanHall.getGrade() == 1) && (function.getLvl() < 4)) || ((_clanHall.getGrade() == 2) && (function.getLvl() < 5)) || ((_clanHall.getGrade() == 3) && (function.getLvl() < 8)))
{
- writeC(1);
- writeC(1);
+ packet.writeC(1);
+ packet.writeC(1);
}
else
{
- writeC(2);
- writeC(2);
+ packet.writeC(2);
+ packet.writeC(2);
}
// Front Plateform
function = _clanHall.getFunction(ClanHall.FUNC_DECO_FRONTPLATEFORM);
if ((function == null) || (function.getLvl() == 0))
{
- writeC(0);
+ packet.writeC(0);
}
else if (function.getLvl() <= 1)
{
- writeC(1);
+ packet.writeC(1);
}
else
{
- writeC(2);
+ packet.writeC(2);
}
// FUNC_ITEM_CREATE
function = _clanHall.getFunction(ClanHall.FUNC_ITEM_CREATE);
if ((function == null) || (function.getLvl() == 0))
{
- writeC(0);
+ packet.writeC(0);
}
else if (((_clanHall.getGrade() == 0) && (function.getLvl() < 2)) || (function.getLvl() < 3))
{
- writeC(1);
+ packet.writeC(1);
}
else
{
- writeC(2);
+ packet.writeC(2);
}
- writeD(0);
- writeD(0);
+ packet.writeD(0);
+ packet.writeD(0);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ClientSetTime.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ClientSetTime.java
index 5ce56d88c6..d83c69028a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ClientSetTime.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ClientSetTime.java
@@ -16,15 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.GameTimeController;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class ClientSetTime extends GameServerPacket
+public class ClientSetTime implements IClientOutgoingPacket
{
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xEC);
- writeD(GameTimeController.getInstance().getGameTime()); // time in client minutes
- writeD(6); // constant to match the server time( this determines the speed of the client clock)
+ OutgoingPackets.CLIENT_SET_TIME.writeId(packet);
+ packet.writeD(GameTimeController.getInstance().getGameTime()); // time in client minutes
+ packet.writeD(6); // constant to match the server time( this determines the speed of the client clock)
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ConfirmDlg.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ConfirmDlg.java
index aee6077a58..0595966836 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ConfirmDlg.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ConfirmDlg.java
@@ -19,10 +19,14 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author kombat Format: cd d[d s/d/dd/ddd]
*/
-public class ConfirmDlg extends GameServerPacket
+public class ConfirmDlg implements IClientOutgoingPacket
{
private final int _messageId;
private int _skillLevel = 1;
@@ -36,6 +40,7 @@ public class ConfirmDlg extends GameServerPacket
private final List _values = new ArrayList<>();
private int _time = 0;
private int _requesterId = 0;
+ private PlayerInstance _targetPlayer = null;
public ConfirmDlg(int messageId)
{
@@ -96,9 +101,10 @@ public class ConfirmDlg extends GameServerPacket
return this;
}
- public ConfirmDlg addTime(int time)
+ public ConfirmDlg addTime(int time, PlayerInstance targetPlayer)
{
_time = time;
+ _targetPlayer = targetPlayer;
return this;
}
@@ -109,22 +115,22 @@ public class ConfirmDlg extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xed);
- writeD(_messageId);
+ OutgoingPackets.CONFIRM_DLG.writeId(packet);
+ packet.writeD(_messageId);
if (!_types.isEmpty())
{
- writeD(_types.size());
+ packet.writeD(_types.size());
for (int i = 0; i < _types.size(); i++)
{
final int t = _types.get(i).intValue();
- writeD(t);
+ packet.writeD(t);
switch (t)
{
case TYPE_TEXT:
{
- writeS((String) _values.get(i));
+ packet.writeS((String) _values.get(i));
break;
}
case TYPE_NUMBER:
@@ -132,14 +138,14 @@ public class ConfirmDlg extends GameServerPacket
case TYPE_ITEM_NAME:
{
final int t1 = ((Integer) _values.get(i)).intValue();
- writeD(t1);
+ packet.writeD(t1);
break;
}
case TYPE_SKILL_NAME:
{
final int t1 = ((Integer) _values.get(i)).intValue();
- writeD(t1); // Skill Id
- writeD(_skillLevel); // Skill level
+ packet.writeD(t1); // Skill Id
+ packet.writeD(_skillLevel); // Skill level
break;
}
case TYPE_ZONE_NAME:
@@ -147,9 +153,9 @@ public class ConfirmDlg extends GameServerPacket
final int t1 = ((int[]) _values.get(i))[0];
final int t2 = ((int[]) _values.get(i))[1];
final int t3 = ((int[]) _values.get(i))[2];
- writeD(t1);
- writeD(t2);
- writeD(t3);
+ packet.writeD(t1);
+ packet.writeD(t2);
+ packet.writeD(t3);
break;
}
}
@@ -157,23 +163,24 @@ public class ConfirmDlg extends GameServerPacket
// timed dialog (Summon Friend skill request)
if (_time != 0)
{
- writeD(_time);
+ packet.writeD(_time);
}
if (_requesterId != 0)
{
- writeD(_requesterId);
+ packet.writeD(_requesterId);
}
- if (_time > 0)
+ if ((_time > 0) && (_targetPlayer != null))
{
- getClient().getPlayer().addConfirmDlgRequestTime(_requesterId, _time);
+ _targetPlayer.addConfirmDlgRequestTime(_requesterId, _time);
}
}
else
{
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CreatureSay.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CreatureSay.java
index fbb6c3fafc..0062cae9aa 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CreatureSay.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/CreatureSay.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class CreatureSay extends GameServerPacket
+public class CreatureSay implements IClientOutgoingPacket
{
private final int _objectId;
private final ChatType _chatType;
@@ -44,18 +46,22 @@ public class CreatureSay extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
+ {
+ OutgoingPackets.CREATURE_SAY.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_chatType.getClientId());
+ packet.writeS(_charName);
+ packet.writeS(_text);
+ return true;
+ }
+
+ @Override
+ public void runImpl(PlayerInstance player)
{
- writeC(0x4a);
- writeD(_objectId);
- writeD(_chatType.getClientId());
- writeS(_charName);
- writeS(_text);
-
- final PlayerInstance player = getClient().getPlayer();
if (player != null)
{
player.broadcastSnoop(_chatType, _charName, _text, this);
}
}
-}
\ No newline at end of file
+}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DeleteObject.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DeleteObject.java
index 4f65d22da4..a6b57ce622 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DeleteObject.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DeleteObject.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.WorldObject;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: 1e 9b da 12 40 ....@ format d
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class DeleteObject extends GameServerPacket
+public class DeleteObject implements IClientOutgoingPacket
{
private final int _objectId;
@@ -37,10 +39,11 @@ public class DeleteObject extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x12);
- writeD(_objectId);
- writeD(0x00); // c2
+ OutgoingPackets.DELETE_OBJECT.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(0x00); // c2
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Dice.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Dice.java
index 4de84a4dab..498a1ef493 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Dice.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Dice.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.1.4.2 $ $Date: 2005/03/27 15:29:40 $
*/
-public class Dice extends GameServerPacket
+public class Dice implements IClientOutgoingPacket
{
private final int _objectId;
private final int _itemId;
@@ -48,14 +51,15 @@ public class Dice extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xD4);
- writeD(_objectId); // object id of player
- writeD(_itemId); // item id of dice (spade) 4625,4626,4627,4628
- writeD(_number); // number rolled
- writeD(_x); // x
- writeD(_y); // y
- writeD(_z); // z
+ OutgoingPackets.DICE.writeId(packet);
+ packet.writeD(_objectId); // object id of player
+ packet.writeD(_itemId); // item id of dice (spade) 4625,4626,4627,4628
+ packet.writeD(_number); // number rolled
+ packet.writeD(_x); // x
+ packet.writeD(_y); // y
+ packet.writeD(_z); // z
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Die.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Die.java
index b803f33b59..f80fab7d58 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Die.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Die.java
@@ -16,6 +16,7 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.FortManager;
import org.l2jmobius.gameserver.instancemanager.events.CTF;
@@ -28,8 +29,9 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle;
import org.l2jmobius.gameserver.model.siege.Fort;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class Die extends GameServerPacket
+public class Die implements IClientOutgoingPacket
{
private final int _objectId;
private final boolean _fake;
@@ -58,15 +60,15 @@ public class Die extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
if (_fake)
{
- return;
+ return false;
}
- writeC(0x06);
- writeD(_objectId);
+ OutgoingPackets.DIE.writeId(packet);
+ packet.writeD(_objectId);
// NOTE:
// 6d 00 00 00 00 - to nearest village
@@ -75,7 +77,7 @@ public class Die extends GameServerPacket
// 6d 03 00 00 00 - to siege HQ
// sweepable
// 6d 04 00 00 00 - FIXED
- writeD(_canTeleport ? 0x01 : 0); // 6d 00 00 00 00 - to nearest village
+ packet.writeD(_canTeleport ? 0x01 : 0); // 6d 00 00 00 00 - to nearest village
if (_canTeleport && (_clan != null))
{
@@ -102,18 +104,19 @@ public class Die extends GameServerPacket
}
}
- writeD(_clan.getHideoutId() > 0 ? 0x01 : 0x00); // 6d 01 00 00 00 - to hide away
- writeD((_clan.getCastleId() > 0) || (_clan.getFortId() > 0) || isInDefense ? 0x01 : 0x00); // 6d 02 00 00 00 - to castle
- writeD((siegeClan != null) && !isInDefense && !siegeClan.getFlag().isEmpty() ? 0x01 : 0x00); // 6d 03 00 00 00 - to siege HQ
+ packet.writeD(_clan.getHideoutId() > 0 ? 0x01 : 0x00); // 6d 01 00 00 00 - to hide away
+ packet.writeD((_clan.getCastleId() > 0) || (_clan.getFortId() > 0) || isInDefense ? 0x01 : 0x00); // 6d 02 00 00 00 - to castle
+ packet.writeD((siegeClan != null) && !isInDefense && !siegeClan.getFlag().isEmpty() ? 0x01 : 0x00); // 6d 03 00 00 00 - to siege HQ
}
else
{
- writeD(0x00); // 6d 01 00 00 00 - to hide away
- writeD(0x00); // 6d 02 00 00 00 - to castle
- writeD(0x00); // 6d 03 00 00 00 - to siege HQ
+ packet.writeD(0x00); // 6d 01 00 00 00 - to hide away
+ packet.writeD(0x00); // 6d 02 00 00 00 - to castle
+ packet.writeD(0x00); // 6d 03 00 00 00 - to siege HQ
}
- writeD(_sweepable ? 0x01 : 0x00); // sweepable (blue glow)
- writeD(_allowFixedRes ? 0x01 : 0x00); // 6d 04 00 00 00 - to FIXED
+ packet.writeD(_sweepable ? 0x01 : 0x00); // sweepable (blue glow)
+ packet.writeD(_allowFixedRes ? 0x01 : 0x00); // 6d 04 00 00 00 - to FIXED
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DoorInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DoorInfo.java
index f3ca030c9b..5666c8f829 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DoorInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DoorInfo.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.DoorInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 60 d6 6d c0 4b door id 8f 14 00 00 x b7 f1 00 00 y 60 f2 ff ff z 00 00 00 00 ?? format dddd rev 377 ID:%d X:%d Y:%d Z:%d ddddd rev 419
* @version $Revision: 1.3.2.2.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class DoorInfo extends GameServerPacket
+public class DoorInfo implements IClientOutgoingPacket
{
private final DoorInstance _door;
private final boolean _showHp;
@@ -34,11 +36,12 @@ public class DoorInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x4c);
- writeD(_door.getObjectId());
- writeD(_door.getDoorId());
- writeD(_showHp ? 0x01 : 0x00);
+ OutgoingPackets.DOOR_INFO.writeId(packet);
+ packet.writeD(_door.getObjectId());
+ packet.writeD(_door.getDoorId());
+ packet.writeD(_showHp ? 0x01 : 0x00);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DoorStatusUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DoorStatusUpdate.java
index 2e9f8c882a..6f1f796374 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DoorStatusUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DoorStatusUpdate.java
@@ -16,31 +16,37 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.DoorInstance;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 61 d6 6d c0 4b door id 8f 14 00 00 x b7 f1 00 00 y 60 f2 ff ff z 00 00 00 00 ?? format dddd rev 377 ID:%d X:%d Y:%d Z:%d ddddd rev 419
* @version $Revision: 1.3.2.2.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class DoorStatusUpdate extends GameServerPacket
+public class DoorStatusUpdate implements IClientOutgoingPacket
{
private final DoorInstance _door;
+ private final PlayerInstance _player;
- public DoorStatusUpdate(DoorInstance door)
+ public DoorStatusUpdate(DoorInstance door, PlayerInstance player)
{
_door = door;
+ _player = player;
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x4d);
- writeD(_door.getObjectId());
- writeD(_door.isOpen() ? 0 : 1);
- writeD(_door.getDamage());
- writeD(_door.isEnemyOf(getClient().getPlayer()) ? 1 : 0);
- writeD(_door.getDoorId());
- writeD(_door.getMaxHp());
- writeD((int) _door.getCurrentHp());
+ OutgoingPackets.DOOR_STATUS_UPDATE.writeId(packet);
+ packet.writeD(_door.getObjectId());
+ packet.writeD(_door.isOpen() ? 0 : 1);
+ packet.writeD(_door.getDamage());
+ packet.writeD(_door.isEnemyOf(_player) ? 1 : 0);
+ packet.writeD(_door.getDoorId());
+ packet.writeD(_door.getMaxHp());
+ packet.writeD((int) _door.getCurrentHp());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DropItem.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DropItem.java
index 9514731736..59c81289d7 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DropItem.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/DropItem.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 16 d6 6d c0 4b player id who dropped it ee cc 11 43 object id 39 00 00 00 item id 8f 14 00 00 x b7 f1 00 00 y 60 f2 ff ff z 01 00 00 00 show item-count 1=yes 7a 00 00 00 count . format dddddddd rev 377 ddddddddd rev 417
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class DropItem extends GameServerPacket
+public class DropItem implements IClientOutgoingPacket
{
private final ItemInstance _item;
private final int _objectId;
@@ -39,27 +41,28 @@ public class DropItem extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x0c);
- writeD(_objectId);
- writeD(_item.getObjectId());
- writeD(_item.getItemId());
+ OutgoingPackets.DROP_ITEM.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_item.getObjectId());
+ packet.writeD(_item.getItemId());
- writeD(_item.getX());
- writeD(_item.getY());
- writeD(_item.getZ());
+ packet.writeD(_item.getX());
+ packet.writeD(_item.getY());
+ packet.writeD(_item.getZ());
// only show item count if it is a stackable item
if (_item.isStackable())
{
- writeD(0x01);
+ packet.writeD(0x01);
}
else
{
- writeD(0x00);
+ packet.writeD(0x00);
}
- writeD(_item.getCount());
+ packet.writeD(_item.getCount());
- writeD(1); // unknown
+ packet.writeD(1); // unknown
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Earthquake.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Earthquake.java
index 430c8627b5..fc78d506ae 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Earthquake.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Earthquake.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* format dddddd
*/
-public class Earthquake extends GameServerPacket
+public class Earthquake implements IClientOutgoingPacket
{
private final int _x;
private final int _y;
@@ -44,14 +47,15 @@ public class Earthquake extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xc4);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_intensity);
- writeD(_duration);
- writeD(0x00); // Unknown
+ OutgoingPackets.EARTHQUAKE.writeId(packet);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(_intensity);
+ packet.writeD(_duration);
+ packet.writeD(0x00); // Unknown
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/EnchantResult.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/EnchantResult.java
index 5ed2c3fb12..ef8494e2ce 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/EnchantResult.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/EnchantResult.java
@@ -16,19 +16,23 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class EnchantResult extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class EnchantResult implements IClientOutgoingPacket
{
- private final int _unknown;
+ private final int _result;
- public EnchantResult(int unknown)
+ public EnchantResult(int result)
{
- _unknown = unknown;
+ _result = result;
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x81);
- writeD(_unknown);
+ OutgoingPackets.ENCHANT_RESULT.writeId(packet);
+ packet.writeD(_result);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/EquipUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/EquipUpdate.java
index 7e62c4be59..a0f1b629a3 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/EquipUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/EquipUpdate.java
@@ -16,15 +16,17 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 5e 01 00 00 00 01 - added ? 02 - modified 7b 86 73 42 object id 08 00 00 00 body slot body slot 0000 ?? underwear 0001 ear 0002 ear 0003 neck 0004 finger (magic ring) 0005 finger (magic ring) 0006 head (l.cap) 0007 r.hand (dagger) 0008 l.hand (arrows) 0009 hands (short gloves) 000a chest (squire
* shirt) 000b legs (squire pants) 000c feet 000d ?? back 000e lr.hand (bow) format ddd
* @version $Revision: 1.4.2.1.2.4 $ $Date: 2005/03/27 15:29:40 $
*/
-public class EquipUpdate extends GameServerPacket
+public class EquipUpdate implements IClientOutgoingPacket
{
private final ItemInstance _item;
private final int _change;
@@ -36,12 +38,12 @@ public class EquipUpdate extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
int bodypart = 0;
- writeC(0x4b);
- writeD(_change);
- writeD(_item.getObjectId());
+ OutgoingPackets.EQUIP_UPDATE.writeId(packet);
+ packet.writeD(_change);
+ packet.writeD(_item.getObjectId());
switch (_item.getItem().getBodyPart())
{
case Item.SLOT_L_EAR:
@@ -121,6 +123,7 @@ public class EquipUpdate extends GameServerPacket
}
}
- writeD(bodypart);
+ packet.writeD(bodypart);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAskJoinMPCC.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAskJoinMPCC.java
index 51d2040533..b83d011f3c 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAskJoinMPCC.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAskJoinMPCC.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author chris_00 Asks the player to join a CC
*/
-public class ExAskJoinMPCC extends GameServerPacket
+public class ExAskJoinMPCC implements IClientOutgoingPacket
{
private final String _requestorName;
@@ -29,10 +32,10 @@ public class ExAskJoinMPCC extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x27);
- writeS(_requestorName);
+ OutgoingPackets.EX_ASK_JOIN_MPCC.writeId(packet);
+ packet.writeS(_requestorName);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAskJoinPartyRoom.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAskJoinPartyRoom.java
index bd41104ef0..2d063dbe83 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAskJoinPartyRoom.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAskJoinPartyRoom.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: ch S
* @author KenM
*/
-public class ExAskJoinPartyRoom extends GameServerPacket
+public class ExAskJoinPartyRoom implements IClientOutgoingPacket
{
private final String _charName;
@@ -30,10 +33,10 @@ public class ExAskJoinPartyRoom extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x34);
- writeS(_charName);
+ OutgoingPackets.EX_ASK_JOIN_PARTY_ROOM.writeId(packet);
+ packet.writeS(_charName);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAutoSoulShot.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAutoSoulShot.java
index c928a1d4f8..9017ad6c67 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAutoSoulShot.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExAutoSoulShot.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class ExAutoSoulShot extends GameServerPacket
+public class ExAutoSoulShot implements IClientOutgoingPacket
{
private final int _itemId;
private final int _type;
@@ -36,11 +39,11 @@ public class ExAutoSoulShot extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x12); // sub id
- writeD(_itemId);
- writeD(_type);
+ OutgoingPackets.EX_AUTO_SOUL_SHOT.writeId(packet);
+ packet.writeD(_itemId);
+ packet.writeD(_type);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCaptureOrc.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCaptureOrc.java
index 98a9627140..a052512523 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCaptureOrc.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCaptureOrc.java
@@ -16,91 +16,38 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author KenM
*/
-public class ExCaptureOrc extends GameServerPacket
+public class ExCaptureOrc implements IClientOutgoingPacket
{
private static final byte[] _test;
static
{
+ // TODO: Verify the data
+ //@formatter:off
_test = new byte[]
{
- (byte) 0xE4,
- (byte) 0xAB,
- (byte) 0x8E,
- (byte) 0xC5,
- (byte) 0xE9,
- (byte) 0xF9,
- (byte) 0x86,
- (byte) 0x7B,
- (byte) 0x9E,
- (byte) 0x5D,
- (byte) 0x83,
- (byte) 0x14,
- (byte) 0x05,
- (byte) 0xD4,
- (byte) 0x48,
- (byte) 0x01,
- (byte) 0xCD,
- (byte) 0xA2,
- (byte) 0x8D,
- (byte) 0x90,
- (byte) 0x62,
- (byte) 0x8C,
- (byte) 0xDA,
- (byte) 0x32,
- (byte) 0x7B,
- (byte) 0x1B,
- (byte) 0x87,
- (byte) 0x6D,
- (byte) 0x08,
- (byte) 0xC4,
- (byte) 0xE1,
- (byte) 0x56,
- (byte) 0x9B,
- (byte) 0x3B,
- (byte) 0xC3,
- (byte) 0x40,
- (byte) 0xDF,
- (byte) 0xE8,
- (byte) 0xD7,
- (byte) 0xE1,
- (byte) 0x98,
- (byte) 0x38,
- (byte) 0x1C,
- (byte) 0xA5,
- (byte) 0x8E,
- (byte) 0x45,
- (byte) 0x3F,
- (byte) 0xF2,
- (byte) 0x5E,
- (byte) 0x1C,
- (byte) 0x59,
- (byte) 0x8E,
- (byte) 0x74,
- (byte) 0x01,
- (byte) 0x9E,
- (byte) 0xC2,
- (byte) 0x00,
- (byte) 0x95,
- (byte) 0xB0,
- (byte) 0x1D,
- (byte) 0x87,
- (byte) 0xED,
- (byte) 0x9C,
- (byte) 0x8A
+ (byte) 0xE4 ,(byte) 0xAB ,(byte) 0x8E ,(byte) 0xC5 ,(byte) 0xE9 ,(byte) 0xF9 ,(byte) 0x86 ,(byte) 0x7B,
+ (byte) 0x9E ,(byte) 0x5D ,(byte) 0x83 ,(byte) 0x14 ,(byte) 0x05 ,(byte) 0xD4 ,(byte) 0x48 ,(byte) 0x01,
+ (byte) 0xCD ,(byte) 0xA2 ,(byte) 0x8D ,(byte) 0x90 ,(byte) 0x62 ,(byte) 0x8C ,(byte) 0xDA ,(byte) 0x32,
+ (byte) 0x7B ,(byte) 0x1B ,(byte) 0x87 ,(byte) 0x6D ,(byte) 0x08 ,(byte) 0xC4 ,(byte) 0xE1 ,(byte) 0x56,
+ (byte) 0x9B ,(byte) 0x3B ,(byte) 0xC3 ,(byte) 0x40 ,(byte) 0xDF ,(byte) 0xE8 ,(byte) 0xD7 ,(byte) 0xE1,
+ (byte) 0x98 ,(byte) 0x38 ,(byte) 0x1C ,(byte) 0xA5 ,(byte) 0x8E ,(byte) 0x45 ,(byte) 0x3F ,(byte) 0xF2,
+ (byte) 0x5E ,(byte) 0x1C ,(byte) 0x59 ,(byte) 0x8E ,(byte) 0x74 ,(byte) 0x01 ,(byte) 0x9E ,(byte) 0xC2,
+ (byte) 0x00 ,(byte) 0x95 ,(byte) 0xB0 ,(byte) 0x1D ,(byte) 0x87 ,(byte) 0xED ,(byte) 0x9C ,(byte) 0x8A
};
+ //@formatter:on
}
- /**
- * @see org.l2jmobius.gameserver.network.serverpackets.GameServerPacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x44);
- writeB(_test);
+ OutgoingPackets.EX_CAPTURE_ORC.writeId(packet);
+ packet.writeB(_test);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCloseMPCC.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCloseMPCC.java
index cf848ad107..e238fec229 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCloseMPCC.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCloseMPCC.java
@@ -16,15 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author chris_00 close the CommandChannel Information window
*/
-public class ExCloseMPCC extends GameServerPacket
+public class ExCloseMPCC implements IClientOutgoingPacket
{
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x26);
+ OutgoingPackets.EX_CLOSE_MPCC.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExClosePartyRoom.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExClosePartyRoom.java
index cfed7886ec..11da236f70 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExClosePartyRoom.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExClosePartyRoom.java
@@ -16,15 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author Gnacik
*/
-public class ExClosePartyRoom extends GameServerPacket
+public class ExClosePartyRoom implements IClientOutgoingPacket
{
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x0f);
+ OutgoingPackets.EX_CLOSE_PARTY_ROOM.writeId(packet);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExColosseumFenceInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExColosseumFenceInfo.java
index 4ac0614d94..bd22ef1408 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExColosseumFenceInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExColosseumFenceInfo.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.FenceState;
import org.l2jmobius.gameserver.model.actor.instance.FenceInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author HoridoJoho / FBIagent
*/
-public class ExColosseumFenceInfo extends GameServerPacket
+public class ExColosseumFenceInfo implements IClientOutgoingPacket
{
private final int _objId;
private final int _x;
@@ -49,16 +51,16 @@ public class ExColosseumFenceInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x09);
- writeD(_objId);
- writeD(_clientState);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_width);
- writeD(_length);
+ OutgoingPackets.EX_COLOSSEUM_FENCE_INFO.writeId(packet);
+ packet.writeD(_objId);
+ packet.writeD(_clientState);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(_width);
+ packet.writeD(_length);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmCancelItem.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmCancelItem.java
index bd2967b5f7..edd9e9f5e6 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmCancelItem.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmCancelItem.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch)ddd
*/
-public class ExConfirmCancelItem extends GameServerPacket
+public class ExConfirmCancelItem implements IClientOutgoingPacket
{
private final int _itemObjId;
private final int _price;
@@ -31,15 +34,15 @@ public class ExConfirmCancelItem extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x56);
- writeD(0x40A97712);
- writeD(_itemObjId);
- writeD(0x27);
- writeD(0x2006);
- writeQ(_price);
- writeD(0x01);
+ OutgoingPackets.EX_CONFIRM_CANCEL_ITEM.writeId(packet);
+ packet.writeD(0x40A97712);
+ packet.writeD(_itemObjId);
+ packet.writeD(0x27);
+ packet.writeD(0x2006);
+ packet.writeD(_price);
+ packet.writeD(0x01);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationGemstone.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationGemstone.java
index 39c01c28d9..4ac44e4519 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationGemstone.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationGemstone.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch)ddddd
*/
-public class ExConfirmVariationGemstone extends GameServerPacket
+public class ExConfirmVariationGemstone implements IClientOutgoingPacket
{
private final int _gemstoneObjId;
private final int _unk1;
@@ -37,14 +40,14 @@ public class ExConfirmVariationGemstone extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x54);
- writeD(_gemstoneObjId);
- writeD(_unk1);
- writeD(_gemstoneCount);
- writeD(_unk2);
- writeD(_unk3);
+ OutgoingPackets.EX_CONFIRM_VARIATION_GEMSTONE.writeId(packet);
+ packet.writeD(_gemstoneObjId);
+ packet.writeD(_unk1);
+ packet.writeD(_gemstoneCount);
+ packet.writeD(_unk2);
+ packet.writeD(_unk3);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationItem.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationItem.java
index 7f9c976adf..b5a8c32918 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationItem.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationItem.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch)ddd
*/
-public class ExConfirmVariationItem extends GameServerPacket
+public class ExConfirmVariationItem implements IClientOutgoingPacket
{
private final int _itemObjId;
private final int _unk1;
@@ -33,12 +36,12 @@ public class ExConfirmVariationItem extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x52);
- writeD(_itemObjId);
- writeD(_unk1);
- writeD(_unk2);
+ OutgoingPackets.EX_CONFIRM_VARIATION_ITEM.writeId(packet);
+ packet.writeD(_itemObjId);
+ packet.writeD(_unk1);
+ packet.writeD(_unk2);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationRefiner.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationRefiner.java
index e05d3f3583..8bc8949bbf 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationRefiner.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExConfirmVariationRefiner.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch)ddddd
*/
-public class ExConfirmVariationRefiner extends GameServerPacket
+public class ExConfirmVariationRefiner implements IClientOutgoingPacket
{
private final int _refinerItemObjId;
private final int _lifestoneItemId;
@@ -37,14 +40,14 @@ public class ExConfirmVariationRefiner extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x53);
- writeD(_refinerItemObjId);
- writeD(_lifestoneItemId);
- writeD(_gemstoneItemId);
- writeD(_gemstoneCount);
- writeD(_unk2);
+ OutgoingPackets.EX_CONFIRM_VARIATION_REFINER.writeId(packet);
+ packet.writeD(_refinerItemObjId);
+ packet.writeD(_lifestoneItemId);
+ packet.writeD(_gemstoneItemId);
+ packet.writeD(_gemstoneCount);
+ packet.writeD(_unk2);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCursedWeaponList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCursedWeaponList.java
index 72a64d9628..98e988abe7 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCursedWeaponList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCursedWeaponList.java
@@ -16,31 +16,34 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-import java.util.List;
+import java.util.Set;
+
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format: (ch) d[d]
* @author -Wooden-
*/
-public class ExCursedWeaponList extends GameServerPacket
+public class ExCursedWeaponList implements IClientOutgoingPacket
{
- private final List _cursedWeaponIds;
+ private final Set _cursedWeaponIds;
- public ExCursedWeaponList(List cursedWeaponIds)
+ public ExCursedWeaponList(Set cursedWeaponIds)
{
_cursedWeaponIds = cursedWeaponIds;
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x45);
+ OutgoingPackets.EX_CURSED_WEAPON_LIST.writeId(packet);
- writeD(_cursedWeaponIds.size());
+ packet.writeD(_cursedWeaponIds.size());
for (Integer i : _cursedWeaponIds)
{
- writeD(i.intValue());
+ packet.writeD(i.intValue());
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCursedWeaponLocation.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCursedWeaponLocation.java
index a633c10dfa..b8a3226daa 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCursedWeaponLocation.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExCursedWeaponLocation.java
@@ -18,13 +18,15 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Location;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format: (ch) d[ddddd].
* @author -Wooden-
*/
-public class ExCursedWeaponLocation extends GameServerPacket
+public class ExCursedWeaponLocation implements IClientOutgoingPacket
{
private final List _cursedWeaponInfo;
@@ -38,29 +40,29 @@ public class ExCursedWeaponLocation extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x46);
+ OutgoingPackets.EX_CURSED_WEAPON_LOCATION.writeId(packet);
if (!_cursedWeaponInfo.isEmpty())
{
- writeD(_cursedWeaponInfo.size());
+ packet.writeD(_cursedWeaponInfo.size());
for (CursedWeaponInfo w : _cursedWeaponInfo)
{
- writeD(w.id);
- writeD(w.activated);
+ packet.writeD(w.id);
+ packet.writeD(w.activated);
- writeD(w.loc.getX());
- writeD(w.loc.getY());
- writeD(w.loc.getZ());
+ packet.writeD(w.loc.getX());
+ packet.writeD(w.loc.getY());
+ packet.writeD(w.loc.getZ());
}
}
else
{
- writeD(0);
- writeD(0);
+ packet.writeD(0);
+ packet.writeD(0);
}
+ return true;
}
/**
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExEnchantSkillInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExEnchantSkillInfo.java
index 68c438841e..c61bf29aa0 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExEnchantSkillInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExEnchantSkillInfo.java
@@ -19,7 +19,10 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
-public class ExEnchantSkillInfo extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class ExEnchantSkillInfo implements IClientOutgoingPacket
{
private final List _reqs;
private final int _id;
@@ -59,30 +62,26 @@ public class ExEnchantSkillInfo extends GameServerPacket
_reqs.add(new Req(type, id, count, unk));
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x18);
+ OutgoingPackets.EX_ENCHANT_SKILL_INFO.writeId(packet);
- writeD(_id);
- writeD(_level);
- writeD(_spCost);
- writeQ(_xpCost);
- writeD(_rate);
+ packet.writeD(_id);
+ packet.writeD(_level);
+ packet.writeD(_spCost);
+ packet.writeD(_xpCost);
+ packet.writeD(_rate);
- writeD(_reqs.size());
+ packet.writeD(_reqs.size());
for (Req temp : _reqs)
{
- writeD(temp.type);
- writeD(temp.id);
- writeD(temp.count);
- writeD(temp.unk);
+ packet.writeD(temp.type);
+ packet.writeD(temp.id);
+ packet.writeD(temp.count);
+ packet.writeD(temp.unk);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExEnchantSkillList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExEnchantSkillList.java
index bebca14042..ee556c9bfc 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExEnchantSkillList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExEnchantSkillList.java
@@ -19,7 +19,10 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
-public class ExEnchantSkillList extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class ExEnchantSkillList implements IClientOutgoingPacket
{
private final List _skills;
@@ -49,23 +52,19 @@ public class ExEnchantSkillList extends GameServerPacket
_skills = new ArrayList<>();
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x17);
+ OutgoingPackets.EX_ENCHANT_SKILL_LIST.writeId(packet);
- writeD(_skills.size());
+ packet.writeD(_skills.size());
for (Skill sk : _skills)
{
- writeD(sk.id);
- writeD(sk.nextLevel);
- writeD(sk.sp);
- writeQ(sk.exp);
+ packet.writeD(sk.id);
+ packet.writeD(sk.nextLevel);
+ packet.writeD(sk.sp);
+ packet.writeD(sk.exp);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingEnd.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingEnd.java
index a1dda08cb6..d74a516915 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingEnd.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingEnd.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format: (ch) dc d: character object id c: 1 if won 0 if failed
* @author -Wooden-
*/
-public class ExFishingEnd extends GameServerPacket
+public class ExFishingEnd implements IClientOutgoingPacket
{
private final boolean _win;
Creature _creature;
@@ -34,16 +36,12 @@ public class ExFishingEnd extends GameServerPacket
_creature = character;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x14);
- writeD(_creature.getObjectId());
- writeC(_win ? 1 : 0);
+ OutgoingPackets.EX_FISHING_END.writeId(packet);
+ packet.writeD(_creature.getObjectId());
+ packet.writeC(_win ? 1 : 0);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingHpRegen.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingHpRegen.java
index f90a5fa431..dc0a8f17c3 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingHpRegen.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingHpRegen.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format (ch)dddcccd d: cahacter oid d: time left d: fish hp c: c: c: 00 if fish gets damage 02 if fish regens d:
* @author -Wooden-
*/
-public class ExFishingHpRegen extends GameServerPacket
+public class ExFishingHpRegen implements IClientOutgoingPacket
{
private final Creature _creature;
private final int _time;
@@ -45,23 +47,19 @@ public class ExFishingHpRegen extends GameServerPacket
_hpBarColor = hpBarColor;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x16);
+ OutgoingPackets.EX_FISHING_HP_REGEN.writeId(packet);
- writeD(_creature.getObjectId());
- writeD(_time);
- writeD(_fishHP);
- writeC(_hpMode); // 0 = HP stop, 1 = HP raise
- writeC(_goodUse); // 0 = none, 1 = success, 2 = failed
- writeC(_anim); // Anim: 0 = none, 1 = reeling, 2 = pumping
- writeD(_penalty); // Penalty
- writeC(_hpBarColor); // 0 = normal hp bar, 1 = purple hp bar
+ packet.writeD(_creature.getObjectId());
+ packet.writeD(_time);
+ packet.writeD(_fishHP);
+ packet.writeC(_hpMode); // 0 = HP stop, 1 = HP raise
+ packet.writeC(_goodUse); // 0 = none, 1 = success, 2 = failed
+ packet.writeC(_anim); // Anim: 0 = none, 1 = reeling, 2 = pumping
+ packet.writeD(_penalty); // Penalty
+ packet.writeC(_hpBarColor); // 0 = normal hp bar, 1 = purple hp bar
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingStart.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingStart.java
index 0e27dd0071..b37e997902 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingStart.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingStart.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format (ch)ddddd
* @author -Wooden-
*/
-public class ExFishingStart extends GameServerPacket
+public class ExFishingStart implements IClientOutgoingPacket
{
private final Creature _creature;
private final int _x;
@@ -42,23 +44,19 @@ public class ExFishingStart extends GameServerPacket
_isNightLure = isNightLure;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x13);
- writeD(_creature.getObjectId());
- writeD(_fishType); // fish type
- writeD(_x); // x poisson
- writeD(_y); // y poisson
- writeD(_z); // z poisson
- writeC(0x00); // night lure
- writeC(0x00); // ??
- writeC((_fishType >= 7) && (_fishType <= 9) ? 0x01 : 0x00); // 0 = day lure 1 = night lure
- writeC(0x00);
+ OutgoingPackets.EX_FISHING_START.writeId(packet);
+ packet.writeD(_creature.getObjectId());
+ packet.writeD(_fishType); // fish type
+ packet.writeD(_x); // x poisson
+ packet.writeD(_y); // y poisson
+ packet.writeD(_z); // z poisson
+ packet.writeC(0x00); // night lure
+ packet.writeC(0x00); // ??
+ packet.writeC((_fishType >= 7) && (_fishType <= 9) ? 0x01 : 0x00); // 0 = day lure 1 = night lure
+ packet.writeC(0x00);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingStartCombat.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingStartCombat.java
index 243c87417c..bf91a478d8 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingStartCombat.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExFishingStartCombat.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format (ch)dddcc
* @author -Wooden-
*/
-public class ExFishingStartCombat extends GameServerPacket
+public class ExFishingStartCombat implements IClientOutgoingPacket
{
private final Creature _creature;
private final int _time;
@@ -41,21 +43,17 @@ public class ExFishingStartCombat extends GameServerPacket
_deceptiveMode = deceptiveMode;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x15);
+ OutgoingPackets.EX_FISHING_START_COMBAT.writeId(packet);
- writeD(_creature.getObjectId());
- writeD(_time);
- writeD(_hp);
- writeC(_mode); // mode: 0 = resting, 1 = fighting
- writeC(_lureType); // 0 = newbie lure, 1 = normal lure, 2 = night lure
- writeC(_deceptiveMode); // Fish Deceptive Mode: 0 = no, 1 = yes
+ packet.writeD(_creature.getObjectId());
+ packet.writeD(_time);
+ packet.writeD(_hp);
+ packet.writeC(_mode); // mode: 0 = resting, 1 = fighting
+ packet.writeC(_lureType); // 0 = newbie lure, 1 = normal lure, 2 = night lure
+ packet.writeC(_deceptiveMode); // Fish Deceptive Mode: 0 = no, 1 = yes
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExGetBossRecord.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExGetBossRecord.java
index b3905148e7..e7ae194a59 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExGetBossRecord.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExGetBossRecord.java
@@ -19,11 +19,14 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.Map;
import java.util.Map.Entry;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: ch ddd [ddd].
* @author KenM
*/
-public class ExGetBossRecord extends GameServerPacket
+public class ExGetBossRecord implements IClientOutgoingPacket
{
/** The _boss record info. */
private final Map _bossRecordInfo;
@@ -48,28 +51,28 @@ public class ExGetBossRecord extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x33);
- writeD(_ranking);
- writeD(_totalPoints);
+ OutgoingPackets.EX_GET_BOSS_RECORD.writeId(packet);
+ packet.writeD(_ranking);
+ packet.writeD(_totalPoints);
if (_bossRecordInfo == null)
{
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
}
else
{
- writeD(_bossRecordInfo.size());
+ packet.writeD(_bossRecordInfo.size());
for (Entry entry : _bossRecordInfo.entrySet())
{
- writeD(entry.getKey());
- writeD(entry.getValue());
- writeD(0x00); // ??
+ packet.writeD(entry.getKey());
+ packet.writeD(entry.getValue());
+ packet.writeD(0x00); // ??
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExHeroList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExHeroList.java
index 36270e85d2..7a5339cbdf 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExHeroList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExHeroList.java
@@ -18,15 +18,17 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.Map;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.olympiad.Hero;
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format: (ch) d [SdSdSdd] d: size [ S: hero name d: hero class ID S: hero clan name d: hero clan crest id S: hero ally name d: hero Ally id d: count ]
* @author -Wooden- Format from KenM Re-written by godson
*/
-public class ExHeroList extends GameServerPacket
+public class ExHeroList implements IClientOutgoingPacket
{
private final Map _heroList;
@@ -36,21 +38,21 @@ public class ExHeroList extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x23);
- writeD(_heroList.size());
+ OutgoingPackets.EX_HERO_LIST.writeId(packet);
+ packet.writeD(_heroList.size());
for (StatSet hero : _heroList.values())
{
- writeS(hero.getString(Olympiad.CHAR_NAME));
- writeD(hero.getInt(Olympiad.CLASS_ID));
- writeS(hero.getString(Hero.CLAN_NAME, ""));
- writeD(hero.getInt(Hero.CLAN_CREST, 0));
- writeS(hero.getString(Hero.ALLY_NAME, ""));
- writeD(hero.getInt(Hero.ALLY_CREST, 0));
- writeD(hero.getInt(Hero.COUNT));
+ packet.writeS(hero.getString(Olympiad.CHAR_NAME));
+ packet.writeD(hero.getInt(Olympiad.CLASS_ID));
+ packet.writeS(hero.getString(Hero.CLAN_NAME, ""));
+ packet.writeD(hero.getInt(Hero.CLAN_CREST, 0));
+ packet.writeS(hero.getString(Hero.ALLY_NAME, ""));
+ packet.writeD(hero.getInt(Hero.ALLY_CREST, 0));
+ packet.writeD(hero.getInt(Hero.COUNT));
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExListPartyMatchingWaitingRoom.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExListPartyMatchingWaitingRoom.java
index 24176ad4a3..4bf76188d4 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExListPartyMatchingWaitingRoom.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExListPartyMatchingWaitingRoom.java
@@ -19,15 +19,17 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.partymatching.PartyMatchRoom;
import org.l2jmobius.gameserver.model.partymatching.PartyMatchRoomList;
import org.l2jmobius.gameserver.model.partymatching.PartyMatchWaitingList;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Gnacik
*/
-public class ExListPartyMatchingWaitingRoom extends GameServerPacket
+public class ExListPartyMatchingWaitingRoom implements IClientOutgoingPacket
{
private final PlayerInstance _player;
@SuppressWarnings("unused")
@@ -48,10 +50,9 @@ public class ExListPartyMatchingWaitingRoom extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x35);
+ OutgoingPackets.EX_LIST_PARTY_MATCHING_WAITING_ROOM.writeId(packet);
// If the mode is 0 and the activeChar isn't the PartyRoom leader, return an empty list.
if (_mode == 0)
@@ -60,9 +61,9 @@ public class ExListPartyMatchingWaitingRoom extends GameServerPacket
final PartyMatchRoom room = PartyMatchRoomList.getInstance().getRoom(_player.getPartyRoom());
if ((room != null) && (room.getOwner() != null) && !room.getOwner().equals(_player))
{
- writeD(0);
- writeD(0);
- return;
+ packet.writeD(0);
+ packet.writeD(0);
+ return true;
}
}
@@ -90,14 +91,15 @@ public class ExListPartyMatchingWaitingRoom extends GameServerPacket
int count = 0;
final int size = _members.size();
- writeD(1);
- writeD(size);
+ packet.writeD(1);
+ packet.writeD(size);
while (size > count)
{
- writeS(_members.get(count).getName());
- writeD(_members.get(count).getActiveClass());
- writeD(_members.get(count).getLevel());
+ packet.writeS(_members.get(count).getName());
+ packet.writeD(_members.get(count).getActiveClass());
+ packet.writeD(_members.get(count).getLevel());
count++;
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMPCCShowPartyMemberInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMPCCShowPartyMemberInfo.java
index 69a63e9d21..09d7a367cc 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMPCCShowPartyMemberInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMPCCShowPartyMemberInfo.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format: ch d[Sdd]
* @author KenM
*/
-public class ExMPCCShowPartyMemberInfo extends GameServerPacket
+public class ExMPCCShowPartyMemberInfo implements IClientOutgoingPacket
{
private final Party _party;
@@ -33,17 +35,17 @@ public class ExMPCCShowPartyMemberInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x4a);
+ OutgoingPackets.EX_MPCC_SHOW_PARTY_MEMBER_INFO.writeId(packet);
- writeD(_party.getMemberCount());
+ packet.writeD(_party.getMemberCount());
for (PlayerInstance pc : _party.getPartyMembers())
{
- writeS(pc.getName());
- writeD(pc.getObjectId());
- writeD(pc.getClassId().getId());
+ packet.writeS(pc.getName());
+ packet.writeD(pc.getObjectId());
+ packet.writeD(pc.getClassId().getId());
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMailArrived.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMailArrived.java
index 8b9a564dd0..7184c63000 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMailArrived.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMailArrived.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Fromat: (ch) (just a trigger)
* @author -Wooden-
*/
-public class ExMailArrived extends GameServerPacket
+public class ExMailArrived implements IClientOutgoingPacket
{
public static final ExMailArrived STATIC_PACKET = new ExMailArrived();
@@ -29,9 +32,9 @@ public class ExMailArrived extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x2d);
+ OutgoingPackets.EX_MAIL_ARRIVED.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExManagePartyRoomMember.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExManagePartyRoomMember.java
index 7f314c1dc5..f4302c96b4 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExManagePartyRoomMember.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExManagePartyRoomMember.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.MapRegionData;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.partymatching.PartyMatchRoom;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Gnacik Mode : 0 - add 1 - modify 2 - quit
*/
-public class ExManagePartyRoomMember extends GameServerPacket
+public class ExManagePartyRoomMember implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final PartyMatchRoom _room;
@@ -37,27 +39,27 @@ public class ExManagePartyRoomMember extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x10);
- writeD(_mode);
- writeD(_player.getObjectId());
- writeS(_player.getName());
- writeD(_player.getActiveClass());
- writeD(_player.getLevel());
- writeD(MapRegionData.getInstance().getClosestLocation(_player.getX(), _player.getY()));
+ OutgoingPackets.EX_MANAGE_PARTY_ROOM_MEMBER.writeId(packet);
+ packet.writeD(_mode);
+ packet.writeD(_player.getObjectId());
+ packet.writeS(_player.getName());
+ packet.writeD(_player.getActiveClass());
+ packet.writeD(_player.getLevel());
+ packet.writeD(MapRegionData.getInstance().getClosestLocation(_player.getX(), _player.getY()));
if (_room.getOwner().equals(_player))
{
- writeD(1);
+ packet.writeD(1);
}
else if ((_room.getOwner().isInParty() && _player.isInParty()) && (_room.getOwner().getParty().getPartyLeaderOID() == _player.getParty().getPartyLeaderOID()))
{
- writeD(2);
+ packet.writeD(2);
}
else
{
- writeD(0);
+ packet.writeD(0);
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java
index f87d6d227c..88bc3c383e 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExMultiPartyCommandChannelInfo.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.CommandChannel;
import org.l2jmobius.gameserver.model.Party;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author chris_00 ch sdd d[sdd]
*/
-public class ExMultiPartyCommandChannelInfo extends GameServerPacket
+public class ExMultiPartyCommandChannelInfo implements IClientOutgoingPacket
{
private final CommandChannel _channel;
@@ -32,26 +34,26 @@ public class ExMultiPartyCommandChannelInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
if (_channel == null)
{
- return;
+ return false;
}
- writeC(0xfe);
- writeH(0x30);
+ OutgoingPackets.EX_MULTI_PARTY_COMMAND_CHANNEL_INFO.writeId(packet);
- writeS(_channel.getChannelLeader().getName());
- // writeD(0); // Channel loot
- writeD(_channel.getMemberCount());
+ packet.writeS(_channel.getChannelLeader().getName());
+ // packet.writeD(0); // Channel loot
+ packet.writeD(_channel.getMemberCount());
- writeD(_channel.getParties().size());
+ packet.writeD(_channel.getParties().size());
for (Party p : _channel.getParties())
{
- writeS(p.getLeader().getName());
- // writeD(p.getPartyLeaderOID());
- writeD(p.getMemberCount());
+ packet.writeS(p.getLeader().getName());
+ // packet.writeD(p.getPartyLeaderOID());
+ packet.writeD(p.getMemberCount());
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadMode.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadMode.java
index 2334aec372..a83eaa02e0 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadMode.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadMode.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
* @author godson
*/
-public class ExOlympiadMode extends GameServerPacket
+public class ExOlympiadMode implements IClientOutgoingPacket
{
private static int _mode;
private final PlayerInstance _player;
@@ -38,11 +40,11 @@ public class ExOlympiadMode extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
if (_player == null)
{
- return;
+ return false;
}
if (_mode == 3)
@@ -50,8 +52,8 @@ public class ExOlympiadMode extends GameServerPacket
_player.setObserverMode(true);
}
- writeC(0xfe);
- writeH(0x2b);
- writeC(_mode);
+ OutgoingPackets.EX_OLYMPIAD_MODE.writeId(packet);
+ packet.writeC(_mode);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadSpelledInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadSpelledInfo.java
index 20b5c6795f..1bae7884ef 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadSpelledInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadSpelledInfo.java
@@ -19,13 +19,15 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
* @author godson
*/
-public class ExOlympiadSpelledInfo extends GameServerPacket
+public class ExOlympiadSpelledInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final List _effects;
@@ -56,21 +58,21 @@ public class ExOlympiadSpelledInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
if (_player == null)
{
- return;
+ return false;
}
- writeC(0xfe);
- writeH(0x2a);
- writeD(_player.getObjectId());
- writeD(_effects.size());
+ OutgoingPackets.EX_OLYMPIAD_SPELLED_INFO.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeD(_effects.size());
for (Effect temp : _effects)
{
- writeD(temp._skillId);
- writeH(temp._level);
- writeD(temp._duration / 1000);
+ packet.writeD(temp._skillId);
+ packet.writeH(temp._level);
+ packet.writeD(temp._duration / 1000);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadUserInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadUserInfo.java
index ce275ff71e..d032b583f8 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadUserInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOlympiadUserInfo.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
* @author godson
*/
-public class ExOlympiadUserInfo extends GameServerPacket
+public class ExOlympiadUserInfo implements IClientOutgoingPacket
{
private final int _side;
private final PlayerInstance _player;
@@ -38,21 +40,21 @@ public class ExOlympiadUserInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
if (_player == null)
{
- return;
+ return false;
}
- writeC(0xfe);
- writeH(0x29);
- writeC(_side);
- writeD(_player.getObjectId());
- writeS(_player.getName());
- writeD(_player.getClassId().getId());
- writeD((int) _player.getCurrentHp());
- writeD(_player.getMaxHp());
- writeD((int) _player.getCurrentCp());
- writeD(_player.getMaxCp());
+ OutgoingPackets.EX_OLYMPIAD_USER_INFO.writeId(packet);
+ packet.writeC(_side);
+ packet.writeD(_player.getObjectId());
+ packet.writeS(_player.getName());
+ packet.writeD(_player.getClassId().getId());
+ packet.writeD((int) _player.getCurrentHp());
+ packet.writeD(_player.getMaxHp());
+ packet.writeD((int) _player.getCurrentCp());
+ packet.writeD(_player.getMaxCp());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOpenMPCC.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOpenMPCC.java
index 4b8a22cb33..80afb96478 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOpenMPCC.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExOpenMPCC.java
@@ -16,15 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author chris_00 opens the CommandChannel Information window
*/
-public class ExOpenMPCC extends GameServerPacket
+public class ExOpenMPCC implements IClientOutgoingPacket
{
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x25);
+ OutgoingPackets.EX_OPEN_MPCC.writeId(packet);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPCCafePointInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPCCafePointInfo.java
index 680cfa09c2..e8630b707b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPCCafePointInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPCCafePointInfo.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author KenM
*/
-public class ExPCCafePointInfo extends GameServerPacket
+public class ExPCCafePointInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _addPoint;
@@ -61,14 +63,14 @@ public class ExPCCafePointInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x31);
- writeD(_player.getPcBangScore());
- writeD(_addPoint);
- writeC(_periodType);
- writeD(_remainTime);
- writeC(_pointType);
+ OutgoingPackets.EX_PC_CAFE_POINT_INFO.writeId(packet);
+ packet.writeD(_player.getPcBangScore());
+ packet.writeD(_addPoint);
+ packet.writeC(_periodType);
+ packet.writeD(_remainTime);
+ packet.writeC(_pointType);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPartyRoomMember.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPartyRoomMember.java
index 96b9c12710..6ca484f5e3 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPartyRoomMember.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPartyRoomMember.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.MapRegionData;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.partymatching.PartyMatchRoom;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Gnacik
*/
-public class ExPartyRoomMember extends GameServerPacket
+public class ExPartyRoomMember implements IClientOutgoingPacket
{
private final PartyMatchRoom _room;
private final int _mode;
@@ -35,31 +37,31 @@ public class ExPartyRoomMember extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x0e);
- writeD(_mode);
- writeD(_room.getMembers());
+ OutgoingPackets.EX_PARTY_ROOM_MEMBER.writeId(packet);
+ packet.writeD(_mode);
+ packet.writeD(_room.getMembers());
for (PlayerInstance member : _room.getPartyMembers())
{
- writeD(member.getObjectId());
- writeS(member.getName());
- writeD(member.getActiveClass());
- writeD(member.getLevel());
- writeD(MapRegionData.getInstance().getClosestLocation(member.getX(), member.getY()));
+ packet.writeD(member.getObjectId());
+ packet.writeS(member.getName());
+ packet.writeD(member.getActiveClass());
+ packet.writeD(member.getLevel());
+ packet.writeD(MapRegionData.getInstance().getClosestLocation(member.getX(), member.getY()));
if (_room.getOwner().equals(member))
{
- writeD(1);
+ packet.writeD(1);
}
else if ((_room.getOwner().isInParty() && member.isInParty()) && (_room.getOwner().getParty().getPartyLeaderOID() == member.getParty().getPartyLeaderOID()))
{
- writeD(2);
+ packet.writeD(2);
}
else
{
- writeD(0);
+ packet.writeD(0);
}
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPledgeCrestLarge.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPledgeCrestLarge.java
index 864a16a781..691633f5d7 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPledgeCrestLarge.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExPledgeCrestLarge.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch) ddd b d: ? d: crest ID d: crest size b: raw data
* @author -Wooden-
*/
-public class ExPledgeCrestLarge extends GameServerPacket
+public class ExPledgeCrestLarge implements IClientOutgoingPacket
{
private final int _crestId;
private final byte[] _data;
@@ -31,20 +34,16 @@ public class ExPledgeCrestLarge extends GameServerPacket
_data = data;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x28);
+ OutgoingPackets.EX_PLEDGE_CREST_LARGE.writeId(packet);
- writeD(0x00); // ???
- writeD(_crestId);
- writeD(_data.length);
+ packet.writeD(0x00); // ???
+ packet.writeD(_crestId);
+ packet.writeD(_data.length);
- writeB(_data);
+ packet.writeB(_data);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExQuestInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExQuestInfo.java
index 4e3a3bbb63..de584fae71 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExQuestInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExQuestInfo.java
@@ -16,20 +16,19 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: $ $Date: $
* @author Luca Baldi
*/
-public class ExQuestInfo extends GameServerPacket
+public class ExQuestInfo implements IClientOutgoingPacket
{
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x19);
+ OutgoingPackets.EX_QUEST_INFO.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRedSky.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRedSky.java
index a83e5a0b22..77c5c20e43 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRedSky.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRedSky.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: ch d.
* @author KenM
*/
-public class ExRedSky extends GameServerPacket
+public class ExRedSky implements IClientOutgoingPacket
{
/** The _duration. */
private final int _duration;
@@ -35,10 +38,10 @@ public class ExRedSky extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x40);
- writeD(_duration);
+ OutgoingPackets.EX_RED_SKY.writeId(packet);
+ packet.writeD(_duration);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRequestHackShield.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRequestHackShield.java
index a920cedbc6..242c8fd935 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRequestHackShield.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRequestHackShield.java
@@ -16,16 +16,19 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: ch Trigger packet.
* @author KenM
*/
-public class ExRequestHackShield extends GameServerPacket
+public class ExRequestHackShield implements IClientOutgoingPacket
{
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x48);
+ OutgoingPackets.EX_REQUEST_HACK_SHIELD.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRestartClient.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRestartClient.java
index fb4ec98d42..b4eedf52c9 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRestartClient.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExRestartClient.java
@@ -16,16 +16,19 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch).
* @author -Wooden-
*/
-public class ExRestartClient extends GameServerPacket
+public class ExRestartClient implements IClientOutgoingPacket
{
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x47);
+ OutgoingPackets.EX_RESTART_CLIENT.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExSendManorList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExSendManorList.java
index 801ca722f2..84dcdd3f94 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExSendManorList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExSendManorList.java
@@ -18,11 +18,14 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format : (h) d [dS] h sub id d: number of manors [ d: id S: manor name ]
* @author l3x
*/
-public class ExSendManorList extends GameServerPacket
+public class ExSendManorList implements IClientOutgoingPacket
{
private final List _manors;
@@ -32,16 +35,16 @@ public class ExSendManorList extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x1B);
- writeD(_manors.size());
+ OutgoingPackets.EX_SEND_MANOR_LIST.writeId(packet);
+ packet.writeD(_manors.size());
for (int i = 0; i < _manors.size(); i++)
{
final int j = i + 1;
- writeD(j);
- writeS(_manors.get(i));
+ packet.writeD(j);
+ packet.writeS(_manors.get(i));
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExServerPrimitive.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExServerPrimitive.java
index 7452958054..7044264a80 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExServerPrimitive.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExServerPrimitive.java
@@ -20,12 +20,15 @@ import java.awt.Color;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* A packet used to draw points and lines on client.
* Note: Names in points and lines are bugged they will appear even when not looking at them.
* @author NosBit
*/
-public class ExServerPrimitive extends GameServerPacket
+public class ExServerPrimitive implements IClientOutgoingPacket
{
private final String _name;
private final int _x;
@@ -165,49 +168,49 @@ public class ExServerPrimitive extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x24); // Changed at Kamael to 11
- writeS(_name);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(65535); // has to do something with display range and angle
- writeD(65535); // has to do something with display range and angle
+ OutgoingPackets.EX_SERVER_PRIMITIVE.writeId(packet);
+ packet.writeS(_name);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(65535); // has to do something with display range and angle
+ packet.writeD(65535); // has to do something with display range and angle
- writeD(_points.size() + _lines.size());
+ packet.writeD(_points.size() + _lines.size());
for (Point point : _points)
{
- writeC(1); // Its the type in this case Point
- writeS(point.getName());
+ packet.writeC(1); // Its the type in this case Point
+ packet.writeS(point.getName());
final int color = point.getColor();
- writeD((color >> 16) & 0xFF); // R
- writeD((color >> 8) & 0xFF); // G
- writeD(color & 0xFF); // B
- writeD(point.isNameColored() ? 1 : 0);
- writeD(point.getX());
- writeD(point.getY());
- writeD(point.getZ());
+ packet.writeD((color >> 16) & 0xFF); // R
+ packet.writeD((color >> 8) & 0xFF); // G
+ packet.writeD(color & 0xFF); // B
+ packet.writeD(point.isNameColored() ? 1 : 0);
+ packet.writeD(point.getX());
+ packet.writeD(point.getY());
+ packet.writeD(point.getZ());
}
for (Line line : _lines)
{
- writeC(2); // Its the type in this case Line
- writeS(line.getName());
+ packet.writeC(2); // Its the type in this case Line
+ packet.writeS(line.getName());
final int color = line.getColor();
- writeD((color >> 16) & 0xFF); // R
- writeD((color >> 8) & 0xFF); // G
- writeD(color & 0xFF); // B
- writeD(line.isNameColored() ? 1 : 0);
- writeD(line.getX());
- writeD(line.getY());
- writeD(line.getZ());
- writeD(line.getX2());
- writeD(line.getY2());
- writeD(line.getZ2());
+ packet.writeD((color >> 16) & 0xFF); // R
+ packet.writeD((color >> 8) & 0xFF); // G
+ packet.writeD(color & 0xFF); // B
+ packet.writeD(line.isNameColored() ? 1 : 0);
+ packet.writeD(line.getX());
+ packet.writeD(line.getY());
+ packet.writeD(line.getZ());
+ packet.writeD(line.getX2());
+ packet.writeD(line.getY2());
+ packet.writeD(line.getZ2());
}
+ return true;
}
private static class Point
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowAdventurerGuideBook.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowAdventurerGuideBook.java
index 52417a39fa..a155f10008 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowAdventurerGuideBook.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowAdventurerGuideBook.java
@@ -16,16 +16,19 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: ch (trigger).
* @author KenM
*/
-public class ExShowAdventurerGuideBook extends GameServerPacket
+public class ExShowAdventurerGuideBook implements IClientOutgoingPacket
{
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x37);
+ OutgoingPackets.EX_SHOW_ADVENTURER_GUIDE_BOOK.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowCropInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowCropInfo.java
index a6c2a9b3cc..0b71f2c32b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowCropInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowCropInfo.java
@@ -19,15 +19,17 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.ManorSeedData;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager.CropProcure;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format: ch cddd[ddddcdcdcd] c - id (0xFE) h - sub id (0x1D) c d - manor id d d - size [ d - crop id d - residual buy d - start buy d - buy price c - reward type d - seed level c - reward 1 items d - reward 1 item id c - reward 2 items d - reward 2 item id ]
* @author l3x
*/
-public class ExShowCropInfo extends GameServerPacket
+public class ExShowCropInfo implements IClientOutgoingPacket
{
private List _crops;
private final int _manorId;
@@ -43,26 +45,26 @@ public class ExShowCropInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE); // Id
- writeH(0x1D); // SubId
- writeC(0);
- writeD(_manorId); // Manor ID
- writeD(0);
- writeD(_crops.size());
+ OutgoingPackets.EX_SHOW_CROP_INFO.writeId(packet);
+ packet.writeC(0);
+ packet.writeD(_manorId); // Manor ID
+ packet.writeD(0);
+ packet.writeD(_crops.size());
for (CropProcure crop : _crops)
{
- writeD(crop.getId()); // Crop id
- writeD(crop.getAmount()); // Buy residual
- writeD(crop.getStartAmount()); // Buy
- writeD(crop.getPrice()); // Buy price
- writeC(crop.getReward()); // Reward
- writeD(ManorSeedData.getInstance().getSeedLevelByCrop(crop.getId())); // Seed Level
- writeC(1); // reward 1 Type
- writeD(ManorSeedData.getInstance().getRewardItem(crop.getId(), 1)); // Reward 1 Type Item Id
- writeC(1); // reward 2 Type
- writeD(ManorSeedData.getInstance().getRewardItem(crop.getId(), 2)); // Reward 2 Type Item Id
+ packet.writeD(crop.getId()); // Crop id
+ packet.writeD(crop.getAmount()); // Buy residual
+ packet.writeD(crop.getStartAmount()); // Buy
+ packet.writeD(crop.getPrice()); // Buy price
+ packet.writeC(crop.getReward()); // Reward
+ packet.writeD(ManorSeedData.getInstance().getSeedLevelByCrop(crop.getId())); // Seed Level
+ packet.writeC(1); // reward 1 Type
+ packet.writeD(ManorSeedData.getInstance().getRewardItem(crop.getId(), 1)); // Reward 1 Type Item Id
+ packet.writeC(1); // reward 2 Type
+ packet.writeD(ManorSeedData.getInstance().getRewardItem(crop.getId(), 2)); // Reward 2 Type Item Id
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowCropSetting.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowCropSetting.java
index 6fb9f5c5fa..bc6ef6f7ee 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowCropSetting.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowCropSetting.java
@@ -18,28 +18,25 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.ManorSeedData;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager.CropProcure;
import org.l2jmobius.gameserver.model.siege.Castle;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format(packet 0xFE) ch dd [ddcdcdddddddcddc] c - id h - sub id d - manor id d - size [ d - crop id d - seed level c d - reward 1 id c d - reward 2 id d - next sale limit d d - min crop price d - max crop price d - today buy d - today price c - today reward d - next buy d - next price c - next
* reward ]
* @author l3x
*/
-public class ExShowCropSetting extends GameServerPacket
+public class ExShowCropSetting implements IClientOutgoingPacket
{
private final int _manorId;
private final int _count;
private final int[] _cropData; // data to send, size:_count*14
- @Override
- public void runImpl()
- {
- }
-
public ExShowCropSetting(int manorId)
{
_manorId = manorId;
@@ -89,35 +86,35 @@ public class ExShowCropSetting extends GameServerPacket
}
@Override
- public void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE); // Id
- writeH(0x20); // SubId
+ OutgoingPackets.EX_SHOW_CROP_SETTING.writeId(packet);
- writeD(_manorId); // manor id
- writeD(_count); // size
+ packet.writeD(_manorId); // manor id
+ packet.writeD(_count); // size
for (int i = 0; i < _count; i++)
{
- writeD(_cropData[(i * 14) + 0]); // crop id
- writeD(_cropData[(i * 14) + 1]); // seed level
- writeC(1);
- writeD(_cropData[(i * 14) + 2]); // reward 1 id
- writeC(1);
- writeD(_cropData[(i * 14) + 3]); // reward 2 id
+ packet.writeD(_cropData[(i * 14) + 0]); // crop id
+ packet.writeD(_cropData[(i * 14) + 1]); // seed level
+ packet.writeC(1);
+ packet.writeD(_cropData[(i * 14) + 2]); // reward 1 id
+ packet.writeC(1);
+ packet.writeD(_cropData[(i * 14) + 3]); // reward 2 id
- writeD(_cropData[(i * 14) + 4]); // next sale limit
- writeD(_cropData[(i * 14) + 5]); // ???
- writeD(_cropData[(i * 14) + 6]); // min crop price
- writeD(_cropData[(i * 14) + 7]); // max crop price
+ packet.writeD(_cropData[(i * 14) + 4]); // next sale limit
+ packet.writeD(_cropData[(i * 14) + 5]); // ???
+ packet.writeD(_cropData[(i * 14) + 6]); // min crop price
+ packet.writeD(_cropData[(i * 14) + 7]); // max crop price
- writeD(_cropData[(i * 14) + 8]); // today buy
- writeD(_cropData[(i * 14) + 9]); // today price
- writeC(_cropData[(i * 14) + 10]); // today reward
+ packet.writeD(_cropData[(i * 14) + 8]); // today buy
+ packet.writeD(_cropData[(i * 14) + 9]); // today price
+ packet.writeC(_cropData[(i * 14) + 10]); // today reward
- writeD(_cropData[(i * 14) + 11]); // next buy
- writeD(_cropData[(i * 14) + 12]); // next price
- writeC(_cropData[(i * 14) + 13]); // next reward
+ packet.writeD(_cropData[(i * 14) + 11]); // next buy
+ packet.writeD(_cropData[(i * 14) + 12]); // next price
+ packet.writeC(_cropData[(i * 14) + 13]); // next reward
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowManorDefaultInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowManorDefaultInfo.java
index 640476d75d..c6d13727ac 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowManorDefaultInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowManorDefaultInfo.java
@@ -18,13 +18,15 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.ManorSeedData;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format(packet 0xFE) ch cd [ddddcdcd] c - id h - sub id c d - size [ d - level d - seed price d - seed level d - crop price c d - reward 1 id c d - reward 2 id ]
* @author l3x
*/
-public class ExShowManorDefaultInfo extends GameServerPacket
+public class ExShowManorDefaultInfo implements IClientOutgoingPacket
{
private List _crops = null;
@@ -34,22 +36,22 @@ public class ExShowManorDefaultInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x1E);
- writeC(0);
- writeD(_crops.size());
+ OutgoingPackets.EX_SHOW_MANOR_DEFAULT_INFO.writeId(packet);
+ packet.writeC(0);
+ packet.writeD(_crops.size());
for (int cropId : _crops)
{
- writeD(cropId); // crop Id
- writeD(ManorSeedData.getInstance().getSeedLevelByCrop(cropId)); // level
- writeD(ManorSeedData.getInstance().getSeedBasicPriceByCrop(cropId)); // seed price
- writeD(ManorSeedData.getInstance().getCropBasicPrice(cropId)); // crop price
- writeC(1); // reward 1 Type
- writeD(ManorSeedData.getInstance().getRewardItem(cropId, 1)); // Reward 1 Type Item Id
- writeC(1); // reward 2 Type
- writeD(ManorSeedData.getInstance().getRewardItem(cropId, 2)); // Reward 2 Type Item Id
+ packet.writeD(cropId); // crop Id
+ packet.writeD(ManorSeedData.getInstance().getSeedLevelByCrop(cropId)); // level
+ packet.writeD(ManorSeedData.getInstance().getSeedBasicPriceByCrop(cropId)); // seed price
+ packet.writeD(ManorSeedData.getInstance().getCropBasicPrice(cropId)); // crop price
+ packet.writeC(1); // reward 1 Type
+ packet.writeD(ManorSeedData.getInstance().getRewardItem(cropId, 1)); // Reward 1 Type Item Id
+ packet.writeC(1); // reward 2 Type
+ packet.writeD(ManorSeedData.getInstance().getRewardItem(cropId, 2)); // Reward 2 Type Item Id
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowProcureCropDetail.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowProcureCropDetail.java
index 636edb9f45..047367b3cb 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowProcureCropDetail.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowProcureCropDetail.java
@@ -20,16 +20,18 @@ import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager.CropProcure;
import org.l2jmobius.gameserver.model.siege.Castle;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format(packet 0xFE) ch dd [dddc] c - id h - sub id d - crop id d - size [ d - manor name d - buy residual d - buy price c - reward type ]
* @author l3x
*/
-public class ExShowProcureCropDetail extends GameServerPacket
+public class ExShowProcureCropDetail implements IClientOutgoingPacket
{
private final int _cropId;
private final Map _castleCrops;
@@ -49,26 +51,21 @@ public class ExShowProcureCropDetail extends GameServerPacket
}
@Override
- public void runImpl()
+ public boolean write(PacketWriter packet)
{
- }
-
- @Override
- public void writeImpl()
- {
- writeC(0xFE);
- writeH(0x22);
+ OutgoingPackets.EX_SHOW_PROCURE_CROP_DETAIL.writeId(packet);
- writeD(_cropId); // crop id
- writeD(_castleCrops.size()); // size
+ packet.writeD(_cropId); // crop id
+ packet.writeD(_castleCrops.size()); // size
for (Entry entry : _castleCrops.entrySet())
{
final CropProcure crop = entry.getValue();
- writeD(entry.getKey()); // manor name
- writeD(crop.getAmount()); // buy residual
- writeD(crop.getPrice()); // buy price
- writeC(crop.getReward()); // reward type
+ packet.writeD(entry.getKey()); // manor name
+ packet.writeD(crop.getAmount()); // buy residual
+ packet.writeD(crop.getPrice()); // buy price
+ packet.writeC(crop.getReward()); // reward type
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowQuestMark.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowQuestMark.java
index 5af2acdea1..93eebbf908 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowQuestMark.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowQuestMark.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author Luca Baldi
*/
-public class ExShowQuestMark extends GameServerPacket
+public class ExShowQuestMark implements IClientOutgoingPacket
{
private final int _questId;
@@ -28,15 +31,11 @@ public class ExShowQuestMark extends GameServerPacket
_questId = questId;
}
- /**
- * @see org.l2jmobius.gameserver.network.serverpackets.GameServerPacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- // TODO Auto-generated method stub
- writeC(0xfe);
- writeH(0x1a);
- writeD(_questId);
+ OutgoingPackets.EX_SHOW_QUEST_MARK.writeId(packet);
+ packet.writeD(_questId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowScreenMessage.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowScreenMessage.java
index 8f34bb863f..5c5791e742 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowScreenMessage.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowScreenMessage.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author Kerberos
*/
-public class ExShowScreenMessage extends GameServerPacket
+public class ExShowScreenMessage implements IClientOutgoingPacket
{
private final int _type;
private final int _sysMessageId;
@@ -64,20 +67,20 @@ public class ExShowScreenMessage extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x38);
- writeD(_type); // 0 - system messages, 1 - your defined text
- writeD(_sysMessageId); // system message id (_type must be 0 otherwise no effect)
- writeD(_position); // message position
- writeD(_unk1); // ?
- writeD(_size); // font size 0 - normal, 1 - small
- writeD(_unk2); // ?
- writeD(_unk3); // ?
- writeD(_effect ? 1 : 0); // upper effect (0 - disabled, 1 enabled) - _position must be 2 (center) otherwise no effect
- writeD(_time); // time
- writeD(_unk4); // ?
- writeS(_text); // your text (_type must be 1, otherwise no effect)
+ OutgoingPackets.EX_SHOW_SCREEN_MESSAGE.writeId(packet);
+ packet.writeD(_type); // 0 - system messages, 1 - your defined text
+ packet.writeD(_sysMessageId); // system message id (_type must be 0 otherwise no effect)
+ packet.writeD(_position); // message position
+ packet.writeD(_unk1); // ?
+ packet.writeD(_size); // font size 0 - normal, 1 - small
+ packet.writeD(_unk2); // ?
+ packet.writeD(_unk3); // ?
+ packet.writeD(_effect ? 1 : 0); // upper effect (0 - disabled, 1 enabled) - _position must be 2 (center) otherwise no effect
+ packet.writeD(_time); // time
+ packet.writeD(_unk4); // ?
+ packet.writeS(_text); // your text (_type must be 1, otherwise no effect)
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSeedInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSeedInfo.java
index 0532dc5815..7d90b0e3b8 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSeedInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSeedInfo.java
@@ -19,14 +19,16 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.ManorSeedData;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager.SeedProduction;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format(packet 0xFE) ch ddd [dddddcdcd] c - id h - sub id d - manor id d d - size [ d - seed id d - left to buy d - started amount d - sell price d - seed level c d - reward 1 id c d - reward 2 id ]
* @author l3x
*/
-public class ExShowSeedInfo extends GameServerPacket
+public class ExShowSeedInfo implements IClientOutgoingPacket
{
private List _seeds;
private final int _manorId;
@@ -42,25 +44,25 @@ public class ExShowSeedInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE); // Id
- writeH(0x1C); // SubId
- writeC(0);
- writeD(_manorId); // Manor ID
- writeD(0);
- writeD(_seeds.size());
+ OutgoingPackets.EX_SHOW_SEED_INFO.writeId(packet);
+ packet.writeC(0);
+ packet.writeD(_manorId); // Manor ID
+ packet.writeD(0);
+ packet.writeD(_seeds.size());
for (SeedProduction seed : _seeds)
{
- writeD(seed.getId()); // Seed id
- writeD(seed.getCanProduce()); // Left to buy
- writeD(seed.getStartProduce()); // Started amount
- writeD(seed.getPrice()); // Sell Price
- writeD(ManorSeedData.getInstance().getSeedLevel(seed.getId())); // Seed Level
- writeC(1); // reward 1 Type
- writeD(ManorSeedData.getInstance().getRewardItemBySeed(seed.getId(), 1)); // Reward 1 Type Item Id
- writeC(1); // reward 2 Type
- writeD(ManorSeedData.getInstance().getRewardItemBySeed(seed.getId(), 2)); // Reward 2 Type Item Id
+ packet.writeD(seed.getId()); // Seed id
+ packet.writeD(seed.getCanProduce()); // Left to buy
+ packet.writeD(seed.getStartProduce()); // Started amount
+ packet.writeD(seed.getPrice()); // Sell Price
+ packet.writeD(ManorSeedData.getInstance().getSeedLevel(seed.getId())); // Seed Level
+ packet.writeC(1); // reward 1 Type
+ packet.writeD(ManorSeedData.getInstance().getRewardItemBySeed(seed.getId(), 1)); // Reward 1 Type Item Id
+ packet.writeC(1); // reward 2 Type
+ packet.writeD(ManorSeedData.getInstance().getRewardItemBySeed(seed.getId(), 2)); // Reward 2 Type Item Id
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSeedSetting.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSeedSetting.java
index 140ee01f0c..cf42f8ae05 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSeedSetting.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSeedSetting.java
@@ -18,27 +18,24 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.ManorSeedData;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager.SeedProduction;
import org.l2jmobius.gameserver.model.siege.Castle;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format(packet 0xFE) ch dd [ddcdcdddddddd] c - id h - sub id d - manor id d - size [ d - seed id d - level c d - reward 1 id c d - reward 2 id d - next sale limit d - price for castle to produce 1 d - min seed price d - max seed price d - today sales d - today price d - next sales d - next price ]
* @author l3x
*/
-public class ExShowSeedSetting extends GameServerPacket
+public class ExShowSeedSetting implements IClientOutgoingPacket
{
private final int _manorId;
private final int _count;
private final int[] _seedData; // data to send, size:_count*12
- @Override
- public void runImpl()
- {
- }
-
public ExShowSeedSetting(int manorId)
{
_manorId = manorId;
@@ -84,32 +81,32 @@ public class ExShowSeedSetting extends GameServerPacket
}
@Override
- public void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE); // Id
- writeH(0x1F); // SubId
+ OutgoingPackets.EX_SHOW_SEED_SETTING.writeId(packet);
- writeD(_manorId); // manor id
- writeD(_count); // size
+ packet.writeD(_manorId); // manor id
+ packet.writeD(_count); // size
for (int i = 0; i < _count; i++)
{
- writeD(_seedData[(i * 12) + 0]); // seed id
- writeD(_seedData[(i * 12) + 1]); // level
- writeC(1);
- writeD(_seedData[(i * 12) + 2]); // reward 1 id
- writeC(1);
- writeD(_seedData[(i * 12) + 3]); // reward 2 id
+ packet.writeD(_seedData[(i * 12) + 0]); // seed id
+ packet.writeD(_seedData[(i * 12) + 1]); // level
+ packet.writeC(1);
+ packet.writeD(_seedData[(i * 12) + 2]); // reward 1 id
+ packet.writeC(1);
+ packet.writeD(_seedData[(i * 12) + 3]); // reward 2 id
- writeD(_seedData[(i * 12) + 4]); // next sale limit
- writeD(_seedData[(i * 12) + 5]); // price for castle to produce 1
- writeD(_seedData[(i * 12) + 6]); // min seed price
- writeD(_seedData[(i * 12) + 7]); // max seed price
+ packet.writeD(_seedData[(i * 12) + 4]); // next sale limit
+ packet.writeD(_seedData[(i * 12) + 5]); // price for castle to produce 1
+ packet.writeD(_seedData[(i * 12) + 6]); // min seed price
+ packet.writeD(_seedData[(i * 12) + 7]); // max seed price
- writeD(_seedData[(i * 12) + 8]); // today sales
- writeD(_seedData[(i * 12) + 9]); // today price
- writeD(_seedData[(i * 12) + 10]); // next sales
- writeD(_seedData[(i * 12) + 11]); // next price
+ packet.writeD(_seedData[(i * 12) + 8]); // today sales
+ packet.writeD(_seedData[(i * 12) + 9]); // today price
+ packet.writeD(_seedData[(i * 12) + 10]); // next sales
+ packet.writeD(_seedData[(i * 12) + 11]); // next price
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSellCropList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSellCropList.java
index e02d1ae4e0..d961017809 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSellCropList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSellCropList.java
@@ -20,17 +20,19 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.ManorSeedData;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager.CropProcure;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format(packet 0xFE) ch dd [ddddcdcdddc] c - id h - sub id d - manor id d - size [ d - Object id d - crop id d - seed level c d - reward 1 id c d - reward 2 id d - manor d - buy residual d - buy price d - reward ]
* @author l3x
*/
-public class ExShowSellCropList extends GameServerPacket
+public class ExShowSellCropList implements IClientOutgoingPacket
{
private int _manorId = 1;
private final Map _cropsItems;
@@ -62,46 +64,40 @@ public class ExShowSellCropList extends GameServerPacket
}
@Override
- public void runImpl()
+ public boolean write(PacketWriter packet)
{
- // no long running
- }
-
- @Override
- public void writeImpl()
- {
- writeC(0xFE);
- writeH(0x21);
+ OutgoingPackets.EX_SHOW_SELL_CROP_LIST.writeId(packet);
- writeD(_manorId); // manor id
- writeD(_cropsItems.size()); // size
+ packet.writeD(_manorId); // manor id
+ packet.writeD(_cropsItems.size()); // size
for (ItemInstance item : _cropsItems.values())
{
- writeD(item.getObjectId()); // Object id
- writeD(item.getItemId()); // crop id
- writeD(ManorSeedData.getInstance().getSeedLevelByCrop(item.getItemId())); // seed level
- writeC(1);
- writeD(ManorSeedData.getInstance().getRewardItem(item.getItemId(), 1)); // reward 1 id
- writeC(1);
- writeD(ManorSeedData.getInstance().getRewardItem(item.getItemId(), 2)); // reward 2 id
+ packet.writeD(item.getObjectId()); // Object id
+ packet.writeD(item.getItemId()); // crop id
+ packet.writeD(ManorSeedData.getInstance().getSeedLevelByCrop(item.getItemId())); // seed level
+ packet.writeC(1);
+ packet.writeD(ManorSeedData.getInstance().getRewardItem(item.getItemId(), 1)); // reward 1 id
+ packet.writeC(1);
+ packet.writeD(ManorSeedData.getInstance().getRewardItem(item.getItemId(), 2)); // reward 2 id
if (_castleCrops.containsKey(item.getItemId()))
{
final CropProcure crop = _castleCrops.get(item.getItemId());
- writeD(_manorId); // manor
- writeD(crop.getAmount()); // buy residual
- writeD(crop.getPrice()); // buy price
- writeC(crop.getReward()); // reward
+ packet.writeD(_manorId); // manor
+ packet.writeD(crop.getAmount()); // buy residual
+ packet.writeD(crop.getPrice()); // buy price
+ packet.writeC(crop.getReward()); // reward
}
else
{
- writeD(0xFFFFFFFF); // manor
- writeD(0); // buy residual
- writeD(0); // buy price
- writeC(0); // reward
+ packet.writeD(0xFFFFFFFF); // manor
+ packet.writeD(0); // buy residual
+ packet.writeD(0); // buy price
+ packet.writeC(0); // reward
}
- writeD(item.getCount()); // my crops
+ packet.writeD(item.getCount()); // my crops
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSlideshowKamael.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSlideshowKamael.java
index e464f3a92b..41f52ce6d7 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSlideshowKamael.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowSlideshowKamael.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: ch
* @author devScarlet & mrTJO
*/
-public class ExShowSlideshowKamael extends GameServerPacket
+public class ExShowSlideshowKamael implements IClientOutgoingPacket
{
public static final ExShowSlideshowKamael STATIC_PACKET = new ExShowSlideshowKamael();
@@ -29,9 +32,9 @@ public class ExShowSlideshowKamael extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x5b);
+ OutgoingPackets.EX_SHOW_SLIDESHOW_KAMAEL.writeId(packet);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowVariationCancelWindow.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowVariationCancelWindow.java
index 22a68e7a3c..046557e371 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowVariationCancelWindow.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowVariationCancelWindow.java
@@ -16,16 +16,19 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: ch Trigger packet.
* @author KenM
*/
-public class ExShowVariationCancelWindow extends GameServerPacket
+public class ExShowVariationCancelWindow implements IClientOutgoingPacket
{
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x51);
+ OutgoingPackets.EX_SHOW_VARIATION_CANCEL_WINDOW.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowVariationMakeWindow.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowVariationMakeWindow.java
index 721c890624..cd6d60b482 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowVariationMakeWindow.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExShowVariationMakeWindow.java
@@ -16,16 +16,19 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: ch Trigger packet.
* @author KenM
*/
-public class ExShowVariationMakeWindow extends GameServerPacket
+public class ExShowVariationMakeWindow implements IClientOutgoingPacket
{
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x50);
+ OutgoingPackets.EX_SHOW_VARIATION_MAKE_WINDOW.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExStorageMaxCount.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExStorageMaxCount.java
index 3e9eb52e36..12ab975e64 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExStorageMaxCount.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExStorageMaxCount.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format: (ch)ddddddd d: Number of Inventory Slots d: Number of Warehouse Slots d: Number of Freight Slots (unconfirmed) (200 for a low level dwarf) d: Private Sell Store Slots (unconfirmed) (4 for a low level dwarf) d: Private Buy Store Slots (unconfirmed) (5 for a low level dwarf) d: Dwarven
* Recipe Book Slots d: Normal Recipe Book Slots
* @author -Wooden- format from KenM
*/
-public class ExStorageMaxCount extends GameServerPacket
+public class ExStorageMaxCount implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _inventory;
@@ -46,22 +48,18 @@ public class ExStorageMaxCount extends GameServerPacket
_recipe = _player.getCommonRecipeLimit();
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x2e);
+ OutgoingPackets.EX_STORAGE_MAX_COUNT.writeId(packet);
- writeD(_inventory);
- writeD(_warehouse);
- writeD(_freight);
- writeD(_privateSell);
- writeD(_privateBuy);
- writeD(_receipeD);
- writeD(_recipe);
+ packet.writeD(_inventory);
+ packet.writeD(_warehouse);
+ packet.writeD(_freight);
+ packet.writeD(_privateSell);
+ packet.writeD(_privateBuy);
+ packet.writeD(_receipeD);
+ packet.writeD(_recipe);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationCancelResult.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationCancelResult.java
index 691c0cded8..f9fd99f0ea 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationCancelResult.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationCancelResult.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch)ddd.
*/
-public class ExVariationCancelResult extends GameServerPacket
+public class ExVariationCancelResult implements IClientOutgoingPacket
{
/** The _close window. */
private final int _closeWindow;
@@ -38,11 +41,11 @@ public class ExVariationCancelResult extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x57);
- writeD(_closeWindow);
- writeD(_unk1);
+ OutgoingPackets.EX_VARIATION_CANCEL_RESULT.writeId(packet);
+ packet.writeD(_closeWindow);
+ packet.writeD(_unk1);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java
index 2cbb06745e..6e8bd5de5f 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ExVariationResult.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch)ddd.
*/
-public class ExVariationResult extends GameServerPacket
+public class ExVariationResult implements IClientOutgoingPacket
{
/** The _stat12. */
private final int _stat12;
@@ -44,12 +47,12 @@ public class ExVariationResult extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x55);
- writeD(_stat12);
- writeD(_stat34);
- writeD(_unk3);
+ OutgoingPackets.EX_VARIATION_RESULT.writeId(packet);
+ packet.writeD(_stat12);
+ packet.writeD(_stat34);
+ packet.writeD(_unk3);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FakePlayerInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FakePlayerInfo.java
index dffb3339f6..223896fc0c 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FakePlayerInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FakePlayerInfo.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.PlayerTemplateData;
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class FakePlayerInfo extends GameServerPacket
+public class FakePlayerInfo implements IClientOutgoingPacket
{
private final NpcInstance _activeChar;
@@ -32,81 +34,83 @@ public class FakePlayerInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x03);
- writeD(_activeChar.getX());
- writeD(_activeChar.getY());
- writeD(_activeChar.getZ());
- writeD(_activeChar.getHeading());
- writeD(_activeChar.getObjectId());
- writeS(_activeChar.getFakePlayerInstance().getName());
- writeD(_activeChar.getFakePlayerInstance().getRace());
- writeD(_activeChar.getFakePlayerInstance().isFemaleSex() ? 1 : 0);
- writeD(_activeChar.getFakePlayerInstance().getClassId());
- writeD(0);
- writeD(0);
- writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_RHAND());
- writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_LHAND());
- writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_GLOVES());
- writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_CHEST());
- writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_LEGS());
- writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_FEET());
- writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_HAIR());
- writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_RHAND());
- writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_HAIR());
+ OutgoingPackets.CHAR_INFO.writeId(packet);
- writeD(_activeChar.getFakePlayerInstance().getPvpFlag() ? 1 : 0);
- writeD(_activeChar.getFakePlayerInstance().getKarma());
- writeD(_activeChar.getMAtkSpd());
- writeD(_activeChar.getPAtkSpd());
- writeD(_activeChar.getFakePlayerInstance().getPvpFlag() ? 1 : 0);
- writeD(_activeChar.getFakePlayerInstance().getKarma());
- writeD(_activeChar.getRunSpeed());
- writeD(_activeChar.getRunSpeed() / 2);
- writeD(_activeChar.getRunSpeed() / 3);
- writeD(_activeChar.getRunSpeed() / 3);
- writeD(_activeChar.getRunSpeed());
- writeD(_activeChar.getRunSpeed());
- writeD(_activeChar.getRunSpeed());
- writeD(_activeChar.getRunSpeed());
- writeF(_activeChar.getStat().getMovementSpeedMultiplier());
- writeF(_activeChar.getStat().getAttackSpeedMultiplier());
- writeF(PlayerTemplateData.getInstance().getTemplate(_activeChar.getFakePlayerInstance().getClassId()).getCollisionRadius());
- writeF(PlayerTemplateData.getInstance().getTemplate(_activeChar.getFakePlayerInstance().getClassId()).getCollisionHeight());
- writeD(_activeChar.getFakePlayerInstance().getHairStyle());
- writeD(_activeChar.getFakePlayerInstance().getHairColor());
- writeD(_activeChar.getFakePlayerInstance().getFace());
- writeS(_activeChar.getFakePlayerInstance().getTitle());
- writeD(_activeChar.getFakePlayerInstance().getClanId());
- writeD(_activeChar.getFakePlayerInstance().getClanCrestId());
- writeD(_activeChar.getFakePlayerInstance().getAllyId());
- writeD(_activeChar.getFakePlayerInstance().getAllyCrestId());
- writeD(0);
- writeC(1);
- writeC(_activeChar.isRunning() ? 1 : 0);
- writeC(_activeChar.isInCombat() ? 1 : 0);
- writeC(_activeChar.isAlikeDead() ? 1 : 0);
- writeC(0);
- writeC(0);
- writeC(0);
- writeH(0);
- writeC(0);
- writeD(_activeChar.getAbnormalEffect());
- writeC(0);
- writeH(0);
- writeD(_activeChar.getFakePlayerInstance().getClassId());
- writeD(_activeChar.getMaxCp());
- writeD((int) _activeChar.getStatus().getCurrentCp());
- writeC(_activeChar.getFakePlayerInstance().getEnchantWeapon());
- writeC(0);
- writeD(0); // clan crest
- writeC(_activeChar.getFakePlayerInstance().isNoble() ? 1 : 0);
- writeC(_activeChar.getFakePlayerInstance().isHero() ? 1 : 0);
- writeC(0);
- writeD(0);
- writeD(0);
- writeD(0);
- writeD(_activeChar.getFakePlayerInstance().nameColor());
+ packet.writeD(_activeChar.getX());
+ packet.writeD(_activeChar.getY());
+ packet.writeD(_activeChar.getZ());
+ packet.writeD(_activeChar.getHeading());
+ packet.writeD(_activeChar.getObjectId());
+ packet.writeS(_activeChar.getFakePlayerInstance().getName());
+ packet.writeD(_activeChar.getFakePlayerInstance().getRace());
+ packet.writeD(_activeChar.getFakePlayerInstance().isFemaleSex() ? 1 : 0);
+ packet.writeD(_activeChar.getFakePlayerInstance().getClassId());
+ packet.writeD(0);
+ packet.writeD(0);
+ packet.writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_RHAND());
+ packet.writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_LHAND());
+ packet.writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_GLOVES());
+ packet.writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_CHEST());
+ packet.writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_LEGS());
+ packet.writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_FEET());
+ packet.writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_HAIR());
+ packet.writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_RHAND());
+ packet.writeD(_activeChar.getFakePlayerInstance().PAPERDOLL_HAIR());
+
+ packet.writeD(_activeChar.getFakePlayerInstance().getPvpFlag() ? 1 : 0);
+ packet.writeD(_activeChar.getFakePlayerInstance().getKarma());
+ packet.writeD(_activeChar.getMAtkSpd());
+ packet.writeD(_activeChar.getPAtkSpd());
+ packet.writeD(_activeChar.getFakePlayerInstance().getPvpFlag() ? 1 : 0);
+ packet.writeD(_activeChar.getFakePlayerInstance().getKarma());
+ packet.writeD(_activeChar.getRunSpeed());
+ packet.writeD(_activeChar.getRunSpeed() / 2);
+ packet.writeD(_activeChar.getRunSpeed() / 3);
+ packet.writeD(_activeChar.getRunSpeed() / 3);
+ packet.writeD(_activeChar.getRunSpeed());
+ packet.writeD(_activeChar.getRunSpeed());
+ packet.writeD(_activeChar.getRunSpeed());
+ packet.writeD(_activeChar.getRunSpeed());
+ packet.writeF(_activeChar.getStat().getMovementSpeedMultiplier());
+ packet.writeF(_activeChar.getStat().getAttackSpeedMultiplier());
+ packet.writeF(PlayerTemplateData.getInstance().getTemplate(_activeChar.getFakePlayerInstance().getClassId()).getCollisionRadius());
+ packet.writeF(PlayerTemplateData.getInstance().getTemplate(_activeChar.getFakePlayerInstance().getClassId()).getCollisionHeight());
+ packet.writeD(_activeChar.getFakePlayerInstance().getHairStyle());
+ packet.writeD(_activeChar.getFakePlayerInstance().getHairColor());
+ packet.writeD(_activeChar.getFakePlayerInstance().getFace());
+ packet.writeS(_activeChar.getFakePlayerInstance().getTitle());
+ packet.writeD(_activeChar.getFakePlayerInstance().getClanId());
+ packet.writeD(_activeChar.getFakePlayerInstance().getClanCrestId());
+ packet.writeD(_activeChar.getFakePlayerInstance().getAllyId());
+ packet.writeD(_activeChar.getFakePlayerInstance().getAllyCrestId());
+ packet.writeD(0);
+ packet.writeC(1);
+ packet.writeC(_activeChar.isRunning() ? 1 : 0);
+ packet.writeC(_activeChar.isInCombat() ? 1 : 0);
+ packet.writeC(_activeChar.isAlikeDead() ? 1 : 0);
+ packet.writeC(0);
+ packet.writeC(0);
+ packet.writeC(0);
+ packet.writeH(0);
+ packet.writeC(0);
+ packet.writeD(_activeChar.getAbnormalEffect());
+ packet.writeC(0);
+ packet.writeH(0);
+ packet.writeD(_activeChar.getFakePlayerInstance().getClassId());
+ packet.writeD(_activeChar.getMaxCp());
+ packet.writeD((int) _activeChar.getStatus().getCurrentCp());
+ packet.writeC(_activeChar.getFakePlayerInstance().getEnchantWeapon());
+ packet.writeC(0);
+ packet.writeD(0); // clan crest
+ packet.writeC(_activeChar.getFakePlayerInstance().isNoble() ? 1 : 0);
+ packet.writeC(_activeChar.getFakePlayerInstance().isHero() ? 1 : 0);
+ packet.writeC(0);
+ packet.writeD(0);
+ packet.writeD(0);
+ packet.writeD(0);
+ packet.writeD(_activeChar.getFakePlayerInstance().nameColor());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FinishRotation.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FinishRotation.java
deleted file mode 100644
index ba3e3de40e..0000000000
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FinishRotation.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.network.serverpackets;
-
-import org.l2jmobius.gameserver.model.actor.Creature;
-
-/**
- * format dd
- * @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
- */
-public class FinishRotation extends GameServerPacket
-{
- private final int _heading;
- private final int _objectId;
-
- public FinishRotation(Creature creature)
- {
- _objectId = creature.getObjectId();
- _heading = creature.getHeading();
- }
-
- @Override
- protected final void writeImpl()
- {
- writeC(0x63);
- writeD(_objectId);
- writeD(_heading);
- }
-}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FortSiegeAttackerList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FortSiegeAttackerList.java
deleted file mode 100644
index 74a4da89d2..0000000000
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FortSiegeAttackerList.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.network.serverpackets;
-
-import org.l2jmobius.gameserver.data.sql.ClanTable;
-import org.l2jmobius.gameserver.model.SiegeClan;
-import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.siege.Fort;
-
-/**
- * Populates the Siege Attacker List in the SiegeInfo Window
- *
- * packet type id 0xca
- * format: cddddddd + dSSdddSSd
- *
- * c = ca
- * d = FortID
- * d = unknow (0x00)
- * d = unknow (0x01)
- * d = unknow (0x00)
- * d = Number of Attackers Clans?
- * d = Number of Attackers Clans
- * { //repeats
- * d = ClanID
- * S = ClanName
- * S = ClanLeaderName
- * d = ClanCrestID
- * d = signed time (seconds)
- * d = AllyID
- * S = AllyName
- * S = AllyLeaderName
- * d = AllyCrestID
- * @author programmos, scoria dev
- */
-public class FortSiegeAttackerList extends GameServerPacket
-{
- private final Fort _fort;
-
- public FortSiegeAttackerList(Fort fort)
- {
- _fort = fort;
- }
-
- @Override
- protected final void writeImpl()
- {
- writeC(0xca);
- writeD(_fort.getFortId());
- writeD(0x00); // 0
- writeD(0x01); // 1
- writeD(0x00); // 0
- final int size = _fort.getSiege().getAttackerClans().size();
- if (size > 0)
- {
- Clan clan;
- writeD(size);
- writeD(size);
- for (SiegeClan siegeclan : _fort.getSiege().getAttackerClans())
- {
- clan = ClanTable.getInstance().getClan(siegeclan.getClanId());
- if (clan == null)
- {
- continue;
- }
-
- writeD(clan.getClanId());
- writeS(clan.getName());
- writeS(clan.getLeaderName());
- writeD(clan.getCrestId());
- writeD(0x00); // signed time (seconds) (not storated by L2J)
- writeD(clan.getAllyId());
- writeS(clan.getAllyName());
- writeS(""); // AllyLeaderName
- writeD(clan.getAllyCrestId());
- }
- }
- else
- {
- writeD(0x00);
- writeD(0x00);
- }
- }
-}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FortSiegeDefenderList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FortSiegeDefenderList.java
deleted file mode 100644
index 6f1d084250..0000000000
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FortSiegeDefenderList.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.network.serverpackets;
-
-import org.l2jmobius.gameserver.data.sql.ClanTable;
-import org.l2jmobius.gameserver.model.SiegeClan;
-import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.siege.Fort;
-
-/**
- * Populates the Siege Defender List in the SiegeInfo Window
- *
- * packet type id 0xcb
- * format: cddddddd + dSSdddSSd
- *
- * c = 0xcb
- * d = FortID
- * d = unknow (0x00)
- * d = unknow (0x01)
- * d = unknow (0x00)
- * d = Number of Defending Clans?
- * d = Number of Defending Clans
- * { //repeats
- * d = ClanID
- * S = ClanName
- * S = ClanLeaderName
- * d = ClanCrestID
- * d = signed time (seconds)
- * d = Type -> Owner = 0x01 || Waiting = 0x02 || Accepted = 0x03
- * d = AllyID
- * S = AllyName
- * S = AllyLeaderName
- * d = AllyCrestID
- * @author programmos
- */
-public class FortSiegeDefenderList extends GameServerPacket
-{
- private final Fort _fort;
-
- public FortSiegeDefenderList(Fort fort)
- {
- _fort = fort;
- }
-
- @Override
- protected final void writeImpl()
- {
- writeC(0xcb);
- writeD(_fort.getFortId());
- writeD(0x00); // 0
- writeD(0x01); // 1
- writeD(0x00); // 0
- final int size = _fort.getSiege().getDefenderClans().size() + _fort.getSiege().getDefenderWaitingClans().size();
- if (size > 0)
- {
- Clan clan;
- writeD(size);
- writeD(size);
- // Listing the Lord and the approved clans
- for (SiegeClan siegeclan : _fort.getSiege().getDefenderClans())
- {
- clan = ClanTable.getInstance().getClan(siegeclan.getClanId());
- if (clan == null)
- {
- continue;
- }
-
- writeD(clan.getClanId());
- writeS(clan.getName());
- writeS(clan.getLeaderName());
- writeD(clan.getCrestId());
- writeD(0x00); // signed time (seconds) (not storated by L2J)
- switch (siegeclan.getType())
- {
- case OWNER:
- {
- writeD(0x01); // owner
- break;
- }
- case DEFENDER_PENDING:
- {
- writeD(0x02); // approved
- break;
- }
- case DEFENDER:
- {
- writeD(0x03); // waiting approved
- break;
- }
- default:
- {
- writeD(0x00);
- break;
- }
- }
- writeD(clan.getAllyId());
- writeS(clan.getAllyName());
- writeS(""); // AllyLeaderName
- writeD(clan.getAllyCrestId());
- }
- for (SiegeClan siegeclan : _fort.getSiege().getDefenderWaitingClans())
- {
- clan = ClanTable.getInstance().getClan(siegeclan.getClanId());
- writeD(clan.getClanId());
- writeS(clan.getName());
- writeS(clan.getLeaderName());
- writeD(clan.getCrestId());
- writeD(0x00); // signed time (seconds) (not storated by L2J)
- writeD(0x02); // waiting approval
- writeD(clan.getAllyId());
- writeS(clan.getAllyName());
- writeS(""); // AllyLeaderName
- writeD(clan.getAllyCrestId());
- }
- }
- else
- {
- writeD(0x00);
- writeD(0x00);
- }
- }
-}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FortressSiegeInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FortressSiegeInfo.java
deleted file mode 100644
index e4c48810bd..0000000000
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FortressSiegeInfo.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.network.serverpackets;
-
-import java.util.Calendar;
-import java.util.logging.Logger;
-
-import org.l2jmobius.gameserver.data.sql.ClanTable;
-import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
-import org.l2jmobius.gameserver.model.clan.Clan;
-import org.l2jmobius.gameserver.model.siege.Fort;
-
-/**
- * Shows the Siege Info
- *
- * packet type id 0xc9
- * format: cdddSSdSdd
- *
- * c = c9
- * d = FortID
- * d = Show Owner Controls (0x00 default || >=0x02(mask?) owner)
- * d = Owner ClanID
- * S = Owner ClanName
- * S = Owner Clan LeaderName
- * d = Owner AllyID
- * S = Owner AllyName
- * d = current time (seconds)
- * d = Siege time (seconds) (0 for selectable)
- * d = (UNKNOW) Siege Time Select Related?
- * @author programmos
- */
-public class FortressSiegeInfo extends GameServerPacket
-{
- private static final Logger LOGGER = Logger.getLogger(FortressSiegeInfo.class.getName());
- private final Fort _fort;
-
- public FortressSiegeInfo(Fort fort)
- {
- _fort = fort;
- }
-
- @Override
- protected final void writeImpl()
- {
- final PlayerInstance player = getClient().getPlayer();
- if (player == null)
- {
- return;
- }
-
- writeC(0xc9);
- writeD(_fort.getFortId());
- writeD((_fort.getOwnerId() == player.getClanId()) && player.isClanLeader() ? 0x01 : 0x00);
- writeD(_fort.getOwnerId());
- if (_fort.getOwnerId() > 0)
- {
- final Clan owner = ClanTable.getInstance().getClan(_fort.getOwnerId());
- if (owner != null)
- {
- writeS(owner.getName()); // Clan Name
- writeS(owner.getLeaderName()); // Clan Leader Name
- writeD(owner.getAllyId()); // Ally ID
- writeS(owner.getAllyName()); // Ally Name
- }
- else
- {
- LOGGER.warning("Null owner for fort: " + _fort.getName());
- }
- }
- else
- {
- writeS("NPC"); // Clan Name
- writeS(""); // Clan Leader Name
- writeD(0); // Ally ID
- writeS(""); // Ally Name
- }
-
- writeD((int) (Calendar.getInstance().getTimeInMillis() / 1000));
- writeD((int) (_fort.getSiege().getSiegeDate().getTimeInMillis() / 1000));
- writeD(0x00); // number of choices?
- }
-}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FriendList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FriendList.java
index df0fad4328..8c61bedcfd 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FriendList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FriendList.java
@@ -19,15 +19,17 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.sql.CharNameTable;
import org.l2jmobius.gameserver.model.World;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Support for "Chat with Friends" dialog.
* @author Tempy
*/
-public class FriendList extends GameServerPacket
+public class FriendList implements IClientOutgoingPacket
{
private final List _info;
@@ -57,20 +59,21 @@ public class FriendList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfa);
+ OutgoingPackets.FRIEND_LIST.writeId(packet);
if (_info.size() > 0)
{
- writeH(_info.size());
+ packet.writeH(_info.size());
for (FriendInfo friend : _info)
{
- writeH(0); // ??
- writeD(friend._objId);
- writeS(friend._name);
- writeD(friend._online ? 0x01 : 0x00);
- writeH(0); // ??
+ packet.writeH(0); // ??
+ packet.writeD(friend._objId);
+ packet.writeS(friend._name);
+ packet.writeD(friend._online ? 0x01 : 0x00);
+ packet.writeH(0); // ??
}
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FriendRecvMsg.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FriendRecvMsg.java
index 0e951e11e1..d8a5f97055 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FriendRecvMsg.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/FriendRecvMsg.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Send Private (Friend) Message Format: c dSSS d: Unknown S: Sending Player S: Receiving Player S: Message
* @author Tempy
*/
-public class FriendRecvMsg extends GameServerPacket
+public class FriendRecvMsg implements IClientOutgoingPacket
{
private final String _sender;
private final String _receiver;
@@ -34,13 +37,13 @@ public class FriendRecvMsg extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfd);
-
- writeD(0); // ??
- writeS(_receiver);
- writeS(_sender);
- writeS(_message);
+ OutgoingPackets.FRIEND_RECV_MSG.writeId(packet);
+ packet.writeD(0); // ??
+ packet.writeS(_receiver);
+ packet.writeS(_sender);
+ packet.writeS(_message);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java
index 69366f4d90..755de752f8 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewCharacterInfo.java
@@ -16,15 +16,17 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* TODO Add support for Eval. Score dddddSdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddffffddddSddd rev420 dddddSdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddffffddddSdddcccddhh rev478
* dddddSdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddffffddddSdddcccddhhddd rev551
* @version $Revision: 1.2.2.2.2.8 $ $Date: 2005/03/27 15:29:39 $
*/
-public class GMViewCharacterInfo extends GameServerPacket
+public class GMViewCharacterInfo implements IClientOutgoingPacket
{
/** The _active char. */
private final PlayerInstance _player;
@@ -38,138 +40,137 @@ public class GMViewCharacterInfo extends GameServerPacket
_player = player;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.network.serverpackets.L2GameServerPacket#writeImpl()
- */
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
final float moveMultiplier = _player.getMovementSpeedMultiplier();
- final int _runSpd = (int) (_player.getRunSpeed() / moveMultiplier);
- final int _walkSpd = (int) (_player.getWalkSpeed() / moveMultiplier);
- writeC(0x8f);
+ final int runSpd = (int) (_player.getRunSpeed() / moveMultiplier);
+ final int walkSpd = (int) (_player.getWalkSpeed() / moveMultiplier);
- writeD(_player.getX());
- writeD(_player.getY());
- writeD(_player.getZ());
- writeD(_player.getHeading());
- writeD(_player.getObjectId());
- writeS(_player.getName());
- writeD(_player.getRace().ordinal());
- writeD(_player.getAppearance().isFemale() ? 1 : 0);
- writeD(_player.getClassId().getId());
- writeD(_player.getLevel());
- writeQ(_player.getExp());
- writeD(_player.getSTR());
- writeD(_player.getDEX());
- writeD(_player.getCON());
- writeD(_player.getINT());
- writeD(_player.getWIT());
- writeD(_player.getMEN());
- writeD(_player.getMaxHp());
- writeD((int) _player.getCurrentHp());
- writeD(_player.getMaxMp());
- writeD((int) _player.getCurrentMp());
- writeD(_player.getSp());
- writeD(_player.getCurrentLoad());
- writeD(_player.getMaxLoad());
- writeD(0x28); // unknown
+ OutgoingPackets.GM_VIEW_CHARACTER_INFO.writeId(packet);
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_UNDER));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LRHAND));
- writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
+ packet.writeD(_player.getX());
+ packet.writeD(_player.getY());
+ packet.writeD(_player.getZ());
+ packet.writeD(_player.getHeading());
+ packet.writeD(_player.getObjectId());
+ packet.writeS(_player.getName());
+ packet.writeD(_player.getRace().ordinal());
+ packet.writeD(_player.getAppearance().isFemale() ? 1 : 0);
+ packet.writeD(_player.getClassId().getId());
+ packet.writeD(_player.getLevel());
+ packet.writeD((int) _player.getExp());
+ packet.writeD(_player.getSTR());
+ packet.writeD(_player.getDEX());
+ packet.writeD(_player.getCON());
+ packet.writeD(_player.getINT());
+ packet.writeD(_player.getWIT());
+ packet.writeD(_player.getMEN());
+ packet.writeD(_player.getMaxHp());
+ packet.writeD((int) _player.getCurrentHp());
+ packet.writeD(_player.getMaxMp());
+ packet.writeD((int) _player.getCurrentMp());
+ packet.writeD(_player.getSp());
+ packet.writeD(_player.getCurrentLoad());
+ packet.writeD(_player.getMaxLoad());
+ packet.writeD(0x28); // unknown
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_UNDER));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_REAR));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_NECK));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_BACK));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
- writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_UNDER));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_LRHAND));
+ packet.writeD(_player.getInventory().getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
- writeD(_player.getPAtk(null));
- writeD(_player.getPAtkSpd());
- writeD(_player.getPDef(null));
- writeD(_player.getEvasionRate(null));
- writeD(_player.getAccuracy());
- writeD(_player.getCriticalHit(null, null));
- writeD(_player.getMAtk(null, null));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_UNDER));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_REAR));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_NECK));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FEET));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_BACK));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
+ packet.writeD(_player.getInventory().getPaperdollItemId(Inventory.PAPERDOLL_FACE));
- writeD(_player.getMAtkSpd());
- writeD(_player.getPAtkSpd());
+ packet.writeD(_player.getPAtk(null));
+ packet.writeD(_player.getPAtkSpd());
+ packet.writeD(_player.getPDef(null));
+ packet.writeD(_player.getEvasionRate(null));
+ packet.writeD(_player.getAccuracy());
+ packet.writeD(_player.getCriticalHit(null, null));
+ packet.writeD(_player.getMAtk(null, null));
- writeD(_player.getMDef(null, null));
+ packet.writeD(_player.getMAtkSpd());
+ packet.writeD(_player.getPAtkSpd());
- writeD(_player.getPvpFlag()); // 0-non-pvp 1-pvp = violett name
- writeD(_player.getKarma());
+ packet.writeD(_player.getMDef(null, null));
- writeD(_runSpd);
- writeD(_walkSpd);
- writeD(_runSpd); // swimspeed
- writeD(_walkSpd); // swimspeed
- writeD(_runSpd);
- writeD(_walkSpd);
- writeD(_runSpd);
- writeD(_walkSpd);
- writeF(moveMultiplier);
- writeF(_player.getAttackSpeedMultiplier()); // 2.9); //
- writeF(_player.getTemplate().getCollisionRadius()); // scale
- writeF(_player.getTemplate().getCollisionHeight()); // y offset ??!? fem dwarf 4033
- writeD(_player.getAppearance().getHairStyle());
- writeD(_player.getAppearance().getHairColor());
- writeD(_player.getAppearance().getFace());
- writeD(_player.isGM() ? 0x01 : 0x00); // builder level
+ packet.writeD(_player.getPvpFlag()); // 0-non-pvp 1-pvp = violett name
+ packet.writeD(_player.getKarma());
- writeS(_player.getTitle());
- writeD(_player.getClanId()); // pledge id
- writeD(_player.getClanCrestId()); // pledge crest id
- writeD(_player.getAllyId()); // ally id
- writeC(_player.getMountType()); // mount type
- writeC(_player.getPrivateStoreType());
- writeC(_player.hasDwarvenCraft() ? 1 : 0);
- writeD(_player.getPkKills());
- writeD(_player.getPvpKills());
+ packet.writeD(runSpd);
+ packet.writeD(walkSpd);
+ packet.writeD(runSpd); // swimspeed
+ packet.writeD(walkSpd); // swimspeed
+ packet.writeD(runSpd);
+ packet.writeD(walkSpd);
+ packet.writeD(runSpd);
+ packet.writeD(walkSpd);
+ packet.writeF(moveMultiplier);
+ packet.writeF(_player.getAttackSpeedMultiplier()); // 2.9); //
+ packet.writeF(_player.getTemplate().getCollisionRadius()); // scale
+ packet.writeF(_player.getTemplate().getCollisionHeight()); // y offset ??!? fem dwarf 4033
+ packet.writeD(_player.getAppearance().getHairStyle());
+ packet.writeD(_player.getAppearance().getHairColor());
+ packet.writeD(_player.getAppearance().getFace());
+ packet.writeD(_player.isGM() ? 0x01 : 0x00); // builder level
- writeH(_player.getRecomLeft());
- writeH(_player.getRecomHave()); // Blue value for name (0 = white, 255 = pure blue)
- writeD(_player.getClassId().getId());
- // writeD(0x00); // special effects? circles around player...
- writeD(_player.getMaxCp());
- writeD((int) _player.getCurrentCp());
+ packet.writeS(_player.getTitle());
+ packet.writeD(_player.getClanId()); // pledge id
+ packet.writeD(_player.getClanCrestId()); // pledge crest id
+ packet.writeD(_player.getAllyId()); // ally id
+ packet.writeC(_player.getMountType()); // mount type
+ packet.writeC(_player.getPrivateStoreType());
+ packet.writeC(_player.hasDwarvenCraft() ? 1 : 0);
+ packet.writeD(_player.getPkKills());
+ packet.writeD(_player.getPvpKills());
- // writeC(_player.isRunning() ? 0x01 : 0x00); // changes the Speed display on Status Window
+ packet.writeH(_player.getRecomLeft());
+ packet.writeH(_player.getRecomHave()); // Blue value for name (0 = white, 255 = pure blue)
+ packet.writeD(_player.getClassId().getId());
+ // packet.writeD(0x00); // special effects? circles around player...
+ packet.writeD(_player.getMaxCp());
+ packet.writeD((int) _player.getCurrentCp());
- // writeC(321);
+ // packet.writeC(_player.isRunning() ? 0x01 : 0x00); // changes the Speed display on Status Window
- // writeD(_player.getPledgeClass()); // changes the text above CP on Status Window
+ // packet.writeC(321);
- // writeC(_player.isNoble() ? 0x01 : 0x00);
- // writeC(_player.isHero() ? 0x01 : 0x00);
+ // packet.writeD(_player.getPledgeClass()); // changes the text above CP on Status Window
- // writeD(_player.getAppearance().getNameColor());
- // writeD(_player.getAppearance().getTitleColor());
+ // packet.writeC(_player.isNoble() ? 0x01 : 0x00);
+ // packet.writeC(_player.isHero() ? 0x01 : 0x00);
+
+ // packet.writeD(_player.getAppearance().getNameColor());
+ // packet.writeD(_player.getAppearance().getTitleColor());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewHennaInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewHennaInfo.java
index 8fb8b40bdc..09160b488b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewHennaInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewHennaInfo.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.Henna;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class GMViewHennaInfo extends GameServerPacket
+public class GMViewHennaInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final Henna[] _hennas = new Henna[3];
@@ -40,24 +42,25 @@ public class GMViewHennaInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xea);
+ OutgoingPackets.GM_VIEW_HENNA_INFO.writeId(packet);
- writeC(_player.getHennaStatINT());
- writeC(_player.getHennaStatSTR());
- writeC(_player.getHennaStatCON());
- writeC(_player.getHennaStatMEN());
- writeC(_player.getHennaStatDEX());
- writeC(_player.getHennaStatWIT());
+ packet.writeC(_player.getHennaStatINT());
+ packet.writeC(_player.getHennaStatSTR());
+ packet.writeC(_player.getHennaStatCON());
+ packet.writeC(_player.getHennaStatMEN());
+ packet.writeC(_player.getHennaStatDEX());
+ packet.writeC(_player.getHennaStatWIT());
- writeD(3); // slots?
+ packet.writeD(3); // slots?
- writeD(_count); // size
+ packet.writeD(_count); // size
for (int i = 0; i < _count; i++)
{
- writeD(_hennas[i].getSymbolId());
- writeD(_hennas[i].canBeUsedBy(_player) ? _hennas[i].getSymbolId() : 0);
+ packet.writeD(_hennas[i].getSymbolId());
+ packet.writeD(_hennas[i].canBeUsedBy(_player) ? _hennas[i].getSymbolId() : 0);
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewItemList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewItemList.java
index 0a1e573bc7..675d7f9de3 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewItemList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewItemList.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class GMViewItemList extends GameServerPacket
+public class GMViewItemList implements IClientOutgoingPacket
{
private final ItemInstance[] _items;
private final PlayerInstance _player;
@@ -36,13 +38,13 @@ public class GMViewItemList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x94);
- writeS(_playerName);
- writeD(_player.getInventoryLimit()); // inventory limit
- writeH(0x01); // show window ??
- writeH(_items.length);
+ OutgoingPackets.GM_VIEW_ITEM_LIST.writeId(packet);
+ packet.writeS(_playerName);
+ packet.writeD(_player.getInventoryLimit()); // inventory limit
+ packet.writeH(0x01); // show window ??
+ packet.writeH(_items.length);
for (ItemInstance temp : _items)
{
@@ -51,16 +53,17 @@ public class GMViewItemList extends GameServerPacket
continue;
}
- writeH(temp.getItem().getType1());
- writeD(temp.getObjectId());
- writeD(temp.getItemId());
- writeD(temp.getCount());
- writeH(temp.getItem().getType2());
- writeH(temp.getCustomType1());
- writeH(temp.isEquipped() ? 0x01 : 0x00);
- writeD(temp.getItem().getBodyPart());
- writeH(temp.getEnchantLevel());
- writeH(temp.getCustomType2());
+ packet.writeH(temp.getItem().getType1());
+ packet.writeD(temp.getObjectId());
+ packet.writeD(temp.getItemId());
+ packet.writeD(temp.getCount());
+ packet.writeH(temp.getItem().getType2());
+ packet.writeH(temp.getCustomType1());
+ packet.writeH(temp.isEquipped() ? 0x01 : 0x00);
+ packet.writeD(temp.getItem().getBodyPart());
+ packet.writeH(temp.getEnchantLevel());
+ packet.writeH(temp.getCustomType2());
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewPledgeInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewPledgeInfo.java
index e431e60735..cd6d528001 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewPledgeInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewPledgeInfo.java
@@ -16,16 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.clan.ClanMember;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format SdSS dddddddd d (Sddddd)
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class GMViewPledgeInfo extends GameServerPacket
+public class GMViewPledgeInfo implements IClientOutgoingPacket
{
private final Clan _clan;
private final PlayerInstance _player;
@@ -37,38 +39,39 @@ public class GMViewPledgeInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x90);
- writeS(_player.getName());
- writeD(_clan.getClanId());
- writeS(_clan.getName());
- writeS(_clan.getLeaderName());
- writeD(_clan.getCrestId()); // -> no, it's no longer used (nuocnam) fix by game
- writeD(_clan.getLevel());
- writeD(_clan.getCastleId());
- writeD(_clan.getHideoutId());
- writeD(0);
- writeD(_player.getLevel());
- writeD(_clan.getDissolvingExpiryTime() > Chronos.currentTimeMillis() ? 3 : 0);
- writeD(0);
+ OutgoingPackets.GM_VIEW_PLEDGE_INFO.writeId(packet);
+ packet.writeS(_player.getName());
+ packet.writeD(_clan.getClanId());
+ packet.writeS(_clan.getName());
+ packet.writeS(_clan.getLeaderName());
+ packet.writeD(_clan.getCrestId()); // -> no, it's no longer used (nuocnam) fix by game
+ packet.writeD(_clan.getLevel());
+ packet.writeD(_clan.getCastleId());
+ packet.writeD(_clan.getHideoutId());
+ packet.writeD(0);
+ packet.writeD(_player.getLevel());
+ packet.writeD(_clan.getDissolvingExpiryTime() > Chronos.currentTimeMillis() ? 3 : 0);
+ packet.writeD(0);
- writeD(_clan.getAllyId()); // c2
- writeS(_clan.getAllyName()); // c2
- writeD(_clan.getAllyCrestId()); // c2
- writeD(_clan.isAtWar()); // c3
+ packet.writeD(_clan.getAllyId()); // c2
+ packet.writeS(_clan.getAllyName()); // c2
+ packet.writeD(_clan.getAllyCrestId()); // c2
+ packet.writeD(_clan.isAtWar()); // c3
- ClanMember[] members = _clan.getMembers();
- writeD(members.length);
+ final ClanMember[] members = _clan.getMembers();
+ packet.writeD(members.length);
- for (ClanMember m : members)
+ for (ClanMember member : members)
{
- writeS(m.getName());
- writeD(m.getLevel());
- writeD(m.getClassId());
- writeD(0);
- writeD(1);
- writeD(m.isOnline() ? m.getObjectId() : 0);
+ packet.writeS(member.getName());
+ packet.writeD(member.getLevel());
+ packet.writeD(member.getClassId());
+ packet.writeD(0);
+ packet.writeD(1);
+ packet.writeD(member.isOnline() ? member.getObjectId() : 0);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewQuestList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewQuestList.java
index 397baeb0b9..c90c3135d6 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewQuestList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewQuestList.java
@@ -18,15 +18,17 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Sh (dd) h (dddd)
* @author Tempy
*/
-public class GMViewQuestList extends GameServerPacket
+public class GMViewQuestList implements IClientOutgoingPacket
{
private final PlayerInstance _player;
@@ -36,24 +38,25 @@ public class GMViewQuestList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x93);
- writeS(_player.getName());
+ OutgoingPackets.GM_VIEW_QUEST_LIST.writeId(packet);
+ packet.writeS(_player.getName());
final List questList = _player.getAllActiveQuests();
- writeH(questList.size()); // quest count
+ packet.writeH(questList.size()); // quest count
for (Quest q : questList)
{
- writeD(q.getQuestId());
+ packet.writeD(q.getQuestId());
final QuestState qs = _player.getQuestState(q.getName());
if (qs == null)
{
- writeD(0);
+ packet.writeD(0);
continue;
}
- writeD(qs.getInt("cond")); // stage of quest progress
+ packet.writeD(qs.getInt("cond")); // stage of quest progress
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewSkillInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewSkillInfo.java
index c5edbae1db..653904bf9d 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewSkillInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewSkillInfo.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Skill;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class GMViewSkillInfo extends GameServerPacket
+public class GMViewSkillInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private Skill[] _skills;
@@ -35,18 +37,19 @@ public class GMViewSkillInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x91);
- writeS(_player.getName());
- writeD(_skills.length);
+ OutgoingPackets.GM_VIEW_SKILL_INFO.writeId(packet);
+ packet.writeS(_player.getName());
+ packet.writeD(_skills.length);
for (Skill skill : _skills)
{
- writeD(skill.isPassive() ? 1 : 0);
- writeD(skill.getLevel());
- writeD(skill.getId());
- // writeC(0x00); // c5
+ packet.writeD(skill.isPassive() ? 1 : 0);
+ packet.writeD(skill.getLevel());
+ packet.writeD(skill.getId());
+ // packet.writeC(0x00); // c5
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewWarehouseWithdrawList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewWarehouseWithdrawList.java
index f31fe6ac28..da00578baf 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewWarehouseWithdrawList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GMViewWarehouseWithdrawList.java
@@ -16,16 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.Weapon;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Sdh(h dddhh [dhhh] d) Sdh ddddd ddddd ddddd ddddd
* @version $Revision: 1.1.2.1.2.5 $ $Date: 2007/11/26 16:10:05 $
*/
-public class GMViewWarehouseWithdrawList extends GameServerPacket
+public class GMViewWarehouseWithdrawList implements IClientOutgoingPacket
{
private final ItemInstance[] _items;
private final String _playerName;
@@ -41,31 +43,31 @@ public class GMViewWarehouseWithdrawList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x95);
- writeS(_playerName);
- writeD(_money);
- writeH(_items.length);
+ OutgoingPackets.GM_VIEW_WAREHOUSE_WITHDRAW_LIST.writeId(packet);
+ packet.writeS(_playerName);
+ packet.writeD(_money);
+ packet.writeH(_items.length);
for (ItemInstance item : _items)
{
- writeH(item.getItem().getType1());
+ packet.writeH(item.getItem().getType1());
- writeD(item.getObjectId());
- writeD(item.getItemId());
- writeD(item.getCount());
- writeH(item.getItem().getType2());
- writeH(item.getCustomType1());
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItemId());
+ packet.writeD(item.getCount());
+ packet.writeH(item.getItem().getType2());
+ packet.writeH(item.getCustomType1());
switch (item.getItem().getType2())
{
case Item.TYPE2_WEAPON:
{
- writeD(item.getItem().getBodyPart());
- writeH(item.getEnchantLevel());
- writeH(((Weapon) item.getItem()).getSoulShotCount());
- writeH(((Weapon) item.getItem()).getSpiritShotCount());
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeH(item.getEnchantLevel());
+ packet.writeH(((Weapon) item.getItem()).getSoulShotCount());
+ packet.writeH(((Weapon) item.getItem()).getSpiritShotCount());
break;
}
case Item.TYPE2_SHIELD_ARMOR:
@@ -75,15 +77,16 @@ public class GMViewWarehouseWithdrawList extends GameServerPacket
case Item.TYPE2_PET_STRIDER:
case Item.TYPE2_PET_BABY:
{
- writeD(item.getItem().getBodyPart());
- writeH(item.getEnchantLevel());
- writeH(0x00);
- writeH(0x00);
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeH(item.getEnchantLevel());
+ packet.writeH(0x00);
+ packet.writeH(0x00);
break;
}
}
- writeD(item.getObjectId());
+ packet.writeD(item.getObjectId());
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GameGuardQuery.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GameGuardQuery.java
index 6d20504352..9be73da7e3 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GameGuardQuery.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GameGuardQuery.java
@@ -16,22 +16,26 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.GameClient;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author zabbix Lets drink to code!
*/
-public class GameGuardQuery extends GameServerPacket
+public class GameGuardQuery implements IClientOutgoingPacket
{
- @Override
- public void runImpl()
+ public GameGuardQuery(GameClient client)
{
// Lets make user as gg-unauthorized
// We will set him as ggOK after reply from client or kick
- getClient().setGameGuardOk(false);
+ client.setGameGuardOk(false);
}
@Override
- public void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xf9);
+ OutgoingPackets.GAME_GUARD_QUERY.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetItem.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetItem.java
index ca51987391..f9aa69a72a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetItem.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetItem.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: 17 1a 95 20 48 9b da 12 40 44 17 02 00 03 f0 fc ff 98 f1 ff ff ..... format ddddd
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class GetItem extends GameServerPacket
+public class GetItem implements IClientOutgoingPacket
{
private final ItemInstance _item;
private final int _playerId;
@@ -34,14 +36,15 @@ public class GetItem extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x0d);
- writeD(_playerId);
- writeD(_item.getObjectId());
+ OutgoingPackets.GET_ITEM.writeId(packet);
+ packet.writeD(_playerId);
+ packet.writeD(_item.getObjectId());
- writeD(_item.getX());
- writeD(_item.getY());
- writeD(_item.getZ());
+ packet.writeD(_item.getX());
+ packet.writeD(_item.getY());
+ packet.writeD(_item.getZ());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetOffVehicle.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetOffVehicle.java
index 3fde6b4169..743f08ddfd 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetOffVehicle.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetOffVehicle.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Maktakien
*/
-public class GetOffVehicle extends GameServerPacket
+public class GetOffVehicle implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _boatId;
@@ -40,13 +42,14 @@ public class GetOffVehicle extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x5d);
- writeD(_player.getObjectId());
- writeD(_boatId);
- writeD(_x);
- writeD(_y);
- writeD(_z);
+ OutgoingPackets.GET_OFF_VEHICLE.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeD(_boatId);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetOnVehicle.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetOnVehicle.java
index 90027cf64d..a87c15cdb4 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetOnVehicle.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/GetOnVehicle.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.BoatInstance;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Maktakien
*/
-public class GetOnVehicle extends GameServerPacket
+public class GetOnVehicle implements IClientOutgoingPacket
{
private final int _x;
private final int _y;
@@ -41,13 +43,14 @@ public class GetOnVehicle extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x5c);
- writeD(_player.getObjectId());
- writeD(_boat.getObjectId());
- writeD(_x);
- writeD(_y);
- writeD(_z);
+ OutgoingPackets.GET_ON_VEHICLE.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeD(_boat.getObjectId());
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaEquipList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaEquipList.java
index 967d5232cd..96e3b39702 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaEquipList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaEquipList.java
@@ -18,10 +18,12 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.Henna;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class HennaEquipList extends GameServerPacket
+public class HennaEquipList implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final List _hennaEquipList;
@@ -33,24 +35,25 @@ public class HennaEquipList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xe2);
- writeD(_player.getAdena());
- writeD(3);
- writeD(_hennaEquipList.size());
+ OutgoingPackets.HENNA_EQUIP_LIST.writeId(packet);
+ packet.writeD(_player.getAdena());
+ packet.writeD(3);
+ packet.writeD(_hennaEquipList.size());
for (Henna temp : _hennaEquipList)
{
// Player must have at least one dye in inventory to be able to see the henna that can be applied with it.
if ((_player.getInventory().getItemByItemId(temp.getDyeId())) != null)
{
- writeD(temp.getSymbolId()); // symbolid
- writeD(temp.getDyeId()); // itemid of dye
- writeD(Henna.getRequiredDyeAmount()); // amount of dyes required
- writeD(temp.getPrice()); // amount of adenas required
- writeD(1); // meet the requirement or not
+ packet.writeD(temp.getSymbolId()); // symbolid
+ packet.writeD(temp.getDyeId()); // itemid of dye
+ packet.writeD(Henna.getRequiredDyeAmount()); // amount of dyes required
+ packet.writeD(temp.getPrice()); // amount of adenas required
+ packet.writeD(1); // meet the requirement or not
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaInfo.java
index c5ba38420c..3752822c19 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaInfo.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.Henna;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class HennaInfo extends GameServerPacket
+public class HennaInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final Henna[] _hennas = new Henna[3];
@@ -40,37 +42,38 @@ public class HennaInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xe4);
+ OutgoingPackets.HENNA_INFO.writeId(packet);
- writeC(_player.getHennaStatINT()); // equip INT
- writeC(_player.getHennaStatSTR()); // equip STR
- writeC(_player.getHennaStatCON()); // equip CON
- writeC(_player.getHennaStatMEN()); // equip MEM
- writeC(_player.getHennaStatDEX()); // equip DEX
- writeC(_player.getHennaStatWIT()); // equip WIT
+ packet.writeC(_player.getHennaStatINT()); // equip INT
+ packet.writeC(_player.getHennaStatSTR()); // equip STR
+ packet.writeC(_player.getHennaStatCON()); // equip CON
+ packet.writeC(_player.getHennaStatMEN()); // equip MEM
+ packet.writeC(_player.getHennaStatDEX()); // equip DEX
+ packet.writeC(_player.getHennaStatWIT()); // equip WIT
// Henna slots
int classId = _player.getClassId().level();
if (classId == 1)
{
- writeD(2);
+ packet.writeD(2);
}
else if (classId > 1)
{
- writeD(3);
+ packet.writeD(3);
}
else
{
- writeD(0);
+ packet.writeD(0);
}
- writeD(_count); // size
+ packet.writeD(_count); // size
for (int i = 0; i < _count; i++)
{
- writeD(_hennas[i].getSymbolId());
- writeD(_hennas[i].canBeUsedBy(_player) ? _hennas[i].getSymbolId() : 0);
+ packet.writeD(_hennas[i].getSymbolId());
+ packet.writeD(_hennas[i].canBeUsedBy(_player) ? _hennas[i].getSymbolId() : 0);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaItemInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaItemInfo.java
index 1f2969d117..c2dedc1ca1 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaItemInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaItemInfo.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.Henna;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class HennaItemInfo extends GameServerPacket
+public class HennaItemInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final Henna _henna;
@@ -31,27 +33,28 @@ public class HennaItemInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xe3);
- writeD(_henna.getSymbolId()); // symbol Id
- writeD(_henna.getDyeId()); // item id of dye
- writeD(Henna.getRequiredDyeAmount()); // total amount of dye required
- writeD(_henna.getPrice()); // total amount of adenas required to draw symbol
- writeD(1); // able to draw or not 0 is false and 1 is true
- writeD(_player.getAdena());
+ OutgoingPackets.HENNA_ITEM_INFO.writeId(packet);
+ packet.writeD(_henna.getSymbolId()); // symbol Id
+ packet.writeD(_henna.getDyeId()); // item id of dye
+ packet.writeD(Henna.getRequiredDyeAmount()); // total amount of dye required
+ packet.writeD(_henna.getPrice()); // total amount of adenas required to draw symbol
+ packet.writeD(1); // able to draw or not 0 is false and 1 is true
+ packet.writeD(_player.getAdena());
- writeD(_player.getINT()); // current INT
- writeC(_player.getINT() + _henna.getINT()); // equip INT
- writeD(_player.getSTR()); // current STR
- writeC(_player.getSTR() + _henna.getSTR()); // equip STR
- writeD(_player.getCON()); // current CON
- writeC(_player.getCON() + _henna.getCON()); // equip CON
- writeD(_player.getMEN()); // current MEM
- writeC(_player.getMEN() + _henna.getMEN()); // equip MEM
- writeD(_player.getDEX()); // current DEX
- writeC(_player.getDEX() + _henna.getDEX()); // equip DEX
- writeD(_player.getWIT()); // current WIT
- writeC(_player.getWIT() + _henna.getWIT()); // equip WIT
+ packet.writeD(_player.getINT()); // current INT
+ packet.writeC(_player.getINT() + _henna.getINT()); // equip INT
+ packet.writeD(_player.getSTR()); // current STR
+ packet.writeC(_player.getSTR() + _henna.getSTR()); // equip STR
+ packet.writeD(_player.getCON()); // current CON
+ packet.writeC(_player.getCON() + _henna.getCON()); // equip CON
+ packet.writeD(_player.getMEN()); // current MEM
+ packet.writeC(_player.getMEN() + _henna.getMEN()); // equip MEM
+ packet.writeD(_player.getDEX()); // current DEX
+ packet.writeC(_player.getDEX() + _henna.getDEX()); // equip DEX
+ packet.writeD(_player.getWIT()); // current WIT
+ packet.writeC(_player.getWIT() + _henna.getWIT()); // equip WIT
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaItemRemoveInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaItemRemoveInfo.java
index a51877ec59..3332a99db5 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaItemRemoveInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaItemRemoveInfo.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.Henna;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class HennaItemRemoveInfo extends GameServerPacket
+public class HennaItemRemoveInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final Henna _henna;
@@ -31,27 +33,28 @@ public class HennaItemRemoveInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xe6);
- writeD(_henna.getSymbolId()); // symbol Id
- writeD(_henna.getDyeId()); // item id of dye
- writeD(Henna.getRequiredDyeAmount() / 2); // amount of given dyes
- writeD(_henna.getPrice() / 5); // amount of required adenas
- writeD(1); // able to remove or not 0 is false and 1 is true
- writeD(_player.getAdena());
+ OutgoingPackets.HENNA_ITEM_REMOVE_INFO.writeId(packet);
+ packet.writeD(_henna.getSymbolId()); // symbol Id
+ packet.writeD(_henna.getDyeId()); // item id of dye
+ packet.writeD(Henna.getRequiredDyeAmount() / 2); // amount of given dyes
+ packet.writeD(_henna.getPrice() / 5); // amount of required adenas
+ packet.writeD(1); // able to remove or not 0 is false and 1 is true
+ packet.writeD(_player.getAdena());
- writeD(_player.getINT()); // current INT
- writeC(_player.getINT() - _henna.getINT()); // equip INT
- writeD(_player.getSTR()); // current STR
- writeC(_player.getSTR() - _henna.getSTR()); // equip STR
- writeD(_player.getCON()); // current CON
- writeC(_player.getCON() - _henna.getCON()); // equip CON
- writeD(_player.getMEN()); // current MEM
- writeC(_player.getMEN() - _henna.getMEN()); // equip MEM
- writeD(_player.getDEX()); // current DEX
- writeC(_player.getDEX() - _henna.getDEX()); // equip DEX
- writeD(_player.getWIT()); // current WIT
- writeC(_player.getWIT() - _henna.getWIT()); // equip WIT
+ packet.writeD(_player.getINT()); // current INT
+ packet.writeC(_player.getINT() - _henna.getINT()); // equip INT
+ packet.writeD(_player.getSTR()); // current STR
+ packet.writeC(_player.getSTR() - _henna.getSTR()); // equip STR
+ packet.writeD(_player.getCON()); // current CON
+ packet.writeC(_player.getCON() - _henna.getCON()); // equip CON
+ packet.writeD(_player.getMEN()); // current MEM
+ packet.writeC(_player.getMEN() - _henna.getMEN()); // equip MEM
+ packet.writeD(_player.getDEX()); // current DEX
+ packet.writeC(_player.getDEX() - _henna.getDEX()); // equip DEX
+ packet.writeD(_player.getWIT()); // current WIT
+ packet.writeC(_player.getWIT() - _henna.getWIT()); // equip WIT
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaRemoveList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaRemoveList.java
index 3fc2c3d249..162e10ffde 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaRemoveList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/HennaRemoveList.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.Henna;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class HennaRemoveList extends GameServerPacket
+public class HennaRemoveList implements IClientOutgoingPacket
{
private final PlayerInstance _player;
@@ -29,24 +31,25 @@ public class HennaRemoveList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xe5);
- writeD(_player.getAdena());
- writeD(_player.getHennaEmptySlots());
- writeD(Math.abs(_player.getHennaEmptySlots() - 3));
+ OutgoingPackets.HENNA_REMOVE_LIST.writeId(packet);
+ packet.writeD(_player.getAdena());
+ packet.writeD(_player.getHennaEmptySlots());
+ packet.writeD(Math.abs(_player.getHennaEmptySlots() - 3));
for (int i = 1; i <= 3; i++)
{
final Henna henna = _player.getHenna(i);
if (henna != null)
{
- writeD(henna.getSymbolId());
- writeD(henna.getDyeId());
- writeD(Henna.getRequiredDyeAmount() / 2);
- writeD(henna.getPrice() / 5);
- writeD(0x01);
+ packet.writeD(henna.getSymbolId());
+ packet.writeD(henna.getDyeId());
+ packet.writeD(Henna.getRequiredDyeAmount() / 2);
+ packet.writeD(henna.getPrice() / 5);
+ packet.writeD(0x01);
}
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/GameServerPacket.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/IClientOutgoingPacket.java
similarity index 50%
rename from L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/GameServerPacket.java
rename to L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/IClientOutgoingPacket.java
index b16b241807..dd31d93be2 100644
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/gameserver/network/serverpackets/GameServerPacket.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/IClientOutgoingPacket.java
@@ -18,37 +18,41 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.logging.Logger;
-import org.l2jmobius.commons.mmocore.SendablePacket;
-import org.l2jmobius.gameserver.network.GameClient;
+import org.l2jmobius.commons.network.IOutgoingPacket;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
/**
* @author KenM
*/
-public abstract class GameServerPacket extends SendablePacket
+public interface IClientOutgoingPacket extends IOutgoingPacket
{
- protected static final Logger LOGGER = Logger.getLogger(GameServerPacket.class.getName());
+ Logger LOGGER = Logger.getLogger(IClientOutgoingPacket.class.getName());
- @Override
- protected void write()
+ /**
+ * Sends this packet to the target player, useful for lambda operations like
+ * {@code World.getInstance().getPlayers().forEach(packet::sendTo)}
+ * @param player
+ */
+ default void sendTo(PlayerInstance player)
{
- try
- {
- writeImpl();
- }
- catch (Exception e)
- {
- LOGGER.severe("Client: " + getClient() + " - Failed writing: " + getType() + " ; " + e.getMessage() + " " + e);
- }
+ player.sendPacket(this);
}
- public void runImpl()
+ default void runImpl(PlayerInstance player)
{
}
- protected abstract void writeImpl();
-
- public String getType()
+ default void writeOptionalD(PacketWriter packet, int value)
{
- return "[S] " + getClass().getSimpleName();
+ if (value >= Short.MAX_VALUE)
+ {
+ packet.writeH(Short.MAX_VALUE);
+ packet.writeD(value);
+ }
+ else
+ {
+ packet.writeH(value);
+ }
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/InventoryUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/InventoryUpdate.java
index 06becbe3db..7d6c329f7d 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/InventoryUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/InventoryUpdate.java
@@ -19,8 +19,10 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.ItemInfo;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 37 // Packet Identifier
@@ -44,7 +46,7 @@ import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
*
* @version $Revision: 1.3.2.2.2.4 $ $Date: 2005/03/27 15:29:39 $ Rebuild 23.2.2006 by Advi
*/
-public class InventoryUpdate extends GameServerPacket
+public class InventoryUpdate implements IClientOutgoingPacket
{
private final List _items;
@@ -105,37 +107,38 @@ public class InventoryUpdate extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x27);
- writeH(_items.size());
+ OutgoingPackets.INVENTORY_UPDATE.writeId(packet);
+ packet.writeH(_items.size());
for (ItemInfo item : _items)
{
- writeH(item.getChange()); // Update type : 01-add, 02-modify,
+ packet.writeH(item.getChange()); // Update type : 01-add, 02-modify,
// 03-remove
- writeH(item.getItem().getType1()); // Item Type 1 :
+ packet.writeH(item.getItem().getType1()); // Item Type 1 :
// 00-weapon/ring/earring/necklace,
// 01-armor/shield,
// 04-item/questitem/adena
- writeD(item.getObjectId()); // ObjectId
- writeD(item.getItem().getItemId()); // ItemId
- writeD(item.getCount()); // Quantity
- writeH(item.getItem().getType2()); // Item Type 2 : 00-weapon,
+ packet.writeD(item.getObjectId()); // ObjectId
+ packet.writeD(item.getItem().getItemId()); // ItemId
+ packet.writeD(item.getCount()); // Quantity
+ packet.writeH(item.getItem().getType2()); // Item Type 2 : 00-weapon,
// 01-shield/armor,
// 02-ring/earring/necklace,
// 03-questitem, 04-adena,
// 05-item
- writeH(item.getCustomType1()); // Filler (always 0)
- writeH(item.getEquipped()); // Equipped : 00-No, 01-yes
- writeD(item.getItem().getBodyPart()); // Slot : 0006-lr.ear,
+ packet.writeH(item.getCustomType1()); // Filler (always 0)
+ packet.writeH(item.getEquipped()); // Equipped : 00-No, 01-yes
+ packet.writeD(item.getItem().getBodyPart()); // Slot : 0006-lr.ear,
// 0008-neck,
// 0030-lr.finger,
// 0040-head, 0100-l.hand,
// 0200-gloves, 0400-chest,
// 0800-pants, 1000-feet,
// 4000-r.hand, 8000-r.hand
- writeH(item.getEnchant()); // Enchant level (pet level shown in control item)
- writeH(item.getCustomType2()); // Pet name exists or not shown in control item
+ packet.writeH(item.getEnchant()); // Enchant level (pet level shown in control item)
+ packet.writeH(item.getCustomType2()); // Pet name exists or not shown in control item
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ItemList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ItemList.java
index c8ccecce86..217e07b552 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ItemList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ItemList.java
@@ -16,8 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 27 00 00 01 00 // item count 04 00 // itemType1 0-weapon/ring/earring/necklace 1-armor/shield 4-item/questitem/adena c6 37 50 40 // objectId cd 09 00 00 // itemId 05 00 00 00 // count 05 00 // itemType2 0-weapon 1-shield/armor 2-ring/earring/necklace 3-questitem 4-adena 5-item 00 00 //
@@ -25,7 +27,7 @@ import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
* revision 415
* @version $Revision: 1.4.2.1.2.4 $ $Date: 2005/03/27 15:29:57 $
*/
-public class ItemList extends GameServerPacket
+public class ItemList implements IClientOutgoingPacket
{
private final ItemInstance[] _items;
private final boolean _showWindow;
@@ -43,27 +45,29 @@ public class ItemList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x1b);
- writeH(_showWindow ? 0x01 : 0x00);
- writeH(_items.length);
+ OutgoingPackets.ITEM_LIST.writeId(packet);
+ packet.writeH(_showWindow ? 0x01 : 0x00);
+ packet.writeH(_items.length);
for (ItemInstance temp : _items)
{
if ((temp == null) || (temp.getItem() == null))
{
continue;
}
- writeH(temp.getItem().getType1());
- writeD(temp.getObjectId());
- writeD(temp.getItemId());
- writeD(temp.getCount());
- writeH(temp.getItem().getType2());
- writeH(temp.getCustomType1());
- writeH(temp.isEquipped() ? 0x01 : 0x00);
- writeD(temp.getItem().getBodyPart());
- writeH(temp.getEnchantLevel());
- writeH(temp.getCustomType2());
+ packet.writeH(temp.getItem().getType1());
+ packet.writeD(temp.getObjectId());
+ packet.writeD(temp.getItemId());
+ packet.writeD(temp.getCount());
+ packet.writeH(temp.getItem().getType2());
+ packet.writeH(temp.getCustomType1());
+ packet.writeH(temp.isEquipped() ? 0x01 : 0x00);
+ packet.writeD(temp.getItem().getBodyPart());
+ packet.writeH(temp.getEnchantLevel());
+ // race tickets
+ packet.writeH(temp.getCustomType2());
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/JoinParty.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/JoinParty.java
index 389f8113a6..e4adce2daa 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/JoinParty.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/JoinParty.java
@@ -16,6 +16,9 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* sample
*
@@ -24,7 +27,7 @@ package org.l2jmobius.gameserver.network.serverpackets;
* format cd.
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class JoinParty extends GameServerPacket
+public class JoinParty implements IClientOutgoingPacket
{
/** The _response. */
private final int _response;
@@ -38,15 +41,12 @@ public class JoinParty extends GameServerPacket
_response = response;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.network.serverpackets.L2GameServerPacket#writeImpl()
- */
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x3a);
+ OutgoingPackets.JOIN_PARTY.writeId(packet);
- writeD(_response);
+ packet.writeD(_response);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/JoinPledge.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/JoinPledge.java
index f202f79eb5..4e2f2127ec 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/JoinPledge.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/JoinPledge.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class JoinPledge extends GameServerPacket
+public class JoinPledge implements IClientOutgoingPacket
{
private final int _pledgeId;
@@ -29,10 +32,11 @@ public class JoinPledge extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x33);
+ OutgoingPackets.JOIN_PLEDGE.writeId(packet);
- writeD(_pledgeId);
+ packet.writeD(_pledgeId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/KeyPacket.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/KeyPacket.java
index b17f7d041b..38d6af6dec 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/KeyPacket.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/KeyPacket.java
@@ -16,25 +16,29 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-/**
- * @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
- */
-public class KeyPacket extends GameServerPacket
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class KeyPacket implements IClientOutgoingPacket
{
private final byte[] _key;
+ private final int _result;
- public KeyPacket(byte[] key)
+ public KeyPacket(byte[] key, int result)
{
_key = key;
+ _result = result;
}
@Override
- public void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x00);
- writeC(0x01);
- writeB(_key);
- writeD(0x01);
- writeD(0x01);
+ OutgoingPackets.KEY_PACKET.writeId(packet);
+ packet.writeC(_result); // 0 - wrong protocol, 1 - protocol ok
+ packet.writeB(_key);
+ packet.writeD(Config.SERVER_ID); // server id
+ packet.writeD(0x01);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/LeaveWorld.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/LeaveWorld.java
index c3fff66235..9290d12f23 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/LeaveWorld.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/LeaveWorld.java
@@ -16,19 +16,24 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.3.3 $ $Date: 2009/05/12 19:06:39 $
*/
-public class LeaveWorld extends GameServerPacket
+public class LeaveWorld implements IClientOutgoingPacket
{
public static final LeaveWorld STATIC_PACKET = new LeaveWorld();
- /*
- * private LeaveWorld() { //null }
- */
- @Override
- protected final void writeImpl()
+ public LeaveWorld()
{
- writeC(0x7e);
+ }
+
+ @Override
+ public boolean write(PacketWriter packet)
+ {
+ OutgoingPackets.LEAVE_WORLD.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicEffectIcons.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicEffectIcons.java
index 7394a6f681..773ab3a68f 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicEffectIcons.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicEffectIcons.java
@@ -19,11 +19,14 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* MagicEffectIcons format h (dhd)
* @version $Revision: 1.3.2.1.2.6 $ $Date: 2005/04/05 19:41:08 $
*/
-public class MagicEffectIcons extends GameServerPacket
+public class MagicEffectIcons implements IClientOutgoingPacket
{
private final List _effects;
private final List _debuffs;
@@ -66,40 +69,42 @@ public class MagicEffectIcons extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x7f);
+ OutgoingPackets.MAGIC_EFFECT_ICONS.writeId(packet);
- writeH(_effects.size() + _debuffs.size());
+ packet.writeH(_effects.size() + _debuffs.size());
for (Effect temp : _effects)
{
- writeD(temp._skillId);
- writeH(temp._level);
+ packet.writeD(temp._skillId);
+ packet.writeH(temp._level);
if (temp._duration == -1)
{
- writeD(-1);
+ packet.writeD(-1);
}
else
{
- writeD(temp._duration / 1000);
+ packet.writeD(temp._duration / 1000);
}
}
for (Effect temp : _debuffs)
{
- writeD(temp._skillId);
- writeH(temp._level);
+ packet.writeD(temp._skillId);
+ packet.writeH(temp._level);
if (temp._duration == -1)
{
- writeD(-1);
+ packet.writeD(-1);
}
else
{
- writeD(temp._duration / 1000);
+ packet.writeD(temp._duration / 1000);
}
}
+
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillCanceld.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillCanceld.java
index c0a0305997..388adb927a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillCanceld.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillCanceld.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class MagicSkillCanceld extends GameServerPacket
+public class MagicSkillCanceld implements IClientOutgoingPacket
{
private final int _objectId;
@@ -29,9 +32,10 @@ public class MagicSkillCanceld extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x49);
- writeD(_objectId);
+ OutgoingPackets.MAGIC_SKILL_CANCELD.writeId(packet);
+ packet.writeD(_objectId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillLaunched.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillLaunched.java
index fa73c11ef9..fce15a399f 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillLaunched.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillLaunched.java
@@ -19,14 +19,16 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: 8e d8 a8 10 48 10 04 00 00 01 00 00 00 01 00 00 ....H........... 0010: 00 d8 a8 10 48 ....H format ddddd d
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class MagicSkillLaunched extends GameServerPacket
+public class MagicSkillLaunched implements IClientOutgoingPacket
{
private final int _objectId;
private final int _skillId;
@@ -66,16 +68,16 @@ public class MagicSkillLaunched extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x76);
- writeD(_objectId);
- writeD(_skillId);
- writeD(_skillLevel);
- writeD(_numberOfTargets); // also failed or not?
+ OutgoingPackets.MAGIC_SKILL_LAUNCHED.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_skillId);
+ packet.writeD(_skillLevel);
+ packet.writeD(_numberOfTargets); // also failed or not?
if ((_singleTargetId != 0) || (_numberOfTargets == 0))
{
- writeD(_singleTargetId);
+ packet.writeD(_singleTargetId);
}
else
{
@@ -83,13 +85,14 @@ public class MagicSkillLaunched extends GameServerPacket
{
try
{
- writeD(target.getObjectId());
+ packet.writeD(target.getObjectId());
}
catch (NullPointerException e)
{
- writeD(0); // untested
+ packet.writeD(0); // untested
}
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillUse.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillUse.java
index ba0dd74421..20c0ebe96d 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillUse.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MagicSkillUse.java
@@ -16,9 +16,11 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class MagicSkillUse extends GameServerPacket
+public class MagicSkillUse implements IClientOutgoingPacket
{
private final int _objectId;
private final int _x;
@@ -60,18 +62,18 @@ public class MagicSkillUse extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x48);
- writeD(_objectId);
- writeD(_targetId);
- writeD(_skillId);
- writeD(_skillLevel);
- writeD(_hitTime);
- writeD(_reuseDelay);
- writeD(_x);
- writeD(_y);
- writeD(_z);
+ OutgoingPackets.MAGIC_SKILL_USE.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_targetId);
+ packet.writeD(_skillId);
+ packet.writeD(_skillLevel);
+ packet.writeD(_hitTime);
+ packet.writeD(_reuseDelay);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
// if (_critical) // ?
// {
// writeD(0x01);
@@ -79,10 +81,11 @@ public class MagicSkillUse extends GameServerPacket
// }
// else
// {
- writeD(0x00);
+ packet.writeD(0x00);
// }
- writeD(_targetx);
- writeD(_targety);
- writeD(_targetz);
+ packet.writeD(_targetx);
+ packet.writeD(_targety);
+ packet.writeD(_targetz);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ManagePledgePower.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ManagePledgePower.java
index cacd4954c2..c5b66049f9 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ManagePledgePower.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ManagePledgePower.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class ManagePledgePower extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class ManagePledgePower implements IClientOutgoingPacket
{
private final int _privs;
@@ -26,11 +29,12 @@ public class ManagePledgePower extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x30);
- writeD(0);
- writeD(0);
- writeD(_privs);
+ OutgoingPackets.MANAGE_PLEDGE_POWER.writeId(packet);
+ packet.writeD(0);
+ packet.writeD(0);
+ packet.writeD(_privs);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MonRaceInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MonRaceInfo.java
index 658bd7536a..40321a5967 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MonRaceInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MonRaceInfo.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.NpcInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 06 8f19904b 2522d04b 00000000 80 950c0000 4af50000 08f2ffff 0000 - 0 damage (missed 0x80) 06 85071048 bc0e504b 32000000 10 fc41ffff fd240200 a6f5ffff 0100 bc0e504b 33000000 10 3.... format dddc dddh (ddc)
* @version $Revision: 1.1.6.2 $ $Date: 2005/03/27 15:29:39 $
*/
-public class MonRaceInfo extends GameServerPacket
+public class MonRaceInfo implements IClientOutgoingPacket
{
private final int _unknown1;
private final int _unknown2;
@@ -41,39 +43,41 @@ public class MonRaceInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xdd);
+ OutgoingPackets.MON_RACE_INFO.writeId(packet);
- writeD(_unknown1);
- writeD(_unknown2);
- writeD(8);
+ packet.writeD(_unknown1);
+ packet.writeD(_unknown2);
+ packet.writeD(8);
for (int i = 0; i < 8; i++)
{
- writeD(_monsters[i].getObjectId()); // npcObjectID
- writeD(_monsters[i].getTemplate().getDisplayId() + 1000000); // npcID
- writeD(14107); // origin X
- writeD(181875 + (58 * (7 - i))); // origin Y
- writeD(-3566); // origin Z
- writeD(12080); // end X
- writeD(181875 + (58 * (7 - i))); // end Y
- writeD(-3566); // end Z
- writeF(_monsters[i].getTemplate().getCollisionHeight()); // coll. height
- writeF(_monsters[i].getTemplate().getCollisionRadius()); // coll. radius
- writeD(120); // ?? unknown
+ packet.writeD(_monsters[i].getObjectId()); // npcObjectID
+ packet.writeD(_monsters[i].getTemplate().getDisplayId() + 1000000); // npcID
+ packet.writeD(14107); // origin X
+ packet.writeD(181875 + (58 * (7 - i))); // origin Y
+ packet.writeD(-3566); // origin Z
+ packet.writeD(12080); // end X
+ packet.writeD(181875 + (58 * (7 - i))); // end Y
+ packet.writeD(-3566); // end Z
+ packet.writeF(_monsters[i].getTemplate().getCollisionHeight()); // coll. height
+ packet.writeF(_monsters[i].getTemplate().getCollisionRadius()); // coll. radius
+ packet.writeD(120); // ?? unknown
for (int j = 0; j < 20; j++)
{
if (_unknown1 == 0)
{
- writeC(_speeds[i][j]);
+ packet.writeC(_speeds[i][j]);
}
else
{
- writeC(0);
+ packet.writeC(0);
}
}
- writeD(0);
+ packet.writeD(0);
}
+
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveOnVehicle.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveOnVehicle.java
deleted file mode 100644
index f6fdb03ec0..0000000000
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveOnVehicle.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.network.serverpackets;
-
-import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
-
-/**
- * 0000: 76 7a 07 80 49 ea 01 00 00 c1 37 fe uz..Ic'.J.....7.
- *
- * 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 $
- */
-public class MoveOnVehicle extends GameServerPacket
-{
- private final int _id;
- private final int _x;
- private final int _y;
- private final int _z;
- private final PlayerInstance _player;
-
- public MoveOnVehicle(int vehicleID, PlayerInstance player, int x, int y, int z)
- {
- _id = vehicleID;
- _player = player;
- _x = x;
- _y = y;
- _z = z;
- }
-
- @Override
- protected final void writeImpl()
- {
- writeC(0x71);
-
- writeD(_player.getObjectId());
- writeD(_id);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_player.getX());
- writeD(_player.getY());
- writeD(_player.getZ());
- }
-}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveToLocationInVehicle.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveToLocationInVehicle.java
index d4311d9d3a..f01ddf0f4e 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveToLocationInVehicle.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveToLocationInVehicle.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Maktakien
*/
-public class MoveToLocationInVehicle extends GameServerPacket
+public class MoveToLocationInVehicle implements IClientOutgoingPacket
{
private int _objectId;
private int _boatId;
@@ -50,16 +52,17 @@ public class MoveToLocationInVehicle extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x71);
- writeD(_objectId);
- writeD(_boatId);
- writeD(_destination.getX());
- writeD(_destination.getY());
- writeD(_destination.getZ());
- writeD(_origin.getX());
- writeD(_origin.getY());
- writeD(_origin.getZ());
+ OutgoingPackets.MOVE_TO_LOCATION_IN_VEHICLE.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_boatId);
+ packet.writeD(_destination.getX());
+ packet.writeD(_destination.getY());
+ packet.writeD(_destination.getZ());
+ packet.writeD(_origin.getX());
+ packet.writeD(_origin.getY());
+ packet.writeD(_origin.getZ());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveToPawn.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveToPawn.java
index 6e4eaf74a4..831d8a357b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveToPawn.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MoveToPawn.java
@@ -16,7 +16,9 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 0000: 75 7a 07 80 49 63 27 00 4a ea 01 00 00 c1 37 fe uz..Ic'.J.....7.
@@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
*
* @version $Revision: 1.3.2.1.2.5 $ $Date: 2005/04/06 16:13:46 $
*/
-public class MoveToPawn extends GameServerPacket
+public class MoveToPawn implements IClientOutgoingPacket
{
private final int _objectId;
private final int _targetId;
@@ -54,19 +56,20 @@ public class MoveToPawn extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x60);
+ OutgoingPackets.MOVE_TO_PAWN.writeId(packet);
- writeD(_objectId);
- writeD(_targetId);
- writeD(_distance);
+ packet.writeD(_objectId);
+ packet.writeD(_targetId);
+ packet.writeD(_distance);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_tx);
- writeD(_ty);
- writeD(_tz);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(_tx);
+ packet.writeD(_ty);
+ packet.writeD(_tz);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MultiSellList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MultiSellList.java
index 958826f613..2ea4bfe8ed 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MultiSellList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MultiSellList.java
@@ -16,15 +16,17 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.ItemTable;
import org.l2jmobius.gameserver.model.multisell.MultiSellEntry;
import org.l2jmobius.gameserver.model.multisell.MultiSellIngredient;
import org.l2jmobius.gameserver.model.multisell.MultiSellListContainer;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.2 $ $Date: 2004/06/27 08:12:59 $
*/
-public class MultiSellList extends GameServerPacket
+public class MultiSellList implements IClientOutgoingPacket
{
protected int _listId;
protected int _page;
@@ -40,32 +42,32 @@ public class MultiSellList extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
// [ddddd] [dchh] [hdhdh] [hhdh]
- writeC(0xd0);
- writeD(_listId); // list id
- writeD(_page); // page
- writeD(_finished); // finished
- writeD(0x28); // size of pages
- writeD(_list == null ? 0 : _list.getEntries().size()); // list length
+ OutgoingPackets.MULTI_SELL_LIST.writeId(packet);
+ packet.writeD(_listId); // list id
+ packet.writeD(_page); // page
+ packet.writeD(_finished); // finished
+ packet.writeD(0x28); // size of pages
+ packet.writeD(_list == null ? 0 : _list.getEntries().size()); // list length
if (_list != null)
{
for (MultiSellEntry ent : _list.getEntries())
{
- writeD(ent.getEntryId());
- writeC(1);
- writeH(ent.getProducts().size());
- writeH(ent.getIngredients().size());
+ packet.writeD(ent.getEntryId());
+ packet.writeC(1);
+ packet.writeH(ent.getProducts().size());
+ packet.writeH(ent.getIngredients().size());
for (MultiSellIngredient i : ent.getProducts())
{
- writeH(i.getItemId());
- writeD(ItemTable.getInstance().getTemplate(i.getItemId()).getBodyPart());
- writeH(ItemTable.getInstance().getTemplate(i.getItemId()).getType2());
- writeD(i.getItemCount());
- writeH(i.getEnchantmentLevel()); // enchtant level
+ packet.writeH(i.getItemId());
+ packet.writeD(ItemTable.getInstance().getTemplate(i.getItemId()).getBodyPart());
+ packet.writeH(ItemTable.getInstance().getTemplate(i.getItemId()).getType2());
+ packet.writeD(i.getItemCount());
+ packet.writeH(i.getEnchantmentLevel()); // enchtant level
}
for (MultiSellIngredient i : ent.getIngredients())
@@ -76,12 +78,13 @@ public class MultiSellList extends GameServerPacket
{
typeE = ItemTable.getInstance().getTemplate(i.getItemId()).getType2();
}
- writeH(items); // ID
- writeH(typeE);
- writeD(i.getItemCount()); // Count
- writeH(i.getEnchantmentLevel()); // Enchant Level
+ packet.writeH(items); // ID
+ packet.writeH(typeE);
+ packet.writeD(i.getItemCount()); // Count
+ packet.writeH(i.getEnchantmentLevel()); // Enchant Level
}
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MyTargetSelected.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MyTargetSelected.java
index 150df514b2..b9c3d1b6f1 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MyTargetSelected.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/MyTargetSelected.java
@@ -16,6 +16,9 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
*
* sample bf 73 5d 30 49 01 00
@@ -40,7 +43,7 @@ package org.l2jmobius.gameserver.network.serverpackets;
* usually the color equals the level difference to the selected target.
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class MyTargetSelected extends GameServerPacket
+public class MyTargetSelected implements IClientOutgoingPacket
{
/** The _object id. */
private final int _objectId;
@@ -59,15 +62,12 @@ public class MyTargetSelected extends GameServerPacket
_color = color;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.network.serverpackets.L2GameServerPacket#writeImpl()
- */
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xa6);
- writeD(_objectId);
- writeH(_color);
+ OutgoingPackets.MY_TARGET_SELECTED.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeH(_color);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NormalCamera.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NormalCamera.java
index e5503a04a8..f8b6cd883a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NormalCamera.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NormalCamera.java
@@ -16,11 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class NormalCamera extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class NormalCamera implements IClientOutgoingPacket
{
@Override
- public void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xc8);
+ OutgoingPackets.NORMAL_CAMERA.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NpcHtmlMessage.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NpcHtmlMessage.java
index ee936db5ca..82570713c4 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NpcHtmlMessage.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NpcHtmlMessage.java
@@ -19,8 +19,10 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.logging.Logger;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.cache.HtmCache;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.util.BuilderUtil;
/**
@@ -124,7 +126,7 @@ import org.l2jmobius.gameserver.util.BuilderUtil;
* .
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class NpcHtmlMessage extends GameServerPacket
+public class NpcHtmlMessage implements IClientOutgoingPacket
{
/** The LOGGER. */
private static final Logger LOGGER = Logger.getLogger(NpcHtmlMessage.class.getName());
@@ -161,17 +163,18 @@ public class NpcHtmlMessage extends GameServerPacket
_npcObjId = npcObjId;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.network.serverpackets.L2GameServerPacket#runImpl()
- */
@Override
- public void runImpl()
+ public void runImpl(PlayerInstance player)
{
if (Config.BYPASS_VALIDATION && _validate)
{
- buildBypassCache(getClient().getPlayer());
- buildLinksCache(getClient().getPlayer());
+ buildBypassCache(player);
+ buildLinksCache(player);
+ }
+
+ if ((_file != null) && player.isGM() && Config.GM_DEBUG_HTML_PATHS)
+ {
+ BuilderUtil.sendHtmlMessage(player, _file.substring(10));
}
}
@@ -312,23 +315,14 @@ public class NpcHtmlMessage extends GameServerPacket
}
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.network.serverpackets.L2GameServerPacket#writeImpl()
- */
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- final PlayerInstance player = getClient().getPlayer();
- if ((_file != null) && player.isGM() && Config.GM_DEBUG_HTML_PATHS)
- {
- BuilderUtil.sendHtmlMessage(player, _file.substring(10));
- }
-
- writeC(0x0f);
- writeD(_npcObjId);
- writeS(_html);
- writeD(0x00);
+ OutgoingPackets.NPC_HTML_MESSAGE.writeId(packet);
+ packet.writeD(_npcObjId);
+ packet.writeS(_html);
+ packet.writeD(0x00);
+ return true;
}
/**
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NpcInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NpcInfo.java
index 71e56b4598..038526eee1 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NpcInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/NpcInfo.java
@@ -17,6 +17,7 @@
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Summon;
@@ -31,11 +32,12 @@ import org.l2jmobius.gameserver.model.actor.instance.SiegeNpcInstance;
import org.l2jmobius.gameserver.model.actor.instance.SummonInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.zone.ZoneId;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.7.2.4.2.9 $ $Date: 2005/04/11 10:05:54 $
*/
-public class NpcInfo extends GameServerPacket
+public class NpcInfo implements IClientOutgoingPacket
{
private Creature _creature;
private int _x;
@@ -76,7 +78,7 @@ public class NpcInfo extends GameServerPacket
if (cha.getFakePlayerInstance() != null)
{
attacker.sendPacket(new FakePlayerInfo(cha));
- attacker.broadcastPacket(new FinishRotation(cha));
+ attacker.broadcastPacket(new StopRotation(cha, cha.getHeading(), 0));
return;
}
@@ -194,89 +196,86 @@ public class NpcInfo extends GameServerPacket
_swimWalkSpd = _flWalkSpd = _flyWalkSpd = _walkSpd;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.network.serverpackets.L2GameServerPacket#writeImpl()
- */
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
if (_creature == null)
{
- return;
+ return false;
}
if ((_creature instanceof Summon) && (((Summon) _creature).getOwner() != null) && ((Summon) _creature).getOwner().getAppearance().isInvisible())
{
- return;
+ return false;
}
- writeC(0x16);
- writeD(_creature.getObjectId());
- writeD(_displayId + 1000000); // npctype id
- writeD(_isAttackable ? 1 : 0);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_heading);
- writeD(0x00);
- writeD(_mAtkSpd);
- writeD(_pAtkSpd);
- writeD(_runSpd);
- writeD(_walkSpd);
- writeD(_swimRunSpd/* 0x32 */); // swimspeed
- writeD(_swimWalkSpd/* 0x32 */); // swimspeed
- writeD(_flRunSpd);
- writeD(_flWalkSpd);
- writeD(_flyRunSpd);
- writeD(_flyWalkSpd);
- writeF(1.1/* _activeChar.getProperMultiplier() */);
+ OutgoingPackets.NPC_INFO.writeId(packet);
+ packet.writeD(_creature.getObjectId());
+ packet.writeD(_displayId + 1000000); // npctype id
+ packet.writeD(_isAttackable ? 1 : 0);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(_heading);
+ packet.writeD(0x00);
+ packet.writeD(_mAtkSpd);
+ packet.writeD(_pAtkSpd);
+ packet.writeD(_runSpd);
+ packet.writeD(_walkSpd);
+ packet.writeD(_swimRunSpd/* 0x32 */); // swimspeed
+ packet.writeD(_swimWalkSpd/* 0x32 */); // swimspeed
+ packet.writeD(_flRunSpd);
+ packet.writeD(_flWalkSpd);
+ packet.writeD(_flyRunSpd);
+ packet.writeD(_flyWalkSpd);
+ packet.writeF(1.1/* _activeChar.getProperMultiplier() */);
// writeF(1/*_activeChar.getAttackSpeedMultiplier()*/);
- writeF(_pAtkSpd / 277.478340719);
- writeF(_collisionRadius);
- writeF(_collisionHeight);
- writeD(_rhand); // right hand weapon
- writeD(0);
- writeD(_lhand); // left hand weapon
- writeC(1); // name above char 1=true ... ??
- writeC(_creature.isRunning() ? 1 : 0);
- writeC(_creature.isInCombat() ? 1 : 0);
- writeC(_creature.isAlikeDead() ? 1 : 0);
- writeC(_isSummoned ? 2 : 0); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation)
- writeS(_name);
- writeS(_title);
+ packet.writeF(_pAtkSpd / 277.478340719);
+ packet.writeF(_collisionRadius);
+ packet.writeF(_collisionHeight);
+ packet.writeD(_rhand); // right hand weapon
+ packet.writeD(0);
+ packet.writeD(_lhand); // left hand weapon
+ packet.writeC(1); // name above char 1=true ... ??
+ packet.writeC(_creature.isRunning() ? 1 : 0);
+ packet.writeC(_creature.isInCombat() ? 1 : 0);
+ packet.writeC(_creature.isAlikeDead() ? 1 : 0);
+ packet.writeC(_isSummoned ? 2 : 0); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation)
+ packet.writeS(_name);
+ packet.writeS(_title);
if (_creature instanceof Summon)
{
- writeD(0x01); // Title color 0=client default
- writeD(((Summon) _creature).getPvpFlag());
- writeD(((Summon) _creature).getKarma());
+ packet.writeD(0x01); // Title color 0=client default
+ packet.writeD(((Summon) _creature).getPvpFlag());
+ packet.writeD(((Summon) _creature).getKarma());
}
else
{
- writeD(0);
- writeD(0);
- writeD(0);
+ packet.writeD(0);
+ packet.writeD(0);
+ packet.writeD(0);
}
- writeD(_creature.getAbnormalEffect()); // C2
- writeD(_clanId); // C2
- writeD(_clanCrest); // C2
- writeD(_allyId); // C2
- writeD(_allyCrest); // C2
- writeC(0x00); // C2
+ packet.writeD(_creature.getAbnormalEffect()); // C2
+ packet.writeD(_clanId); // C2
+ packet.writeD(_clanCrest); // C2
+ packet.writeD(_allyId); // C2
+ packet.writeD(_allyCrest); // C2
+ packet.writeC(0x00); // C2
if (Config.CHAMPION_ENABLE)
{
- writeC(_creature.isChampion() ? Config.CHAMPION_AURA : 0);
+ packet.writeC(_creature.isChampion() ? Config.CHAMPION_AURA : 0);
}
else
{
- writeC(0x00); // C3 team circle 1-blue, 2-red
+ packet.writeC(0x00); // C3 team circle 1-blue, 2-red
}
- writeF(_collisionRadius);
- writeF(_collisionHeight);
- writeD(0x00); // C4
+ packet.writeF(_collisionRadius);
+ packet.writeF(_collisionHeight);
+ packet.writeD(0x00); // C4
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ObservationMode.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ObservationMode.java
index d652513c6f..7f07473ff4 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ObservationMode.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ObservationMode.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class ObservationMode extends GameServerPacket
+public class ObservationMode implements IClientOutgoingPacket
{
private final int _x;
private final int _y;
@@ -38,14 +41,15 @@ public class ObservationMode extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xdf);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeC(0x00);
- writeC(0xc0);
- writeC(0x00);
+ OutgoingPackets.OBSERVATION_MODE.writeId(packet);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeC(0x00);
+ packet.writeC(0xc0);
+ packet.writeC(0x00);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ObservationReturn.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ObservationReturn.java
index 4f46058a4f..ed6233ab0c 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ObservationReturn.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ObservationReturn.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class ObservationReturn extends GameServerPacket
+public class ObservationReturn implements IClientOutgoingPacket
{
private final PlayerInstance _player;
@@ -34,11 +36,12 @@ public class ObservationReturn extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xe0);
- writeD(_player.getObsX());
- writeD(_player.getObsY());
- writeD(_player.getObsZ());
+ OutgoingPackets.OBSERVATION_RETURN.writeId(packet);
+ packet.writeD(_player.getObsX());
+ packet.writeD(_player.getObsY());
+ packet.writeD(_player.getObsZ());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/OnVehicleCheckLocation.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/OnVehicleCheckLocation.java
index 67a64f59f5..04e4c681e4 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/OnVehicleCheckLocation.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/OnVehicleCheckLocation.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.BoatInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Maktakien
*/
-public class OnVehicleCheckLocation extends GameServerPacket
+public class OnVehicleCheckLocation implements IClientOutgoingPacket
{
private final BoatInstance _boat;
private final int _x;
@@ -42,18 +44,15 @@ public class OnVehicleCheckLocation extends GameServerPacket
_z = z;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x5b);
- writeD(_boat.getObjectId());
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_boat.getPosition().getHeading());
+ OutgoingPackets.ON_VEHICLE_CHECK_LOCATION.writeId(packet);
+ packet.writeD(_boat.getObjectId());
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(_boat.getPosition().getHeading());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PackageSendableList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PackageSendableList.java
index 65c0517088..ec72d8c4cc 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PackageSendableList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PackageSendableList.java
@@ -16,43 +16,48 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author -Wooden-
*/
-public class PackageSendableList extends GameServerPacket
+public class PackageSendableList implements IClientOutgoingPacket
{
private final ItemInstance[] _items;
private final int _playerObjId;
+ private final int _adena;
- public PackageSendableList(ItemInstance[] items, int playerObjId)
+ public PackageSendableList(ItemInstance[] items, int playerObjId, int adena)
{
_items = items;
_playerObjId = playerObjId;
+ _adena = adena;
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xC3);
+ OutgoingPackets.PACKAGE_SENDABLE_LIST.writeId(packet);
- writeD(_playerObjId);
- writeD(getClient().getPlayer().getAdena());
- writeD(_items.length);
+ packet.writeD(_playerObjId);
+ packet.writeD(_adena);
+ packet.writeD(_items.length);
for (ItemInstance item : _items) // format inside the for taken from SellList part use should be about the same
{
- writeH(item.getItem().getType1());
- writeD(item.getObjectId());
- writeD(item.getItemId());
- writeD(item.getCount());
- writeH(item.getItem().getType2());
- writeH(0x00);
- writeD(item.getItem().getBodyPart());
- writeH(item.getEnchantLevel());
- writeH(0x00);
- writeH(0x00);
- writeD(item.getObjectId()); // some item identifier later used by client to answer (see RequestPackageSend) not item id nor object id maybe some freight system id??
+ packet.writeH(item.getItem().getType1());
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItemId());
+ packet.writeD(item.getCount());
+ packet.writeH(item.getItem().getType2());
+ packet.writeH(0x00);
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeH(item.getEnchantLevel());
+ packet.writeH(0x00);
+ packet.writeH(0x00);
+ packet.writeD(item.getObjectId()); // some item identifier later used by client to answer (see RequestPackageSend) not item id nor object id maybe some freight system id??
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PackageToList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PackageToList.java
index c3cfea0b7a..1deb2cd4aa 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PackageToList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PackageToList.java
@@ -19,11 +19,14 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.Map;
import java.util.Map.Entry;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (c) d[dS] d: list size [ d: char ID S: char Name ]
* @author -Wooden-
*/
-public class PackageToList extends GameServerPacket
+public class PackageToList implements IClientOutgoingPacket
{
private final Map _players;
@@ -34,14 +37,15 @@ public class PackageToList extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xC2);
- writeD(_players.size());
+ OutgoingPackets.PACKAGE_TO_LIST.writeId(packet);
+ packet.writeD(_players.size());
for (Entry entry : _players.entrySet())
{
- writeD(entry.getKey()); // you told me char id, i guess this was object id?
- writeS(entry.getValue());
+ packet.writeD(entry.getKey()); // you told me char id, i guess this was object id?
+ packet.writeS(entry.getValue());
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchDetail.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchDetail.java
index db162f1e80..117fd58d3d 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchDetail.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchDetail.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.partymatching.PartyMatchRoom;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Gnacik
*/
-public class PartyMatchDetail extends GameServerPacket
+public class PartyMatchDetail implements IClientOutgoingPacket
{
private final PartyMatchRoom _room;
@@ -34,15 +36,16 @@ public class PartyMatchDetail extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x97);
- writeD(_room.getId()); // Room ID
- writeD(_room.getMaxMembers()); // Max Members
- writeD(_room.getMinLevel()); // Level Min
- writeD(_room.getMaxLevel()); // Level Max
- writeD(_room.getLootType()); // Loot Type
- writeD(_room.getLocation()); // Room Location
- writeS(_room.getTitle()); // Room title
+ OutgoingPackets.PARTY_MATCH_DETAIL.writeId(packet);
+ packet.writeD(_room.getId()); // Room ID
+ packet.writeD(_room.getMaxMembers()); // Max Members
+ packet.writeD(_room.getMinLevel()); // Level Min
+ packet.writeD(_room.getMaxLevel()); // Level Max
+ packet.writeD(_room.getLootType()); // Loot Type
+ packet.writeD(_room.getLocation()); // Room Location
+ packet.writeS(_room.getTitle()); // Room title
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchList.java
index 14ad8ecd71..71ed0f2003 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMatchList.java
@@ -19,11 +19,13 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.partymatching.PartyMatchRoom;
import org.l2jmobius.gameserver.model.partymatching.PartyMatchRoomList;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class PartyMatchList extends GameServerPacket
+public class PartyMatchList implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _loc;
@@ -39,13 +41,8 @@ public class PartyMatchList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- if (getClient().getPlayer() == null)
- {
- return;
- }
-
for (PartyMatchRoom room : PartyMatchRoomList.getInstance().getRooms())
{
if ((room.getMembers() < 1) || (room.getOwner() == null) || !room.getOwner().isOnline() || (room.getOwner().getPartyRoom() != room.getId()))
@@ -69,28 +66,29 @@ public class PartyMatchList extends GameServerPacket
int count = 0;
final int size = _rooms.size();
- writeC(0x96);
+ OutgoingPackets.PARTY_MATCH_LIST.writeId(packet);
if (size > 0)
{
- writeD(1);
+ packet.writeD(1);
}
else
{
- writeD(0);
+ packet.writeD(0);
}
- writeD(_rooms.size());
+ packet.writeD(_rooms.size());
while (size > count)
{
- writeD(_rooms.get(count).getId());
- writeS(_rooms.get(count).getTitle());
- writeD(_rooms.get(count).getLocation());
- writeD(_rooms.get(count).getMinLevel());
- writeD(_rooms.get(count).getMaxLevel());
- writeD(_rooms.get(count).getMembers());
- writeD(_rooms.get(count).getMaxMembers());
- writeS(_rooms.get(count).getOwner().getName());
+ packet.writeD(_rooms.get(count).getId());
+ packet.writeS(_rooms.get(count).getTitle());
+ packet.writeD(_rooms.get(count).getLocation());
+ packet.writeD(_rooms.get(count).getMinLevel());
+ packet.writeD(_rooms.get(count).getMaxLevel());
+ packet.writeD(_rooms.get(count).getMembers());
+ packet.writeD(_rooms.get(count).getMaxMembers());
+ packet.writeS(_rooms.get(count).getOwner().getName());
count++;
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMemberPosition.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMemberPosition.java
index 42174b5885..f68ea52b31 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMemberPosition.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartyMemberPosition.java
@@ -19,16 +19,18 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.HashMap;
import java.util.Map;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author zabbix
*/
-public class PartyMemberPosition extends GameServerPacket
+public class PartyMemberPosition implements IClientOutgoingPacket
{
- Map locations = new HashMap<>();
+ Map _locations = new HashMap<>();
public PartyMemberPosition(Party party)
{
@@ -37,30 +39,31 @@ public class PartyMemberPosition extends GameServerPacket
public void reuse(Party party)
{
- locations.clear();
+ _locations.clear();
for (PlayerInstance member : party.getPartyMembers())
{
if (member == null)
{
continue;
}
- locations.put(member.getObjectId(), new Location(member));
+ _locations.put(member.getObjectId(), new Location(member));
}
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xa7);
- writeD(locations.size());
+ OutgoingPackets.PARTY_MEMBER_POSITION.writeId(packet);
+ packet.writeD(_locations.size());
- for (Map.Entry entry : locations.entrySet())
+ for (Map.Entry entry : _locations.entrySet())
{
final Location loc = entry.getValue();
- writeD(entry.getKey());
- writeD(loc.getX());
- writeD(loc.getY());
- writeD(loc.getZ());
+ packet.writeD(entry.getKey());
+ packet.writeD(loc.getX());
+ packet.writeD(loc.getY());
+ packet.writeD(loc.getZ());
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowAdd.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowAdd.java
index ee364c8d61..fcdef8000b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowAdd.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowAdd.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.1.2.5 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PartySmallWindowAdd extends GameServerPacket
+public class PartySmallWindowAdd implements IClientOutgoingPacket
{
private final PlayerInstance _member;
private final int _leaderId;
@@ -36,24 +38,25 @@ public class PartySmallWindowAdd extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x4f);
- writeD(_leaderId); // c3
- writeD(_distribution); // c3
- writeD(_member.getObjectId());
- writeS(_member.getName());
+ OutgoingPackets.PARTY_SMALL_WINDOW_ADD.writeId(packet);
+ packet.writeD(_leaderId); // c3
+ packet.writeD(_distribution); // c3
+ packet.writeD(_member.getObjectId());
+ packet.writeS(_member.getName());
- writeD((int) _member.getCurrentCp()); // c4
- writeD(_member.getMaxCp()); // c4
+ packet.writeD((int) _member.getCurrentCp()); // c4
+ packet.writeD(_member.getMaxCp()); // c4
- writeD((int) _member.getCurrentHp());
- writeD(_member.getMaxHp());
- writeD((int) _member.getCurrentMp());
- writeD(_member.getMaxMp());
- writeD(_member.getLevel());
- writeD(_member.getClassId().getId());
- writeD(0); // writeD(0x01); ??
- writeD(0);
+ packet.writeD((int) _member.getCurrentHp());
+ packet.writeD(_member.getMaxHp());
+ packet.writeD((int) _member.getCurrentMp());
+ packet.writeD(_member.getMaxMp());
+ packet.writeD(_member.getLevel());
+ packet.writeD(_member.getClassId().getId());
+ packet.writeD(0); // writeD(0x01); ??
+ packet.writeD(0);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowAll.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowAll.java
index cc2db44f26..6e9f4a4372 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowAll.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowAll.java
@@ -16,55 +16,59 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Party;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 63 01 00 00 00 count c1 b2 e0 4a object id 54 00 75 00 65 00 73 00 64 00 61 00 79 00 00 00 name 5a 01 00 00 hp 5a 01 00 00 hp max 89 00 00 00 mp 89 00 00 00 mp max 0e 00 00 00 level 12 00 00 00 class 00 00 00 00 01 00 00 00 format d (dSdddddddd)
* @version $Revision: 1.6.2.1.2.5 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PartySmallWindowAll extends GameServerPacket
+public class PartySmallWindowAll implements IClientOutgoingPacket
{
private final Party _party;
private final PlayerInstance _exclude;
private final int _dist;
- private final int _LeaderOID;
+ private final int _leaderObjId;
public PartySmallWindowAll(PlayerInstance exclude, Party party)
{
_exclude = exclude;
_party = party;
- _LeaderOID = _party.getPartyLeaderOID();
+ _leaderObjId = _party.getPartyLeaderOID();
_dist = _party.getLootDistribution();
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x4e);
- writeD(_LeaderOID);
- writeD(_dist);
- writeD(_party.getMemberCount() - 1);
+ OutgoingPackets.PARTY_SMALL_WINDOW_ALL.writeId(packet);
+
+ packet.writeD(_leaderObjId);
+ packet.writeD(_dist);
+ packet.writeD(_party.getMemberCount() - 1);
for (PlayerInstance member : _party.getPartyMembers())
{
if ((member != null) && (member != _exclude))
{
- writeD(member.getObjectId());
- writeS(member.getName());
+ packet.writeD(member.getObjectId());
+ packet.writeS(member.getName());
- writeD((int) member.getCurrentCp()); // c4
- writeD(member.getMaxCp()); // c4
+ packet.writeD((int) member.getCurrentCp()); // c4
+ packet.writeD(member.getMaxCp()); // c4
- writeD((int) member.getCurrentHp());
- writeD(member.getMaxHp());
- writeD((int) member.getCurrentMp());
- writeD(member.getMaxMp());
- writeD(member.getLevel());
- writeD(member.getClassId().getId());
- writeD(0); // writeD(0x01); ??
- writeD(member.getRace().ordinal());
+ packet.writeD((int) member.getCurrentHp());
+ packet.writeD(member.getMaxHp());
+ packet.writeD((int) member.getCurrentMp());
+ packet.writeD(member.getMaxMp());
+ packet.writeD(member.getLevel());
+ packet.writeD(member.getClassId().getId());
+ packet.writeD(0); // writeD(0x01); ??
+ packet.writeD(member.getRace().ordinal());
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowDelete.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowDelete.java
index 5cbf8c2adc..a195980c3c 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowDelete.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowDelete.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PartySmallWindowDelete extends GameServerPacket
+public class PartySmallWindowDelete implements IClientOutgoingPacket
{
private final PlayerInstance _member;
@@ -31,10 +33,11 @@ public class PartySmallWindowDelete extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x51);
- writeD(_member.getObjectId());
- writeS(_member.getName());
+ OutgoingPackets.PARTY_SMALL_WINDOW_DELETE.writeId(packet);
+ packet.writeD(_member.getObjectId());
+ packet.writeS(_member.getName());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowDeleteAll.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowDeleteAll.java
index 6591705c78..b141cf1b61 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowDeleteAll.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowDeleteAll.java
@@ -16,14 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PartySmallWindowDeleteAll extends GameServerPacket
+public class PartySmallWindowDeleteAll implements IClientOutgoingPacket
{
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x50);
+ OutgoingPackets.PARTY_SMALL_WINDOW_DELETE_ALL.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowUpdate.java
index 67a49b0dea..d2f8a45c6e 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySmallWindowUpdate.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.1.2.5 $ $Date: 2005/03/27 15:29:39 $
*/
-public class PartySmallWindowUpdate extends GameServerPacket
+public class PartySmallWindowUpdate implements IClientOutgoingPacket
{
private final PlayerInstance _member;
@@ -31,20 +33,21 @@ public class PartySmallWindowUpdate extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x52);
- writeD(_member.getObjectId());
- writeS(_member.getName());
+ OutgoingPackets.PARTY_SMALL_WINDOW_UPDATE.writeId(packet);
+ packet.writeD(_member.getObjectId());
+ packet.writeS(_member.getName());
- writeD((int) _member.getCurrentCp()); // c4
- writeD(_member.getMaxCp()); // c4
+ packet.writeD((int) _member.getCurrentCp()); // c4
+ packet.writeD(_member.getMaxCp()); // c4
- writeD((int) _member.getCurrentHp());
- writeD(_member.getMaxHp());
- writeD((int) _member.getCurrentMp());
- writeD(_member.getMaxMp());
- writeD(_member.getLevel());
- writeD(_member.getClassId().getId());
+ packet.writeD((int) _member.getCurrentHp());
+ packet.writeD(_member.getMaxHp());
+ packet.writeD((int) _member.getCurrentMp());
+ packet.writeD(_member.getMaxMp());
+ packet.writeD(_member.getLevel());
+ packet.writeD(_member.getClassId().getId());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySpelled.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySpelled.java
index a9360115cb..b5f67134fb 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySpelled.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PartySpelled.java
@@ -19,14 +19,16 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PetInstance;
import org.l2jmobius.gameserver.model.actor.instance.SummonInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class PartySpelled extends GameServerPacket
+public class PartySpelled implements IClientOutgoingPacket
{
private final List _effects;
private final Creature _creature;
@@ -52,15 +54,15 @@ public class PartySpelled extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
if (_creature == null)
{
- return;
+ return false;
}
- writeC(0xee);
- writeD(_creature instanceof SummonInstance ? 2 : _creature instanceof PetInstance ? 1 : 0);
- writeD(_creature.getObjectId());
+ OutgoingPackets.PARTY_SPELLED.writeId(packet);
+ packet.writeD(_creature instanceof SummonInstance ? 2 : _creature instanceof PetInstance ? 1 : 0);
+ packet.writeD(_creature.getObjectId());
// C4 does not support more than 20 effects in party window, so limiting them makes no difference.
// This check ignores first effects, so there is space for last effects to be viewable by party members.
@@ -68,12 +70,12 @@ public class PartySpelled extends GameServerPacket
int size = 0;
if (_effects.size() > 20)
{
- writeD(20);
+ packet.writeD(20);
size = _effects.size() - 20;
}
else
{
- writeD(_effects.size());
+ packet.writeD(_effects.size());
}
for (; size < _effects.size(); size++)
@@ -84,10 +86,11 @@ public class PartySpelled extends GameServerPacket
continue;
}
- writeD(temp._skillId);
- writeH(temp._dat);
- writeD(temp._duration / 1000);
+ packet.writeD(temp._skillId);
+ packet.writeH(temp._dat);
+ packet.writeD(temp._duration / 1000);
}
+ return true;
}
public void addPartySpelledEffect(int skillId, int dat, int duration)
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetDelete.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetDelete.java
index 4f3f8ee399..467831c73d 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetDelete.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetDelete.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class PetDelete extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class PetDelete implements IClientOutgoingPacket
{
private final int _petId;
private final int _petObjId;
@@ -28,10 +31,11 @@ public class PetDelete extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xb6);
- writeD(_petId); // dont really know what these two are since i never needed them
- writeD(_petObjId); // objectId
+ OutgoingPackets.PET_DELETE.writeId(packet);
+ packet.writeD(_petId); // dont really know what these two are since i never needed them
+ packet.writeD(_petObjId); // objectId
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetInfo.java
index 7f2f3c9ee0..d776a88577 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetInfo.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PetInstance;
import org.l2jmobius.gameserver.model.actor.instance.SummonInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.6.2.5.2.12 $ $Date: 2005/03/31 09:19:16 $
*/
-public class PetInfo extends GameServerPacket
+public class PetInfo implements IClientOutgoingPacket
{
private final Summon _summon;
private final int _x;
@@ -81,88 +83,89 @@ public class PetInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xb1);
- writeD(_summon.getSummonType());
- writeD(_summon.getObjectId());
- writeD(_summon.getTemplate().getDisplayId() + 1000000);
- writeD(0); // 1=attackable
+ OutgoingPackets.PET_INFO.writeId(packet);
+ packet.writeD(_summon.getSummonType());
+ packet.writeD(_summon.getObjectId());
+ packet.writeD(_summon.getTemplate().getDisplayId() + 1000000);
+ packet.writeD(0); // 1=attackable
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_heading);
- writeD(0);
- writeD(_mAtkSpd);
- writeD(_pAtkSpd);
- writeD(_runSpd);
- writeD(_walkSpd);
- writeD(_swimRunSpd);
- writeD(_swimWalkSpd);
- writeD(_flRunSpd);
- writeD(_flWalkSpd);
- writeD(_flyRunSpd);
- writeD(_flyWalkSpd);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(_heading);
+ packet.writeD(0);
+ packet.writeD(_mAtkSpd);
+ packet.writeD(_pAtkSpd);
+ packet.writeD(_runSpd);
+ packet.writeD(_walkSpd);
+ packet.writeD(_swimRunSpd);
+ packet.writeD(_swimWalkSpd);
+ packet.writeD(_flRunSpd);
+ packet.writeD(_flWalkSpd);
+ packet.writeD(_flyRunSpd);
+ packet.writeD(_flyWalkSpd);
- writeF(1/* _cha.getProperMultiplier() */);
- writeF(1/* _cha.getAttackSpeedMultiplier() */);
- writeF(_summon.getTemplate().getFCollisionRadius());
- writeF(_summon.getTemplate().getFCollisionHeight());
- writeD(0); // right hand weapon
- writeD(0);
- writeD(0); // left hand weapon
- writeC(1); // name above char 1=true ... ??
- writeC(_summon.isRunning() ? 1 : 0); // running=1
- writeC(_summon.isInCombat() ? 1 : 0); // attacking 1=true
- writeC(_summon.isAlikeDead() ? 1 : 0); // dead 1=true
- writeC(_isSummoned ? 2 : 0); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation)
- writeS(_summon.getName());
- writeS(_summon.getTitle());
- writeD(1);
- writeD(_summon.getOwner() != null ? _summon.getOwner().getPvpFlag() : 0); // 0 = white,2= purpleblink, if its greater then karma = purple
- writeD(_summon.getOwner() != null ? _summon.getOwner().getKarma() : 0); // karma
- writeD(_curFed); // how fed it is
- writeD(_maxFed); // max fed it can be
- writeD((int) _summon.getCurrentHp()); // current hp
- writeD(_maxHp); // max hp
- writeD((int) _summon.getCurrentMp()); // current mp
- writeD(_maxMp); // max mp
- writeD(_summon.getStat().getSp()); // sp
- writeD(_summon.getLevel()); // level
- writeQ(_summon.getStat().getExp());
- writeQ(_summon.getExpForThisLevel()); // 0% absolute value
- writeQ(_summon.getExpForNextLevel()); // 100% absoulte value
- writeD(_summon instanceof PetInstance ? _summon.getInventory().getTotalWeight() : 0); // weight
- writeD(_summon.getMaxLoad()); // max weight it can carry
- writeD(_summon.getPAtk(null)); // patk
- writeD(_summon.getPDef(null)); // pdef
- writeD(_summon.getMAtk(null, null)); // matk
- writeD(_summon.getMDef(null, null)); // mdef
- writeD(_summon.getAccuracy()); // accuracy
- writeD(_summon.getEvasionRate(null)); // evasion
- writeD(_summon.getCriticalHit(null, null)); // critical
- writeD(_runSpd); // speed
- writeD(_summon.getPAtkSpd()); // atkspeed
- writeD(_summon.getMAtkSpd()); // casting speed
+ packet.writeF(1/* _cha.getProperMultiplier() */);
+ packet.writeF(1/* _cha.getAttackSpeedMultiplier() */);
+ packet.writeF(_summon.getTemplate().getFCollisionRadius());
+ packet.writeF(_summon.getTemplate().getFCollisionHeight());
+ packet.writeD(0); // right hand weapon
+ packet.writeD(0);
+ packet.writeD(0); // left hand weapon
+ packet.writeC(1); // name above char 1=true ... ??
+ packet.writeC(_summon.isRunning() ? 1 : 0); // running=1
+ packet.writeC(_summon.isInCombat() ? 1 : 0); // attacking 1=true
+ packet.writeC(_summon.isAlikeDead() ? 1 : 0); // dead 1=true
+ packet.writeC(_isSummoned ? 2 : 0); // invisible ?? 0=false 1=true 2=summoned (only works if model has a summon animation)
+ packet.writeS(_summon.getName());
+ packet.writeS(_summon.getTitle());
+ packet.writeD(1);
+ packet.writeD(_summon.getOwner() != null ? _summon.getOwner().getPvpFlag() : 0); // 0 = white,2= purpleblink, if its greater then karma = purple
+ packet.writeD(_summon.getOwner() != null ? _summon.getOwner().getKarma() : 0); // karma
+ packet.writeD(_curFed); // how fed it is
+ packet.writeD(_maxFed); // max fed it can be
+ packet.writeD((int) _summon.getCurrentHp()); // current hp
+ packet.writeD(_maxHp); // max hp
+ packet.writeD((int) _summon.getCurrentMp()); // current mp
+ packet.writeD(_maxMp); // max mp
+ packet.writeD(_summon.getStat().getSp()); // sp
+ packet.writeD(_summon.getLevel()); // level
+ packet.writeD((int) _summon.getStat().getExp());
+ packet.writeD((int) _summon.getExpForThisLevel()); // 0% absolute value
+ packet.writeD((int) _summon.getExpForNextLevel()); // 100% absoulte value
+ packet.writeD(_summon instanceof PetInstance ? _summon.getInventory().getTotalWeight() : 0); // weight
+ packet.writeD(_summon.getMaxLoad()); // max weight it can carry
+ packet.writeD(_summon.getPAtk(null)); // patk
+ packet.writeD(_summon.getPDef(null)); // pdef
+ packet.writeD(_summon.getMAtk(null, null)); // matk
+ packet.writeD(_summon.getMDef(null, null)); // mdef
+ packet.writeD(_summon.getAccuracy()); // accuracy
+ packet.writeD(_summon.getEvasionRate(null)); // evasion
+ packet.writeD(_summon.getCriticalHit(null, null)); // critical
+ packet.writeD(_runSpd); // speed
+ packet.writeD(_summon.getPAtkSpd()); // atkspeed
+ packet.writeD(_summon.getMAtkSpd()); // casting speed
- writeD(0); // c2 abnormal visual effect... bleed=1; poison=2; poison & bleed=3; flame=4;
+ packet.writeD(0); // c2 abnormal visual effect... bleed=1; poison=2; poison & bleed=3; flame=4;
final int npcId = _summon.getTemplate().getNpcId();
if ((npcId >= 12526) && (npcId <= 12528))
{
- writeH(1); // c2 ride button
+ packet.writeH(1); // c2 ride button
}
else
{
- writeH(0);
+ packet.writeH(0);
}
- writeC(0); // c2
+ packet.writeC(0); // c2
// Following all added in C4.
- writeH(0); // ??
- writeC(0); // team aura (1 = blue, 2 = red)
- writeD(_summon.getSoulShotsPerHit()); // How many soulshots this servitor uses per hit
- writeD(_summon.getSpiritShotsPerHit()); // How many spiritshots this servitor uses per hit
+ packet.writeH(0); // ??
+ packet.writeC(0); // team aura (1 = blue, 2 = red)
+ packet.writeD(_summon.getSoulShotsPerHit()); // How many soulshots this servitor uses per hit
+ packet.writeD(_summon.getSpiritShotsPerHit()); // How many spiritshots this servitor uses per hit
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetInventoryUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetInventoryUpdate.java
index eec8bb4a5a..51d7dd6f5c 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetInventoryUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetInventoryUpdate.java
@@ -19,14 +19,16 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.ItemInfo;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Yme
* @version $Revision: 1.3.2.1.2.5 $ $Date: 2005/03/27 15:29:57 $ Rebuild 23.2.2006 by Advi
*/
-public class PetInventoryUpdate extends GameServerPacket
+public class PetInventoryUpdate implements IClientOutgoingPacket
{
private final List _items;
@@ -72,25 +74,26 @@ public class PetInventoryUpdate extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xb3);
+ OutgoingPackets.PET_INVENTORY_UPDATE.writeId(packet);
final int count = _items.size();
- writeH(count);
+ packet.writeH(count);
for (ItemInfo item : _items)
{
- writeH(item.getChange());
- writeH(item.getItem().getType1()); // item type1
- writeD(item.getObjectId());
- writeD(item.getItem().getItemId());
- writeD(item.getCount());
- writeH(item.getItem().getType2()); // item type2
- writeH(0x00); // ?
- writeH(item.getEquipped());
+ packet.writeH(item.getChange());
+ packet.writeH(item.getItem().getType1()); // item type1
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItem().getItemId());
+ packet.writeD(item.getCount());
+ packet.writeH(item.getItem().getType2()); // item type2
+ packet.writeH(0x00); // ?
+ packet.writeH(item.getEquipped());
// writeH(temp.getItem().getBodyPart()); // rev 377 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
- writeD(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
- writeH(item.getEnchant()); // enchant level
- writeH(0x00); // ?
+ packet.writeD(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeH(item.getEnchant()); // enchant level
+ packet.writeH(0x00); // ?
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetItemList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetItemList.java
index a70ad53099..1692cbe819 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetItemList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetItemList.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PetInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.1.2.4 $ $Date: 2005/03/27 15:29:39 $
*/
-public class PetItemList extends GameServerPacket
+public class PetItemList implements IClientOutgoingPacket
{
private final PetInstance _activeChar;
@@ -32,34 +34,35 @@ public class PetItemList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xB2);
+ OutgoingPackets.PET_ITEM_LIST.writeId(packet);
final ItemInstance[] items = _activeChar.getInventory().getItems();
final int count = items.length;
- writeH(count);
+ packet.writeH(count);
for (ItemInstance temp : items)
{
- writeH(temp.getItem().getType1()); // item type1
- writeD(temp.getObjectId());
- writeD(temp.getItemId());
- writeD(temp.getCount());
- writeH(temp.getItem().getType2()); // item type2
- writeH(0xff); // ?
+ packet.writeH(temp.getItem().getType1()); // item type1
+ packet.writeD(temp.getObjectId());
+ packet.writeD(temp.getItemId());
+ packet.writeD(temp.getCount());
+ packet.writeH(temp.getItem().getType2()); // item type2
+ packet.writeH(0xff); // ?
if (temp.isEquipped())
{
- writeH(0x01);
+ packet.writeH(0x01);
}
else
{
- writeH(0x00);
+ packet.writeH(0x00);
}
- writeD(temp.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeD(temp.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
// writeH(temp.getItem().getBodyPart()); // rev 377 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
- writeH(temp.getEnchantLevel()); // enchant level
- writeH(0x00); // ?
+ packet.writeH(temp.getEnchantLevel()); // enchant level
+ packet.writeH(0x00); // ?
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetStatusShow.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetStatusShow.java
index db1a4bc738..2e6c5c1535 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetStatusShow.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetStatusShow.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Summon;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Yme
* @version $Revision: 1.3.2.2.2.4 $ $Date: 2005/03/29 23:15:10 $
*/
-public class PetStatusShow extends GameServerPacket
+public class PetStatusShow implements IClientOutgoingPacket
{
private final int _summonType;
@@ -32,9 +34,10 @@ public class PetStatusShow extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xB0);
- writeD(_summonType);
+ OutgoingPackets.PET_STATUS_SHOW.writeId(packet);
+ packet.writeD(_summonType);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetStatusUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetStatusUpdate.java
index 4262540bfa..4889d1d30c 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetStatusUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PetStatusUpdate.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Summon;
import org.l2jmobius.gameserver.model.actor.instance.PetInstance;
import org.l2jmobius.gameserver.model.actor.instance.SummonInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.5.2.3.2.5 $ $Date: 2005/03/29 23:15:10 $
*/
-public class PetStatusUpdate extends GameServerPacket
+public class PetStatusUpdate implements IClientOutgoingPacket
{
private final Summon _summon;
private final int _maxHp;
@@ -51,24 +53,25 @@ public class PetStatusUpdate extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xb5);
- writeD(_summon.getSummonType());
- writeD(_summon.getObjectId());
- writeD(_summon.getX());
- writeD(_summon.getY());
- writeD(_summon.getZ());
- writeS(_summon.getOwner().getName());
- writeD(_curFed);
- writeD(_maxFed);
- writeD((int) _summon.getCurrentHp());
- writeD(_maxHp);
- writeD((int) _summon.getCurrentMp());
- writeD(_maxMp);
- writeD(_summon.getLevel());
- writeQ(_summon.getStat().getExp());
- writeQ(_summon.getExpForThisLevel()); // 0% absolute value
- writeQ(_summon.getExpForNextLevel()); // 100% absolute value
+ OutgoingPackets.PET_STATUS_UPDATE.writeId(packet);
+ packet.writeD(_summon.getSummonType());
+ packet.writeD(_summon.getObjectId());
+ packet.writeD(_summon.getX());
+ packet.writeD(_summon.getY());
+ packet.writeD(_summon.getZ());
+ packet.writeS(_summon.getOwner().getName());
+ packet.writeD(_curFed);
+ packet.writeD(_maxFed);
+ packet.writeD((int) _summon.getCurrentHp());
+ packet.writeD(_maxHp);
+ packet.writeD((int) _summon.getCurrentMp());
+ packet.writeD(_maxMp);
+ packet.writeD(_summon.getLevel());
+ packet.writeD((int) _summon.getStat().getExp());
+ packet.writeD((int) _summon.getExpForThisLevel()); // 0% absolute value
+ packet.writeD((int) _summon.getExpForNextLevel()); // 100% absolute value
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PlaySound.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PlaySound.java
index 151eb4e54b..afd859edf9 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PlaySound.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PlaySound.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Location;
import org.l2jmobius.gameserver.model.WorldObject;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class PlaySound extends GameServerPacket
+public class PlaySound implements IClientOutgoingPacket
{
private final int _unknown;
private final String _soundFile;
@@ -93,16 +95,17 @@ public class PlaySound extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x98);
- writeD(_unknown);
- writeS(_soundFile);
- writeD(_isObject ? 1 : 0);
- writeD(_objectId);
- writeD(_loc.getX());
- writeD(_loc.getY());
- writeD(_loc.getZ());
- writeD(_duration);
+ OutgoingPackets.PLAY_SOUND.writeId(packet);
+ packet.writeD(_unknown);
+ packet.writeS(_soundFile);
+ packet.writeD(_isObject ? 1 : 0);
+ packet.writeD(_objectId);
+ packet.writeD(_loc.getX());
+ packet.writeD(_loc.getY());
+ packet.writeD(_loc.getZ());
+ packet.writeD(_duration);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeCrest.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeCrest.java
index 86f996b228..b761558b68 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeCrest.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeCrest.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.cache.CrestCache;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: 84 6d 06 00 00 36 05 00 00 42 4d 36 05 00 00 00 .m...6...BM6.... 0010: 00 00 00 36 04 00 00 28 00 00 00 10 00 00 00 10 ...6...(........ 0020: 00 00 00 01 00 08 00 00 00 00 00 00 01 00 00 c4 ................ 0030: ... 0530: 10 91 00 00 00 60 9b d1 01 e4 6e ee 52 97 dd .....`....n.R..
* format dd x...x
* @version $Revision: 1.3.2.1.2.4 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PledgeCrest extends GameServerPacket
+public class PledgeCrest implements IClientOutgoingPacket
{
private final int _crestId;
private final byte[] _data;
@@ -35,18 +37,19 @@ public class PledgeCrest extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x6c);
- writeD(_crestId);
+ OutgoingPackets.PLEDGE_CREST.writeId(packet);
+ packet.writeD(_crestId);
if (_data != null)
{
- writeD(_data.length);
- writeB(_data);
+ packet.writeD(_data.length);
+ packet.writeB(_data);
}
else
{
- writeD(0);
+ packet.writeD(0);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeInfo.java
index 395ae2be9e..6198fed193 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeInfo.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.clan.Clan;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: 9c c10c0000 48 00 61 00 6d 00 62 00 75 00 72 .....H.a.m.b.u.r 0010: 00 67 00 00 00 00000000 00000000 00000000 00000000 00000000 00000000 00 00 00000000 ... format dSddddddSd
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PledgeInfo extends GameServerPacket
+public class PledgeInfo implements IClientOutgoingPacket
{
private final Clan _clan;
@@ -32,11 +34,12 @@ public class PledgeInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x83);
- writeD(_clan.getClanId());
- writeS(_clan.getName());
- writeS(_clan.getAllyName());
+ OutgoingPackets.PLEDGE_INFO.writeId(packet);
+ packet.writeD(_clan.getClanId());
+ packet.writeS(_clan.getName());
+ packet.writeS(_clan.getAllyName());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgePowerGradeList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgePowerGradeList.java
index 35be352baa..4384723291 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgePowerGradeList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgePowerGradeList.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.clan.Clan.RankPrivs;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: 9c c10c0000 48 00 61 00 6d 00 62 00 75 00 72 .....H.a.m.b.u.r 0010: 00 67 00 00 00 00000000 00000000 00000000 00000000 00000000 00000000 00 00 00000000 ... format dd ??
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PledgePowerGradeList extends GameServerPacket
+public class PledgePowerGradeList implements IClientOutgoingPacket
{
private final RankPrivs[] _privs;
@@ -32,16 +34,15 @@ public class PledgePowerGradeList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xFE);
- writeH(0x3b);
- writeD(_privs.length);
+ OutgoingPackets.PLEDGE_POWER_GRADE_LIST.writeId(packet);
+ packet.writeD(_privs.length);
for (RankPrivs priv : _privs)
{
- writeD(priv.getRank());
- writeD(priv.getParty());
- // LOGGER.warning("rank: "+_privs[i].getRank()+" party: "+_privs[i].getParty());
+ packet.writeD(priv.getRank());
+ packet.writeD(priv.getParty());
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveMemberInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveMemberInfo.java
index 7b46699018..44f08813db 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveMemberInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveMemberInfo.java
@@ -16,61 +16,64 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.commons.util.Chronos;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.ClanMember;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author -Wooden-
*/
-public class PledgeReceiveMemberInfo extends GameServerPacket
+public class PledgeReceiveMemberInfo implements IClientOutgoingPacket
{
private final ClanMember _member;
+ private final PlayerInstance _player;
- /**
- * @param member
- */
- public PledgeReceiveMemberInfo(ClanMember member)
+ public PledgeReceiveMemberInfo(ClanMember member, PlayerInstance player)
{
_member = member;
+ _player = player;
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x53);
- writeD(_member.getClan().getClanId());
- writeS(_member.getClan().getName());
- writeS(_member.getClan().getLeaderName());
- writeD(_member.getClan().getCrestId()); // crest id .. is used again
- writeD(_member.getClan().getLevel());
- writeD(_member.getClan().getCastleId());
- writeD(_member.getClan().getHideoutId());
- writeD(0);
- writeD(getClient().getPlayer().getLevel()); // ??
- writeD(_member.getClan().getDissolvingExpiryTime() > Chronos.currentTimeMillis() ? 3 : 0);
- writeD(0);
+ OutgoingPackets.PLEDGE_RECEIVE_MEMBER_INFO.writeId(packet);
+ packet.writeD(_member.getClan().getClanId());
+ packet.writeS(_member.getClan().getName());
+ packet.writeS(_member.getClan().getLeaderName());
+ packet.writeD(_member.getClan().getCrestId()); // crest id .. is used again
+ packet.writeD(_member.getClan().getLevel());
+ packet.writeD(_member.getClan().getCastleId());
+ packet.writeD(_member.getClan().getHideoutId());
+ packet.writeD(0);
+ packet.writeD(_player.getLevel()); // ??
+ packet.writeD(_member.getClan().getDissolvingExpiryTime() > Chronos.currentTimeMillis() ? 3 : 0);
+ packet.writeD(0);
- writeD(_member.getClan().getAllyId());
- writeS(_member.getClan().getAllyName());
- writeD(_member.getClan().getAllyCrestId());
+ packet.writeD(_member.getClan().getAllyId());
+ packet.writeS(_member.getClan().getAllyName());
+ packet.writeD(_member.getClan().getAllyCrestId());
- writeD(_member.getClan().isAtWar());// new c3
+ packet.writeD(_member.getClan().isAtWar());// new c3
- writeD(_member.getClan().getMembers().length - 1);
+ packet.writeD(_member.getClan().getMembers().length - 1);
for (ClanMember m : _member.getClan().getMembers())
{
// TODO is this c4?
- if (m.getObjectId() == getClient().getPlayer().getObjectId())
+ if (m.getObjectId() == _player.getObjectId())
{
continue;
}
- writeS(m.getName());
- writeD(m.getLevel());
- writeD(m.getClassId());
- writeD(0);
- writeD(1);
- writeD(m.isOnline() ? m.getObjectId() : 0); // 1=online 0=offline
+ packet.writeS(m.getName());
+ packet.writeD(m.getLevel());
+ packet.writeD(m.getClassId());
+ packet.writeD(0);
+ packet.writeD(1);
+ packet.writeD(m.isOnline() ? m.getObjectId() : 0); // 1=online 0=offline
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceivePowerInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceivePowerInfo.java
index dc2efb5777..1dc7b80cea 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceivePowerInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceivePowerInfo.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.clan.ClanMember;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format : (ch) dSd
* @author -Wooden-
*/
-public class PledgeReceivePowerInfo extends GameServerPacket
+public class PledgeReceivePowerInfo implements IClientOutgoingPacket
{
private final ClanMember _member;
@@ -35,13 +37,13 @@ public class PledgeReceivePowerInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x3c);
+ OutgoingPackets.PLEDGE_RECEIVE_POWER_INFO.writeId(packet);
- writeD(_member.getPowerGrade()); // power grade
- writeS(_member.getName());
- writeD(_member.getClan().getRankPrivs(_member.getPowerGrade())); // privileges
+ packet.writeD(_member.getPowerGrade()); // power grade
+ packet.writeS(_member.getName());
+ packet.writeD(_member.getClan().getRankPrivs(_member.getPowerGrade())); // privileges
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveSubPledgeCreated.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveSubPledgeCreated.java
index e2e74ccdba..2c3c8ae04b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveSubPledgeCreated.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveSubPledgeCreated.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.clan.Clan.SubPledge;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author -Wooden-
*/
-public class PledgeReceiveSubPledgeCreated extends GameServerPacket
+public class PledgeReceiveSubPledgeCreated implements IClientOutgoingPacket
{
private final SubPledge _subPledge;
@@ -34,14 +36,13 @@ public class PledgeReceiveSubPledgeCreated extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x3f);
-
- writeD(0x01);
- writeD(_subPledge.getId());
- writeS(_subPledge.getName());
- writeS(_subPledge.getLeaderName());
+ OutgoingPackets.PLEDGE_RECEIVE_SUB_PLEDGE_CREATED.writeId(packet);
+ packet.writeD(0x01);
+ packet.writeD(_subPledge.getId());
+ packet.writeS(_subPledge.getName());
+ packet.writeS(_subPledge.getLeaderName());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveWarList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveWarList.java
index bf3b652f92..e12e4b02c5 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveWarList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeReceiveWarList.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.model.clan.Clan;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author -Wooden-
*/
-public class PledgeReceiveWarList extends GameServerPacket
+public class PledgeReceiveWarList implements IClientOutgoingPacket
{
private final Clan _clan;
private final int _tab;
@@ -34,14 +36,12 @@ public class PledgeReceiveWarList extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x3e);
-
- writeD(_tab); // type : 0 = Declared, 1 = Under Attack
- writeD(0x00); // page
- writeD(_tab == 0 ? _clan.getWarList().size() : _clan.getAttackerList().size());
+ OutgoingPackets.PLEDGE_RECEIVE_WAR_LIST.writeId(packet);
+ packet.writeD(_tab); // type : 0 = Declared, 1 = Under Attack
+ packet.writeD(0x00); // page
+ packet.writeD(_tab == 0 ? _clan.getWarList().size() : _clan.getAttackerList().size());
for (Integer i : _tab == 0 ? _clan.getWarList() : _clan.getAttackerList())
{
final Clan clan = ClanTable.getInstance().getClan(i);
@@ -50,9 +50,10 @@ public class PledgeReceiveWarList extends GameServerPacket
continue;
}
- writeS(clan.getName());
- writeD(_tab); // ??
- writeD(_tab); // ??
+ packet.writeS(clan.getName());
+ packet.writeD(_tab); // ??
+ packet.writeD(_tab); // ??
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowInfoUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowInfoUpdate.java
index 8ba719a44a..06cfb6e1c8 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowInfoUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowInfoUpdate.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.model.clan.Clan;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class PledgeShowInfoUpdate extends GameServerPacket
+public class PledgeShowInfoUpdate implements IClientOutgoingPacket
{
private final Clan _clan;
@@ -32,24 +34,25 @@ public class PledgeShowInfoUpdate extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
final int TOP = ClanTable.getInstance().getTopRate(_clan.getClanId());
// ddddddddddSdd
- writeC(0x88);
+ OutgoingPackets.PLEDGE_SHOW_INFO_UPDATE.writeId(packet);
// sending empty data so client will ask all the info in response ;)
- writeD(_clan.getClanId());
- writeD(_clan.getCrestId());
- writeD(_clan.getLevel()); // clan level
- writeD(_clan.getFortId() != 0 ? _clan.getFortId() : _clan.getCastleId());
- writeD(_clan.getHideoutId());
- writeD(TOP);
- writeD(_clan.getReputationScore()); // clan reputation score
- writeD(0);
- writeD(0);
- writeD(_clan.getAllyId());
- writeS(_clan.getAllyName());
- writeD(_clan.getAllyCrestId());
- writeD(_clan.isAtWar());
+ packet.writeD(_clan.getClanId());
+ packet.writeD(_clan.getCrestId());
+ packet.writeD(_clan.getLevel()); // clan level
+ packet.writeD(_clan.getFortId() != 0 ? _clan.getFortId() : _clan.getCastleId());
+ packet.writeD(_clan.getHideoutId());
+ packet.writeD(TOP);
+ packet.writeD(_clan.getReputationScore()); // clan reputation score
+ packet.writeD(0);
+ packet.writeD(0);
+ packet.writeD(_clan.getAllyId());
+ packet.writeS(_clan.getAllyName());
+ packet.writeD(_clan.getAllyCrestId());
+ packet.writeD(_clan.isAtWar());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListAdd.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListAdd.java
index deb559c974..2457615063 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListAdd.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListAdd.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.ClanMember;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.3.2.1.2.4 $ $Date: 2005/03/27 15:29:39 $
*/
-public class PledgeShowMemberListAdd extends GameServerPacket
+public class PledgeShowMemberListAdd implements IClientOutgoingPacket
{
private String _name;
private int _level;
@@ -55,15 +57,16 @@ public class PledgeShowMemberListAdd extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x55);
- writeS(_name);
- writeD(_level);
- writeD(_classId);
- writeD(0);
- writeD(1);
- writeD(_objectId); // 1=online 0=offline?
- writeD(_pledgeType);
+ OutgoingPackets.PLEDGE_SHOW_MEMBER_LIST_ADD.writeId(packet);
+ packet.writeS(_name);
+ packet.writeD(_level);
+ packet.writeD(_classId);
+ packet.writeD(0);
+ packet.writeD(1);
+ packet.writeD(_objectId); // 1=online 0=offline?
+ packet.writeD(_pledgeType);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListAll.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListAll.java
index de6c60f00f..13248daf8a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListAll.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListAll.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.commons.util.Chronos;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.clan.ClanMember;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
//
/**
@@ -28,52 +30,55 @@ import org.l2jmobius.gameserver.model.clan.ClanMember;
* (Sddddd) dddSS dddddddddSdd d (Sdddddd)
* @version $Revision: 1.6.2.2.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PledgeShowMemberListAll extends GameServerPacket
+public class PledgeShowMemberListAll implements IClientOutgoingPacket
{
private final Clan _clan;
+ private final PlayerInstance _player;
public PledgeShowMemberListAll(Clan clan, PlayerInstance player)
{
_clan = clan;
+ _player = player;
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x53);
- writeD(_clan.getClanId());
- writeS(_clan.getName());
- writeS(_clan.getLeaderName());
- writeD(_clan.getCrestId()); // crest id .. is used again
- writeD(_clan.getLevel());
- writeD(_clan.getCastleId());
- writeD(_clan.getHideoutId());
- writeD(0);
- writeD(getClient().getPlayer().getLevel()); // ??
- writeD(_clan.getDissolvingExpiryTime() > Chronos.currentTimeMillis() ? 3 : 0);
- writeD(0);
+ OutgoingPackets.PLEDGE_SHOW_MEMBER_LIST_ALL.writeId(packet);
+ packet.writeD(_clan.getClanId());
+ packet.writeS(_clan.getName());
+ packet.writeS(_clan.getLeaderName());
+ packet.writeD(_clan.getCrestId()); // crest id .. is used again
+ packet.writeD(_clan.getLevel());
+ packet.writeD(_clan.getCastleId());
+ packet.writeD(_clan.getHideoutId());
+ packet.writeD(0);
+ packet.writeD(_player.getLevel()); // ??
+ packet.writeD(_clan.getDissolvingExpiryTime() > Chronos.currentTimeMillis() ? 3 : 0);
+ packet.writeD(0);
- writeD(_clan.getAllyId());
- writeS(_clan.getAllyName());
- writeD(_clan.getAllyCrestId());
+ packet.writeD(_clan.getAllyId());
+ packet.writeS(_clan.getAllyName());
+ packet.writeD(_clan.getAllyCrestId());
- writeD(_clan.isAtWar());// new c3
+ packet.writeD(_clan.isAtWar());// new c3
- writeD(_clan.getMembers().length - 1);
+ packet.writeD(_clan.getMembers().length - 1);
for (ClanMember m : _clan.getMembers())
{
// TODO is this c4?
- if (m.getObjectId() == getClient().getPlayer().getObjectId())
+ if (m.getObjectId() == _player.getObjectId())
{
continue;
}
- writeS(m.getName());
- writeD(m.getLevel());
- writeD(m.getClassId());
- writeD(0);
- writeD(1);
- writeD(m.isOnline() ? m.getObjectId() : 0); // 1=online 0=offline
+ packet.writeS(m.getName());
+ packet.writeD(m.getLevel());
+ packet.writeD(m.getClassId());
+ packet.writeD(0);
+ packet.writeD(1);
+ packet.writeD(m.isOnline() ? m.getObjectId() : 0); // 1=online 0=offline
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListDelete.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListDelete.java
index 4109330892..de65425183 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListDelete.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListDelete.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class PledgeShowMemberListDelete extends GameServerPacket
+public class PledgeShowMemberListDelete implements IClientOutgoingPacket
{
private final String _player;
@@ -29,9 +32,10 @@ public class PledgeShowMemberListDelete extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x56);
- writeS(_player);
+ OutgoingPackets.PLEDGE_SHOW_MEMBER_LIST_DELETE.writeId(packet);
+ packet.writeS(_player);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListDeleteAll.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListDeleteAll.java
index 982ca488ea..ddaeeffb27 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListDeleteAll.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListDeleteAll.java
@@ -16,14 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PledgeShowMemberListDeleteAll extends GameServerPacket
+public class PledgeShowMemberListDeleteAll implements IClientOutgoingPacket
{
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x82);
+ OutgoingPackets.PLEDGE_SHOW_MEMBER_LIST_DELETE_ALL.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListUpdate.java
index 39906f8486..1261172e09 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeShowMemberListUpdate.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.clan.ClanMember;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author -Wooden-
*/
-public class PledgeShowMemberListUpdate extends GameServerPacket
+public class PledgeShowMemberListUpdate implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _pledgeType;
@@ -81,16 +83,17 @@ public class PledgeShowMemberListUpdate extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x54);
- writeS(_name);
- writeD(_level);
- writeD(_classId);
- writeD(0);
- writeD(_objectId);
- writeD(_isOnline ? 1 : 0); // 1=online 0=offline
- writeD(_pledgeType);
- writeD(_hasSponsor);
+ OutgoingPackets.PLEDGE_SHOW_MEMBER_LIST_UPDATE.writeId(packet);
+ packet.writeS(_name);
+ packet.writeD(_level);
+ packet.writeD(_classId);
+ packet.writeD(0);
+ packet.writeD(_objectId);
+ packet.writeD(_isOnline ? 1 : 0); // 1=online 0=offline
+ packet.writeD(_pledgeType);
+ packet.writeD(_hasSponsor);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeSkillList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeSkillList.java
index fe6a46d124..9f64f17ad7 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeSkillList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeSkillList.java
@@ -16,17 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Skill;
import org.l2jmobius.gameserver.model.clan.Clan;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Format: (ch) d [dd].
* @author -Wooden-
*/
-public class PledgeSkillList extends GameServerPacket
+public class PledgeSkillList implements IClientOutgoingPacket
{
- /** The _clan. */
- private final Clan _clan;
+ private final Skill[] _skills;
/**
* Instantiates a new pledge skill list.
@@ -34,20 +35,19 @@ public class PledgeSkillList extends GameServerPacket
*/
public PledgeSkillList(Clan clan)
{
- _clan = clan;
+ _skills = clan.getAllSkills();
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- final Skill[] skills = _clan.getAllSkills();
- writeC(0xfe);
- writeH(0x39);
- writeD(skills.length);
- for (Skill sk : skills)
+ OutgoingPackets.PLEDGE_SKILL_LIST.writeId(packet);
+ packet.writeD(_skills.length);
+ for (Skill sk : _skills)
{
- writeD(sk.getId());
- writeD(sk.getLevel());
+ packet.writeD(sk.getId());
+ packet.writeD(sk.getLevel());
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeSkillListAdd.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeSkillListAdd.java
index 3104dfc0b1..67d23eeddc 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeSkillListAdd.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeSkillListAdd.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch) dd
* @author -Wooden-
*/
-public class PledgeSkillListAdd extends GameServerPacket
+public class PledgeSkillListAdd implements IClientOutgoingPacket
{
private final int _id;
private final int _level;
@@ -32,12 +35,11 @@ public class PledgeSkillListAdd extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x3a);
-
- writeD(_id);
- writeD(_level);
+ OutgoingPackets.PLEDGE_SKILL_LIST_ADD.writeId(packet);
+ packet.writeD(_id);
+ packet.writeD(_level);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeStatusChanged.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeStatusChanged.java
index 052f30e175..aad22fdfd6 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeStatusChanged.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PledgeStatusChanged.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.clan.Clan;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: cd b0 98 a0 48 1e 01 00 00 00 00 00 00 00 00 00 ....H........... 0010: 00 00 00 00 00 ..... format ddddd
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class PledgeStatusChanged extends GameServerPacket
+public class PledgeStatusChanged implements IClientOutgoingPacket
{
private final Clan _clan;
@@ -32,13 +34,14 @@ public class PledgeStatusChanged extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xcd);
- writeD(_clan.getLeaderId());
- writeD(_clan.getClanId());
- writeD(0);
- writeD(_clan.getLevel());
- writeD(0);
+ OutgoingPackets.PLEDGE_STATUS_CHANGED.writeId(packet);
+ packet.writeD(_clan.getLeaderId());
+ packet.writeD(_clan.getClanId());
+ packet.writeD(0);
+ packet.writeD(_clan.getLevel());
+ packet.writeD(0);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreListBuy.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreListBuy.java
index c577f4e539..48c6135e3e 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreListBuy.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreListBuy.java
@@ -17,14 +17,16 @@
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.TradeList;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.7.2.2.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class PrivateStoreListBuy extends GameServerPacket
+public class PrivateStoreListBuy implements IClientOutgoingPacket
{
private final PlayerInstance _storePlayer;
private final PlayerInstance _player;
@@ -51,30 +53,31 @@ public class PrivateStoreListBuy extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xb8);
- writeD(_storePlayer.getObjectId());
- writeD(_playerAdena);
+ OutgoingPackets.PRIVATE_STORE_LIST_BUY.writeId(packet);
+ packet.writeD(_storePlayer.getObjectId());
+ packet.writeD(_playerAdena);
- writeD(_items.length);
+ packet.writeD(_items.length);
for (TradeList.TradeItem item : _items)
{
- writeD(item.getObjectId());
- writeD(item.getItem().getItemId());
- writeH(item.getEnchant());
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItem().getItemId());
+ packet.writeH(item.getEnchant());
// writeD(item.getCount()); //give max possible sell amount
- writeD(item.getCurCount());
+ packet.writeD(item.getCurCount());
- writeD(item.getItem().getReferencePrice());
- writeH(0);
+ packet.writeD(item.getItem().getReferencePrice());
+ packet.writeH(0);
- writeD(item.getItem().getBodyPart());
- writeH(item.getItem().getType2());
- writeD(item.getPrice()); // buyers price
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeH(item.getItem().getType2());
+ packet.writeD(item.getPrice()); // buyers price
- writeD(item.getCount()); // maximum possible tradecount
+ packet.writeD(item.getCount()); // maximum possible tradecount
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreListSell.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreListSell.java
index ba013aaa58..293b536b41 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreListSell.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreListSell.java
@@ -17,14 +17,16 @@
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.TradeList;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.2.2.3.2.6 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PrivateStoreListSell extends GameServerPacket
+public class PrivateStoreListSell implements IClientOutgoingPacket
{
private final PlayerInstance _storePlayer;
private final PlayerInstance _player;
@@ -53,26 +55,27 @@ public class PrivateStoreListSell extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x9b);
- writeD(_storePlayer.getObjectId());
- writeD(_packageSale ? 1 : 0);
- writeD(_playerAdena);
+ OutgoingPackets.PRIVATE_STORE_LIST_SELL.writeId(packet);
+ packet.writeD(_storePlayer.getObjectId());
+ packet.writeD(_packageSale ? 1 : 0);
+ packet.writeD(_playerAdena);
- writeD(_items.length);
+ packet.writeD(_items.length);
for (TradeList.TradeItem item : _items)
{
- writeD(item.getItem().getType2());
- writeD(item.getObjectId());
- writeD(item.getItem().getItemId());
- writeD(item.getCount());
- writeH(0x00);
- writeH(item.getEnchant());
- writeH(0x00);
- writeD(item.getItem().getBodyPart());
- writeD(item.getPrice()); // your price
- writeD(item.getItem().getReferencePrice()); // store price
+ packet.writeD(item.getItem().getType2());
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItem().getItemId());
+ packet.writeD(item.getCount());
+ packet.writeH(0x00);
+ packet.writeH(item.getEnchant());
+ packet.writeH(0x00);
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeD(item.getPrice()); // your price
+ packet.writeD(item.getItem().getReferencePrice()); // store price
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreManageListBuy.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreManageListBuy.java
index 3190b15760..fbc790529d 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreManageListBuy.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreManageListBuy.java
@@ -17,14 +17,16 @@
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.TradeList;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.3.2.1.2.4 $ $Date: 2005/03/27 15:29:40 $
*/
-public class PrivateStoreManageListBuy extends GameServerPacket
+public class PrivateStoreManageListBuy implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private int _playerAdena;
@@ -48,39 +50,40 @@ public class PrivateStoreManageListBuy extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xb7);
+ OutgoingPackets.PRIVATE_STORE_MANAGE_LIST_BUY.writeId(packet);
// section 1
- writeD(_player.getObjectId());
- writeD(_playerAdena);
+ packet.writeD(_player.getObjectId());
+ packet.writeD(_playerAdena);
// section2
- writeD(_itemList.length); // inventory items for potential buy
+ packet.writeD(_itemList.length); // inventory items for potential buy
for (ItemInstance item : _itemList)
{
- writeD(item.getItemId());
- writeH(item.getEnchantLevel()); // show enchant level, but you can't buy enchanted weapons because of L2 Interlude Client bug
- writeD(item.getCount());
- writeD(item.getReferencePrice());
- writeH(0x00);
- writeD(item.getItem().getBodyPart());
- writeH(item.getItem().getType2());
+ packet.writeD(item.getItemId());
+ packet.writeH(item.getEnchantLevel()); // show enchant level, but you can't buy enchanted weapons because of L2 Interlude Client bug
+ packet.writeD(item.getCount());
+ packet.writeD(item.getReferencePrice());
+ packet.writeH(0x00);
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeH(item.getItem().getType2());
}
// section 3
- writeD(_buyList.length); // count for all items already added for buy
+ packet.writeD(_buyList.length); // count for all items already added for buy
for (TradeList.TradeItem item : _buyList)
{
- writeD(item.getItem().getItemId());
- writeH(item.getEnchant());
- writeD(item.getCount());
- writeD(item.getItem().getReferencePrice());
- writeH(0x00);
- writeD(item.getItem().getBodyPart());
- writeH(item.getItem().getType2());
- writeD(item.getPrice()); // your price
- writeD(item.getItem().getReferencePrice()); // fixed store price
+ packet.writeD(item.getItem().getItemId());
+ packet.writeH(item.getEnchant());
+ packet.writeD(item.getCount());
+ packet.writeD(item.getItem().getReferencePrice());
+ packet.writeH(0x00);
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeH(item.getItem().getType2());
+ packet.writeD(item.getPrice()); // your price
+ packet.writeD(item.getItem().getReferencePrice()); // fixed store price
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreManageListSell.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreManageListSell.java
index a75d468c82..3b1aafa480 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreManageListSell.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreManageListSell.java
@@ -17,8 +17,10 @@
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.TradeList.TradeItem;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 3 section to this packet 1)playerinfo which is always sent dd 2)list of items which can be added to sell d(hhddddhhhd) 3)list of items which have already been setup for sell in previous sell private store sell manageent d(hhddddhhhdd) *
@@ -28,7 +30,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
/*
* In memory of our friend Vadim 03/11/2014
*/
-public class PrivateStoreManageListSell extends GameServerPacket
+public class PrivateStoreManageListSell implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private int _playerAdena;
@@ -58,43 +60,44 @@ public class PrivateStoreManageListSell extends GameServerPacket
* During store set no packets will be received from client just when store definition is finished.
*/
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x9a);
+ OutgoingPackets.PRIVATE_STORE_MANAGE_LIST_SELL.writeId(packet);
// section 1
- writeD(_player.getObjectId());
- writeD(_packageSale ? 1 : 0); // Package sell
- writeD(_playerAdena);
+ packet.writeD(_player.getObjectId());
+ packet.writeD(_packageSale ? 1 : 0); // Package sell
+ packet.writeD(_playerAdena);
// section2
- writeD(_itemList.length); // for potential sells
+ packet.writeD(_itemList.length); // for potential sells
for (TradeItem item : _itemList)
{
- writeD(item.getItem().getType2());
- writeD(item.getObjectId());
- writeD(item.getItem().getItemId());
- writeD(item.getCount());
- writeH(0);
- writeH(item.getEnchant()); // enchant level
- writeH(0);
- writeD(item.getItem().getBodyPart());
- writeD(item.getPrice()); // store price
+ packet.writeD(item.getItem().getType2());
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItem().getItemId());
+ packet.writeD(item.getCount());
+ packet.writeH(0);
+ packet.writeH(item.getEnchant()); // enchant level
+ packet.writeH(0);
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeD(item.getPrice()); // store price
}
// section 3
- writeD(_sellList.length); // count for any items already added for sell
+ packet.writeD(_sellList.length); // count for any items already added for sell
for (TradeItem item : _sellList)
{
- writeD(item.getItem().getType2());
- writeD(item.getObjectId());
- writeD(item.getItem().getItemId());
- writeD(item.getCount());
- writeH(0);
- writeH(item.getEnchant()); // enchant level
- writeH(0x00);
- writeD(item.getItem().getBodyPart());
- writeD(item.getPrice()); // your price
- writeD(item.getItem().getReferencePrice()); // store price
+ packet.writeD(item.getItem().getType2());
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItem().getItemId());
+ packet.writeD(item.getCount());
+ packet.writeH(0);
+ packet.writeH(item.getEnchant()); // enchant level
+ packet.writeH(0x00);
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeD(item.getPrice()); // your price
+ packet.writeD(item.getItem().getReferencePrice()); // store price
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreMsgBuy.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreMsgBuy.java
index b3e9618ad0..8361b1bbfe 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreMsgBuy.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreMsgBuy.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PrivateStoreMsgBuy extends GameServerPacket
+public class PrivateStoreMsgBuy implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private String _storeMsg;
@@ -36,10 +38,11 @@ public class PrivateStoreMsgBuy extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xb9);
- writeD(_player.getObjectId());
- writeS(_storeMsg);
+ OutgoingPackets.PRIVATE_STORE_MSG_BUY.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeS(_storeMsg);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreMsgSell.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreMsgSell.java
index 55adea55da..ed171d4bfe 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreMsgSell.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/PrivateStoreMsgSell.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class PrivateStoreMsgSell extends GameServerPacket
+public class PrivateStoreMsgSell implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private String _storeMsg;
@@ -36,10 +38,11 @@ public class PrivateStoreMsgSell extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x9c);
- writeD(_player.getObjectId());
- writeS(_storeMsg);
+ OutgoingPackets.PRIVATE_STORE_MSG_SELL.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeS(_storeMsg);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/QuestList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/QuestList.java
index 27efc8246f..1c662efed9 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/QuestList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/QuestList.java
@@ -18,10 +18,12 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.Collection;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.quest.QuestState;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class QuestList extends GameServerPacket
+public class QuestList implements IClientOutgoingPacket
{
private final Collection _questStates;
@@ -31,23 +33,24 @@ public class QuestList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x80);
- writeH(_questStates.size());
+ OutgoingPackets.QUEST_LIST.writeId(packet);
+ packet.writeH(_questStates.size());
for (QuestState qs : _questStates)
{
- writeD(qs.getQuest().getQuestId());
+ packet.writeD(qs.getQuest().getQuestId());
final int states = qs.getInt("__compltdStateFlags");
if (states != 0)
{
- writeD(states);
+ packet.writeD(states);
}
else
{
- writeD(qs.getInt("cond"));
+ packet.writeD(qs.getInt("cond"));
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RadarControl.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RadarControl.java
index 0512856b9d..199c005aea 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RadarControl.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RadarControl.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class RadarControl extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class RadarControl implements IClientOutgoingPacket
{
private final int _showRadar;
private final int _type;
@@ -42,13 +45,14 @@ public class RadarControl extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xEB);
- writeD(_showRadar);
- writeD(_type); // maybe type
- writeD(_x); // x
- writeD(_y); // y
- writeD(_z); // z
+ OutgoingPackets.RADAR_CONTROL.writeId(packet);
+ packet.writeD(_showRadar);
+ packet.writeD(_type); // maybe type
+ packet.writeD(_x); // x
+ packet.writeD(_y); // y
+ packet.writeD(_z); // z
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeBookItemList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeBookItemList.java
index a297c7524e..843a20d9a0 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeBookItemList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeBookItemList.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.RecipeList;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format d d(dd)
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class RecipeBookItemList extends GameServerPacket
+public class RecipeBookItemList implements IClientOutgoingPacket
{
private RecipeList[] _recipes;
private final boolean _isDwarvenCraft;
@@ -40,26 +42,27 @@ public class RecipeBookItemList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xD6);
+ OutgoingPackets.RECIPE_BOOK_ITEM_LIST.writeId(packet);
- writeD(_isDwarvenCraft ? 0x00 : 0x01); // 0 = Dwarven - 1 = Common
- writeD(_maxMp);
+ packet.writeD(_isDwarvenCraft ? 0x00 : 0x01); // 0 = Dwarven - 1 = Common
+ packet.writeD(_maxMp);
if (_recipes == null)
{
- writeD(0);
+ packet.writeD(0);
}
else
{
- writeD(_recipes.length); // number of items in recipe book
+ packet.writeD(_recipes.length); // number of items in recipe book
for (int i = 0; i < _recipes.length; i++)
{
- writeD(_recipes[i].getId());
- writeD(i + 1);
+ packet.writeD(_recipes[i].getId());
+ packet.writeD(i + 1);
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeItemMakeInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeItemMakeInfo.java
index f6fd5e05be..0b59b9af0a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeItemMakeInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeItemMakeInfo.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.xml.RecipeData;
import org.l2jmobius.gameserver.model.RecipeList;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format dddd
*/
-public class RecipeItemMakeInfo extends GameServerPacket
+public class RecipeItemMakeInfo implements IClientOutgoingPacket
{
private final int _id;
private final PlayerInstance _player;
@@ -44,18 +46,19 @@ public class RecipeItemMakeInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
final RecipeList recipe = RecipeData.getInstance().getRecipe(_id);
if (recipe != null)
{
- writeC(0xD7);
+ OutgoingPackets.RECIPE_ITEM_MAKE_INFO.writeId(packet);
- writeD(_id);
- writeD(recipe.isDwarvenRecipe() ? 0 : 1); // 0 = Dwarven - 1 = Common
- writeD((int) _player.getCurrentMp());
- writeD(_player.getMaxMp());
- writeD(_success ? 1 : 0); // item creation success/failed
+ packet.writeD(_id);
+ packet.writeD(recipe.isDwarvenRecipe() ? 0 : 1); // 0 = Dwarven - 1 = Common
+ packet.writeD((int) _player.getCurrentMp());
+ packet.writeD(_player.getMaxMp());
+ packet.writeD(_success ? 1 : 0); // item creation success/failed
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopItemInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopItemInfo.java
index 834856755c..7a9b98a3b0 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopItemInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopItemInfo.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* ddddd
*/
-public class RecipeShopItemInfo extends GameServerPacket
+public class RecipeShopItemInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _recipeId;
@@ -33,13 +35,14 @@ public class RecipeShopItemInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xda);
- writeD(_player.getObjectId());
- writeD(_recipeId);
- writeD((int) _player.getCurrentMp());
- writeD(_player.getMaxMp());
- writeD(0xffffffff);
+ OutgoingPackets.RECIPE_SHOP_ITEM_INFO.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeD(_recipeId);
+ packet.writeD((int) _player.getCurrentMp());
+ packet.writeD(_player.getMaxMp());
+ packet.writeD(0xffffffff);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopManageList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopManageList.java
index 624a89cf57..e801a4db93 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopManageList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopManageList.java
@@ -16,15 +16,17 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.ManufactureItem;
import org.l2jmobius.gameserver.model.ManufactureList;
import org.l2jmobius.gameserver.model.RecipeList;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* dd d(dd) d(ddd)
*/
-public class RecipeShopManageList extends GameServerPacket
+public class RecipeShopManageList implements IClientOutgoingPacket
{
private final PlayerInstance _seller;
private final boolean _isDwarven;
@@ -58,43 +60,44 @@ public class RecipeShopManageList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xd8);
- writeD(_seller.getObjectId());
- writeD(_seller.getAdena());
- writeD(_isDwarven ? 0x00 : 0x01);
+ OutgoingPackets.RECIPE_SHOP_MANAGE_LIST.writeId(packet);
+ packet.writeD(_seller.getObjectId());
+ packet.writeD(_seller.getAdena());
+ packet.writeD(_isDwarven ? 0x00 : 0x01);
if (_recipes == null)
{
- writeD(0);
+ packet.writeD(0);
}
else
{
- writeD(_recipes.length); // number of items in recipe book
+ packet.writeD(_recipes.length); // number of items in recipe book
for (int i = 0; i < _recipes.length; i++)
{
- writeD(_recipes[i].getId());
- writeD(i + 1);
+ packet.writeD(_recipes[i].getId());
+ packet.writeD(i + 1);
}
}
if (_seller.getCreateList() == null)
{
- writeD(0);
+ packet.writeD(0);
}
else
{
final ManufactureList list = _seller.getCreateList();
- writeD(list.size());
+ packet.writeD(list.size());
for (ManufactureItem item : list.getList())
{
- writeD(item.getRecipeId());
- writeD(0x00);
- writeD(item.getCost());
+ packet.writeD(item.getRecipeId());
+ packet.writeD(0x00);
+ packet.writeD(item.getCost());
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopMsg.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopMsg.java
index 2a5d3fba9f..7057535e42 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopMsg.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopMsg.java
@@ -16,9 +16,11 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class RecipeShopMsg extends GameServerPacket
+public class RecipeShopMsg implements IClientOutgoingPacket
{
private final PlayerInstance _player;
@@ -28,10 +30,11 @@ public class RecipeShopMsg extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xdb);
- writeD(_player.getObjectId());
- writeS(_player.getCreateList().getStoreName());
+ OutgoingPackets.RECIPE_SHOP_MSG.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeS(_player.getCreateList().getStoreName());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopSellList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopSellList.java
index bbb848dcb9..dec04bd8c3 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopSellList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RecipeShopSellList.java
@@ -16,11 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.ManufactureItem;
import org.l2jmobius.gameserver.model.ManufactureList;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class RecipeShopSellList extends GameServerPacket
+public class RecipeShopSellList implements IClientOutgoingPacket
{
private final PlayerInstance _buyer;
private final PlayerInstance _player;
@@ -32,24 +34,25 @@ public class RecipeShopSellList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
final ManufactureList createList = _player.getCreateList();
if (createList != null)
{
- writeC(0xd9);
- writeD(_player.getObjectId());
- writeD((int) _player.getCurrentMp()); // Creator's MP
- writeD(_player.getMaxMp()); // Creator's MP
- writeD(_buyer.getAdena()); // Buyer Adena
- writeD(createList.size());
+ OutgoingPackets.RECIPE_SHOP_SELL_LIST.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeD((int) _player.getCurrentMp()); // Creator's MP
+ packet.writeD(_player.getMaxMp()); // Creator's MP
+ packet.writeD(_buyer.getAdena()); // Buyer Adena
+ packet.writeD(createList.size());
for (ManufactureItem item : createList.getList())
{
- writeD(item.getRecipeId());
- writeD(0x00); // unknown
- writeD(item.getCost());
+ packet.writeD(item.getRecipeId());
+ packet.writeD(0x00); // unknown
+ packet.writeD(item.getCost());
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RelationChanged.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RelationChanged.java
index 405f106dbd..a744be6a28 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RelationChanged.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RelationChanged.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Playable;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.actor.instance.SummonInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Luca Baldi
*/
-public class RelationChanged extends GameServerPacket
+public class RelationChanged implements IClientOutgoingPacket
{
public static final int RELATION_PVP_FLAG = 0x00002; // pvp ???
public static final int RELATION_HAS_KARMA = 0x00004; // karma ???
@@ -59,13 +61,14 @@ public class RelationChanged extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xce);
- writeD(_objId);
- writeD(_relation);
- writeD(_autoAttackable);
- writeD(_karma);
- writeD(_pvpFlag);
+ OutgoingPackets.RELATION_CHANGED.writeId(packet);
+ packet.writeD(_objId);
+ packet.writeD(_relation);
+ packet.writeD(_autoAttackable);
+ packet.writeD(_karma);
+ packet.writeD(_pvpFlag);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RestartResponse.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RestartResponse.java
index 52fba6d0e5..755950cdc0 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RestartResponse.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/RestartResponse.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class RestartResponse extends GameServerPacket
+public class RestartResponse implements IClientOutgoingPacket
{
private static final RestartResponse STATIC_PACKET_TRUE = new RestartResponse(true);
private static final RestartResponse STATIC_PACKET_FALSE = new RestartResponse(false);
@@ -38,10 +41,11 @@ public class RestartResponse extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x5f);
- writeD(_result ? 1 : 0);
- writeS(_message);
+ OutgoingPackets.RESTART_RESPONSE.writeId(packet);
+ packet.writeD(_result ? 1 : 0);
+ packet.writeS(_message);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Revive.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Revive.java
index f7ad1ae2c4..a0487f1cde 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Revive.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Revive.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.WorldObject;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 0000: 0c 9b da 12 40 ....@ format d
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:40 $
*/
-public class Revive extends GameServerPacket
+public class Revive implements IClientOutgoingPacket
{
private final int _objectId;
@@ -32,9 +34,10 @@ public class Revive extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x07);
- writeD(_objectId);
+ OutgoingPackets.REVIVE.writeId(packet);
+ packet.writeD(_objectId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Ride.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Ride.java
index 2e0728d87d..5004a5a2f3 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Ride.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Ride.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class Ride extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class Ride implements IClientOutgoingPacket
{
public static final int ACTION_MOUNT = 1;
public static final int ACTION_DISMOUNT = 0;
@@ -42,23 +45,19 @@ public class Ride extends GameServerPacket
}
}
- @Override
- public void runImpl()
- {
- }
-
public int getMountType()
{
return _rideType;
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x86);
- writeD(_id);
- writeD(_bRide);
- writeD(_rideType);
- writeD(_rideClassID);
+ OutgoingPackets.RIDE.writeId(packet);
+ packet.writeD(_id);
+ packet.writeD(_bRide);
+ packet.writeD(_rideType);
+ packet.writeD(_rideClassID);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SSQStatus.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SSQStatus.java
index 2f650bd463..9f794c1d1f 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SSQStatus.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SSQStatus.java
@@ -16,17 +16,19 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.sevensigns.SevenSigns;
import org.l2jmobius.gameserver.model.sevensigns.SevenSignsFestival;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.SystemMessageId;
/**
* Seven Signs Record Update packet type id 0xf5 format: c cc (Page Num = 1 -> 4, period) 1: [ddd cc dd ddd c ddd c] 2: [hc [cd (dc (S))] 3: [ccc (cccc)] 4: [(cchh)]
* @author Tempy
*/
-public class SSQStatus extends GameServerPacket
+public class SSQStatus implements IClientOutgoingPacket
{
private final PlayerInstance _activevChar;
private final int _page;
@@ -38,15 +40,15 @@ public class SSQStatus extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
final int winningCabal = SevenSigns.getInstance().getCabalHighestScore();
final int totalDawnMembers = SevenSigns.getInstance().getTotalMembers(SevenSigns.CABAL_DAWN);
final int totalDuskMembers = SevenSigns.getInstance().getTotalMembers(SevenSigns.CABAL_DUSK);
- writeC(0xf5);
+ OutgoingPackets.SSQ_STATUS.writeId(packet);
- writeC(_page);
- writeC(SevenSigns.getInstance().getCurrentPeriod()); // current period?
+ packet.writeC(_page);
+ packet.writeC(SevenSigns.getInstance().getCurrentPeriod()); // current period?
int dawnPercent = 0;
int duskPercent = 0;
@@ -56,28 +58,28 @@ public class SSQStatus extends GameServerPacket
case 1:
{
// [ddd cc dd ddd c ddd c]
- writeD(SevenSigns.getInstance().getCurrentCycle());
+ packet.writeD(SevenSigns.getInstance().getCurrentCycle());
final int currentPeriod = SevenSigns.getInstance().getCurrentPeriod();
switch (currentPeriod)
{
case SevenSigns.PERIOD_COMP_RECRUITING:
{
- writeD(SystemMessageId.THIS_IS_THE_INITIAL_PERIOD.getId());
+ packet.writeD(SystemMessageId.THIS_IS_THE_INITIAL_PERIOD.getId());
break;
}
case SevenSigns.PERIOD_COMPETITION:
{
- writeD(SystemMessageId.THIS_IS_A_QUEST_EVENT_PERIOD.getId());
+ packet.writeD(SystemMessageId.THIS_IS_A_QUEST_EVENT_PERIOD.getId());
break;
}
case SevenSigns.PERIOD_COMP_RESULTS:
{
- writeD(SystemMessageId.THIS_IS_A_PERIOD_OF_CALCULATING_STATISTICS_IN_THE_SERVER.getId());
+ packet.writeD(SystemMessageId.THIS_IS_A_PERIOD_OF_CALCULATING_STATISTICS_IN_THE_SERVER.getId());
break;
}
case SevenSigns.PERIOD_SEAL_VALIDATION:
{
- writeD(SystemMessageId.THIS_IS_THE_SEAL_VALIDATION_PERIOD.getId());
+ packet.writeD(SystemMessageId.THIS_IS_THE_SEAL_VALIDATION_PERIOD.getId());
break;
}
}
@@ -87,22 +89,22 @@ public class SSQStatus extends GameServerPacket
case SevenSigns.PERIOD_COMP_RECRUITING:
case SevenSigns.PERIOD_COMP_RESULTS:
{
- writeD(SystemMessageId.UNTIL_TODAY_AT_6_00_P_M.getId());
+ packet.writeD(SystemMessageId.UNTIL_TODAY_AT_6_00_P_M.getId());
break;
}
case SevenSigns.PERIOD_COMPETITION:
case SevenSigns.PERIOD_SEAL_VALIDATION:
{
- writeD(SystemMessageId.UNTIL_NEXT_MONDAY_AT_6_00_P_M.getId());
+ packet.writeD(SystemMessageId.UNTIL_NEXT_MONDAY_AT_6_00_P_M.getId());
break;
}
}
- writeC(SevenSigns.getInstance().getPlayerCabal(_activevChar));
- writeC(SevenSigns.getInstance().getPlayerSeal(_activevChar));
+ packet.writeC(SevenSigns.getInstance().getPlayerCabal(_activevChar));
+ packet.writeC(SevenSigns.getInstance().getPlayerSeal(_activevChar));
- writeD(SevenSigns.getInstance().getPlayerStoneContrib(_activevChar)); // Seal Stones Turned-In
- writeD(SevenSigns.getInstance().getPlayerAdenaCollect(_activevChar)); // Ancient Adena to Collect
+ packet.writeD(SevenSigns.getInstance().getPlayerStoneContrib(_activevChar)); // Seal Stones Turned-In
+ packet.writeD(SevenSigns.getInstance().getPlayerAdenaCollect(_activevChar)); // Ancient Adena to Collect
final double dawnStoneScore = SevenSigns.getInstance().getCurrentStoneScore(SevenSigns.CABAL_DAWN);
final int dawnFestivalScore = SevenSigns.getInstance().getCurrentFestivalScore(SevenSigns.CABAL_DAWN);
@@ -131,62 +133,62 @@ public class SSQStatus extends GameServerPacket
}
/* DUSK */
- writeD(duskStoneScoreProp); // Seal Stone Score
- writeD(duskFestivalScore); // Festival Score
- writeD(duskTotalScore); // Total Score
+ packet.writeD(duskStoneScoreProp); // Seal Stone Score
+ packet.writeD(duskFestivalScore); // Festival Score
+ packet.writeD(duskTotalScore); // Total Score
- writeC(duskPercent); // Dusk %
+ packet.writeC(duskPercent); // Dusk %
/* DAWN */
- writeD(dawnStoneScoreProp); // Seal Stone Score
- writeD(dawnFestivalScore); // Festival Score
- writeD(dawnTotalScore); // Total Score
+ packet.writeD(dawnStoneScoreProp); // Seal Stone Score
+ packet.writeD(dawnFestivalScore); // Festival Score
+ packet.writeD(dawnTotalScore); // Total Score
- writeC(dawnPercent); // Dawn %
+ packet.writeC(dawnPercent); // Dawn %
break;
}
case 2:
{
// c cc hc [cd (dc (S))]
- writeH(1);
- writeC(5); // Total number of festivals
+ packet.writeH(1);
+ packet.writeC(5); // Total number of festivals
for (int i = 0; i < 5; i++)
{
- writeC(i + 1); // Current client-side festival ID
- writeD(SevenSignsFestival.FESTIVAL_LEVEL_SCORES[i]);
+ packet.writeC(i + 1); // Current client-side festival ID
+ packet.writeD(SevenSignsFestival.FESTIVAL_LEVEL_SCORES[i]);
final int duskScore = SevenSignsFestival.getInstance().getHighestScore(SevenSigns.CABAL_DUSK, i);
final int dawnScore = SevenSignsFestival.getInstance().getHighestScore(SevenSigns.CABAL_DAWN, i);
// Dusk Score \\
- writeD(duskScore);
+ packet.writeD(duskScore);
StatSet highScoreData = SevenSignsFestival.getInstance().getHighestScoreData(SevenSigns.CABAL_DUSK, i);
String[] partyMembers = highScoreData.getString("members").split(",");
if (partyMembers != null)
{
- writeC(partyMembers.length);
+ packet.writeC(partyMembers.length);
for (String partyMember : partyMembers)
{
- writeS(partyMember);
+ packet.writeS(partyMember);
}
}
else
{
- writeC(0);
+ packet.writeC(0);
}
// Dawn Score \\
- writeD(dawnScore);
+ packet.writeD(dawnScore);
highScoreData = SevenSignsFestival.getInstance().getHighestScoreData(SevenSigns.CABAL_DAWN, i);
partyMembers = highScoreData.getString("members").split(",");
if (partyMembers != null)
{
- writeC(partyMembers.length);
+ packet.writeC(partyMembers.length);
for (String partyMember : partyMembers)
{
- writeS(partyMember);
+ packet.writeS(partyMember);
}
}
else
{
- writeC(0);
+ packet.writeC(0);
}
}
break;
@@ -194,37 +196,37 @@ public class SSQStatus extends GameServerPacket
case 3:
{
// c cc [ccc (cccc)]
- writeC(10); // Minimum limit for winning cabal to retain their seal
- writeC(35); // Minimum limit for winning cabal to claim a seal
- writeC(3); // Total number of seals
+ packet.writeC(10); // Minimum limit for winning cabal to retain their seal
+ packet.writeC(35); // Minimum limit for winning cabal to claim a seal
+ packet.writeC(3); // Total number of seals
for (int i = 1; i < 4; i++)
{
final int dawnProportion = SevenSigns.getInstance().getSealProportion(i, SevenSigns.CABAL_DAWN);
final int duskProportion = SevenSigns.getInstance().getSealProportion(i, SevenSigns.CABAL_DUSK);
- writeC(i);
- writeC(SevenSigns.getInstance().getSealOwner(i));
+ packet.writeC(i);
+ packet.writeC(SevenSigns.getInstance().getSealOwner(i));
if (totalDuskMembers == 0)
{
if (totalDawnMembers == 0)
{
- writeC(0);
- writeC(0);
+ packet.writeC(0);
+ packet.writeC(0);
}
else
{
- writeC(0);
- writeC(Math.round(((float) dawnProportion / totalDawnMembers) * 100));
+ packet.writeC(0);
+ packet.writeC(Math.round(((float) dawnProportion / totalDawnMembers) * 100));
}
}
else if (totalDawnMembers == 0)
{
- writeC(Math.round(((float) duskProportion / totalDuskMembers) * 100));
- writeC(0);
+ packet.writeC(Math.round(((float) duskProportion / totalDuskMembers) * 100));
+ packet.writeC(0);
}
else
{
- writeC(Math.round(((float) duskProportion / totalDuskMembers) * 100));
- writeC(Math.round(((float) dawnProportion / totalDawnMembers) * 100));
+ packet.writeC(Math.round(((float) duskProportion / totalDuskMembers) * 100));
+ packet.writeC(Math.round(((float) dawnProportion / totalDawnMembers) * 100));
}
}
break;
@@ -232,8 +234,8 @@ public class SSQStatus extends GameServerPacket
case 4:
{
// c cc [cc (cchh)]
- writeC(winningCabal); // Overall predicted winner
- writeC(3); // Total number of seals
+ packet.writeC(winningCabal); // Overall predicted winner
+ packet.writeC(3); // Total number of seals
for (int i = 1; i < 4; i++)
{
final int dawnProportion = SevenSigns.getInstance().getSealProportion(i, SevenSigns.CABAL_DAWN);
@@ -241,7 +243,7 @@ public class SSQStatus extends GameServerPacket
dawnPercent = Math.round((dawnProportion / (totalDawnMembers == 0 ? 1 : (float) totalDawnMembers)) * 100);
duskPercent = Math.round((duskProportion / (totalDuskMembers == 0 ? 1 : (float) totalDuskMembers)) * 100);
final int sealOwner = SevenSigns.getInstance().getSealOwner(i);
- writeC(i);
+ packet.writeC(i);
switch (sealOwner)
{
case SevenSigns.CABAL_NULL:
@@ -250,21 +252,21 @@ public class SSQStatus extends GameServerPacket
{
case SevenSigns.CABAL_NULL:
{
- writeC(SevenSigns.CABAL_NULL);
- writeH(SystemMessageId.THE_COMPETITION_HAS_ENDED_IN_A_TIE_THEREFORE_NOBODY_HAS_BEEN_AWARDED_THE_SEAL.getId());
+ packet.writeC(SevenSigns.CABAL_NULL);
+ packet.writeH(SystemMessageId.THE_COMPETITION_HAS_ENDED_IN_A_TIE_THEREFORE_NOBODY_HAS_BEEN_AWARDED_THE_SEAL.getId());
break;
}
case SevenSigns.CABAL_DAWN:
{
if (dawnPercent >= 35)
{
- writeC(SevenSigns.CABAL_DAWN);
- writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_NOT_OWNED_SINCE_35_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_DAWN);
+ packet.writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_NOT_OWNED_SINCE_35_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
}
else
{
- writeC(SevenSigns.CABAL_NULL);
- writeH(SystemMessageId.SINCE_THE_SEAL_WAS_NOT_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_SINCE_LESS_THAN_35_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_NULL);
+ packet.writeH(SystemMessageId.SINCE_THE_SEAL_WAS_NOT_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_SINCE_LESS_THAN_35_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
}
break;
}
@@ -272,13 +274,13 @@ public class SSQStatus extends GameServerPacket
{
if (duskPercent >= 35)
{
- writeC(SevenSigns.CABAL_DUSK);
- writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_NOT_OWNED_SINCE_35_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_DUSK);
+ packet.writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_NOT_OWNED_SINCE_35_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
}
else
{
- writeC(SevenSigns.CABAL_NULL);
- writeH(SystemMessageId.SINCE_THE_SEAL_WAS_NOT_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_SINCE_LESS_THAN_35_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_NULL);
+ packet.writeH(SystemMessageId.SINCE_THE_SEAL_WAS_NOT_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_SINCE_LESS_THAN_35_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
}
break;
}
@@ -293,25 +295,25 @@ public class SSQStatus extends GameServerPacket
{
if (dawnPercent >= 10)
{
- writeC(SevenSigns.CABAL_DAWN);
- writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_DAWN);
+ packet.writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
break;
}
- writeC(SevenSigns.CABAL_NULL);
- writeH(SystemMessageId.THE_COMPETITION_HAS_ENDED_IN_A_TIE_THEREFORE_NOBODY_HAS_BEEN_AWARDED_THE_SEAL.getId());
+ packet.writeC(SevenSigns.CABAL_NULL);
+ packet.writeH(SystemMessageId.THE_COMPETITION_HAS_ENDED_IN_A_TIE_THEREFORE_NOBODY_HAS_BEEN_AWARDED_THE_SEAL.getId());
break;
}
case SevenSigns.CABAL_DAWN:
{
if (dawnPercent >= 10)
{
- writeC(sealOwner);
- writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(sealOwner);
+ packet.writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
}
else
{
- writeC(SevenSigns.CABAL_NULL);
- writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_BECAUSE_LESS_THAN_10_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_NULL);
+ packet.writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_BECAUSE_LESS_THAN_10_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
}
break;
}
@@ -319,18 +321,18 @@ public class SSQStatus extends GameServerPacket
{
if (duskPercent >= 35)
{
- writeC(SevenSigns.CABAL_DUSK);
- writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_NOT_OWNED_SINCE_35_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_DUSK);
+ packet.writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_NOT_OWNED_SINCE_35_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
}
else if (dawnPercent >= 10)
{
- writeC(SevenSigns.CABAL_DAWN);
- writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_DAWN);
+ packet.writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
}
else
{
- writeC(SevenSigns.CABAL_NULL);
- writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_BECAUSE_LESS_THAN_10_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_NULL);
+ packet.writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_BECAUSE_LESS_THAN_10_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
}
break;
}
@@ -345,30 +347,30 @@ public class SSQStatus extends GameServerPacket
{
if (duskPercent >= 10)
{
- writeC(SevenSigns.CABAL_DUSK);
- writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_DUSK);
+ packet.writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
break;
}
- writeC(SevenSigns.CABAL_NULL);
- writeH(SystemMessageId.THE_COMPETITION_HAS_ENDED_IN_A_TIE_THEREFORE_NOBODY_HAS_BEEN_AWARDED_THE_SEAL.getId());
+ packet.writeC(SevenSigns.CABAL_NULL);
+ packet.writeH(SystemMessageId.THE_COMPETITION_HAS_ENDED_IN_A_TIE_THEREFORE_NOBODY_HAS_BEEN_AWARDED_THE_SEAL.getId());
break;
}
case SevenSigns.CABAL_DAWN:
{
if (dawnPercent >= 35)
{
- writeC(SevenSigns.CABAL_DAWN);
- writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_NOT_OWNED_SINCE_35_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_DAWN);
+ packet.writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_NOT_OWNED_SINCE_35_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
}
else if (duskPercent >= 10)
{
- writeC(sealOwner);
- writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(sealOwner);
+ packet.writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
}
else
{
- writeC(SevenSigns.CABAL_NULL);
- writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_BECAUSE_LESS_THAN_10_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_NULL);
+ packet.writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_BECAUSE_LESS_THAN_10_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
}
break;
}
@@ -376,13 +378,13 @@ public class SSQStatus extends GameServerPacket
{
if (duskPercent >= 10)
{
- writeC(sealOwner);
- writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(sealOwner);
+ packet.writeH(SystemMessageId.SINCE_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_AND_10_PERCENT_OR_MORE_PEOPLE_HAVE_VOTED.getId());
}
else
{
- writeC(SevenSigns.CABAL_NULL);
- writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_BECAUSE_LESS_THAN_10_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
+ packet.writeC(SevenSigns.CABAL_NULL);
+ packet.writeH(SystemMessageId.ALTHOUGH_THE_SEAL_WAS_OWNED_DURING_THE_PREVIOUS_PERIOD_BECAUSE_LESS_THAN_10_PERCENT_OF_PEOPLE_HAVE_VOTED.getId());
}
break;
}
@@ -390,10 +392,11 @@ public class SSQStatus extends GameServerPacket
break;
}
}
- writeH(0);
+ packet.writeH(0);
}
break;
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SellList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SellList.java
index 396ff14f37..f2d63bdd80 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SellList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SellList.java
@@ -20,13 +20,15 @@ import java.util.ArrayList;
import java.util.List;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.3.2.4 $ $Date: 2005/03/27 15:29:39 $
*/
-public class SellList extends GameServerPacket
+public class SellList implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _money;
@@ -50,27 +52,28 @@ public class SellList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x10);
- writeD(_money);
- writeD(0x00);
+ OutgoingPackets.SELL_LIST.writeId(packet);
+ packet.writeD(_money);
+ packet.writeD(0x00);
- writeH(_selllist.size());
+ packet.writeH(_selllist.size());
for (ItemInstance item : _selllist)
{
- writeH(item.getItem().getType1());
- writeD(item.getObjectId());
- writeD(item.getItemId());
- writeD(item.getCount());
- writeH(item.getItem().getType2());
- writeH(0x00);
- writeD(item.getItem().getBodyPart());
- writeH(item.getEnchantLevel());
- writeH(0x00);
- writeH(0x00);
- writeD(Config.MERCHANT_ZERO_SELL_PRICE ? 0 : item.getItem().getReferencePrice() / 2);
+ packet.writeH(item.getItem().getType1());
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItemId());
+ packet.writeD(item.getCount());
+ packet.writeH(item.getItem().getType2());
+ packet.writeH(0x00);
+ packet.writeD(item.getItem().getBodyPart());
+ packet.writeH(item.getEnchantLevel());
+ packet.writeH(0x00);
+ packet.writeH(0x00);
+ packet.writeD(Config.MERCHANT_ZERO_SELL_PRICE ? 0 : item.getItem().getReferencePrice() / 2);
}
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SellListProcure.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SellListProcure.java
index 620ee35bfe..bad65a4721 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SellListProcure.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SellListProcure.java
@@ -22,12 +22,14 @@ import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.instancemanager.CastleManager;
import org.l2jmobius.gameserver.instancemanager.CastleManorManager.CropProcure;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class SellListProcure extends GameServerPacket
+public class SellListProcure implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _money;
@@ -52,23 +54,24 @@ public class SellListProcure extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xE9);
- writeD(_money); // money
- writeD(0x00); // lease ?
- writeH(_sellList.size()); // list size
+ OutgoingPackets.SELL_LIST_PROCURE.writeId(packet);
+ packet.writeD(_money); // money
+ packet.writeD(0x00); // lease ?
+ packet.writeH(_sellList.size()); // list size
for (Entry entry : _sellList.entrySet())
{
final ItemInstance item = entry.getKey();
- writeH(item.getItem().getType1());
- writeD(item.getObjectId());
- writeD(item.getItemId());
- writeD(entry.getValue()); // count
- writeH(item.getItem().getType2());
- writeH(0); // unknown
- writeD(0); // price, u shouldnt get any adena for crops, only raw materials
+ packet.writeH(item.getItem().getType1());
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItemId());
+ packet.writeD(entry.getValue()); // count
+ packet.writeH(item.getItem().getType2());
+ packet.writeH(0); // unknown
+ packet.writeD(0); // price, u shouldnt get any adena for crops, only raw materials
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendMacroList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendMacroList.java
index 782b94aa3f..42d04e3f28 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendMacroList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendMacroList.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Macro;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* packet type id 0xe7 sample e7 d // unknown change of Macro edit,add,delete c // unknown c //count of Macros c // unknown d // id S // macro name S // desc S // acronym c // icon c // count c // entry c // type d // skill id c // shortcut id S // command name format: cdhcdSSScc (ccdcS)
*/
-public class SendMacroList extends GameServerPacket
+public class SendMacroList implements IClientOutgoingPacket
{
private final int _rev;
private final int _count;
@@ -35,58 +37,59 @@ public class SendMacroList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xE7);
+ OutgoingPackets.SEND_MACRO_LIST.writeId(packet);
- writeD(_rev); // macro change revision (changes after each macro edition)
- writeC(0); // unknown
- writeC(_count); // count of Macros
- writeC(_macro != null ? 1 : 0); // unknown
+ packet.writeD(_rev); // macro change revision (changes after each macro edition)
+ packet.writeC(0); // unknown
+ packet.writeC(_count); // count of Macros
+ packet.writeC(_macro != null ? 1 : 0); // unknown
if (_macro != null)
{
- writeD(_macro.id); // Macro ID
- writeS(_macro.name); // Macro Name
- writeS(_macro.descr); // Desc
- writeS(_macro.acronym); // acronym
- writeC(_macro.icon); // icon
+ packet.writeD(_macro.id); // Macro ID
+ packet.writeS(_macro.name); // Macro Name
+ packet.writeS(_macro.descr); // Desc
+ packet.writeS(_macro.acronym); // acronym
+ packet.writeC(_macro.icon); // icon
- writeC(_macro.commands.length); // count
+ packet.writeC(_macro.commands.length); // count
for (int i = 0; i < _macro.commands.length; i++)
{
final Macro.MacroCmd cmd = _macro.commands[i];
- writeC(i + 1); // i of count
- writeC(cmd.type); // type 1 = skill, 3 = action, 4 = shortcut
- writeD(cmd.d1); // skill id
- writeC(cmd.d2); // shortcut id
- writeS(cmd.cmd); // command name
+ packet.writeC(i + 1); // i of count
+ packet.writeC(cmd.type); // type 1 = skill, 3 = action, 4 = shortcut
+ packet.writeD(cmd.d1); // skill id
+ packet.writeC(cmd.d2); // shortcut id
+ packet.writeS(cmd.cmd); // command name
}
}
// writeD(1); //unknown change of Macro edit,add,delete
- // writeC(0); //unknown
- // writeC(1); //count of Macros
- // writeC(1); //unknown
+ // packet.writeC(0); //unknown
+ // packet.writeC(1); //count of Macros
+ // packet.writeC(1); //unknown
//
// writeD(1430); //Macro ID
// writeS("Admin"); //Macro Name
// writeS("Admin Command"); //Desc
// writeS("ADM"); //acronym
- // writeC(0); //icon
- // writeC(2); //count
+ // packet.writeC(0); //icon
+ // packet.writeC(2); //count
//
- // writeC(1); //i of count
- // writeC(3); //type 1 = skill, 3 = action, 4 = shortcut
+ // packet.writeC(1); //i of count
+ // packet.writeC(3); //type 1 = skill, 3 = action, 4 = shortcut
// writeD(0); // skill id
- // writeC(0); // shortcut id
+ // packet.writeC(0); // shortcut id
// writeS("/loc"); // command name
//
- // writeC(2); //i of count
- // writeC(3); //type 1 = skill, 3 = action, 4 = shortcut
+ // packet.writeC(2); //i of count
+ // packet.writeC(3); //type 1 = skill, 3 = action, 4 = shortcut
// writeD(0); // skill id
- // writeC(0); // shortcut id
+ // packet.writeC(0); // shortcut id
// writeS("//admin"); // command name
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendTradeDone.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendTradeDone.java
index f6db039d42..31f922d34e 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendTradeDone.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendTradeDone.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class SendTradeDone extends GameServerPacket
+public class SendTradeDone implements IClientOutgoingPacket
{
private final int _num;
@@ -29,9 +32,10 @@ public class SendTradeDone extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x22);
- writeD(_num);
+ OutgoingPackets.SEND_TRADE_DONE.writeId(packet);
+ packet.writeD(_num);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendTradeRequest.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendTradeRequest.java
index 981de69197..b889148eae 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendTradeRequest.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SendTradeRequest.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:40 $
*/
-public class SendTradeRequest extends GameServerPacket
+public class SendTradeRequest implements IClientOutgoingPacket
{
private final int _senderID;
@@ -29,9 +32,10 @@ public class SendTradeRequest extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x5e);
- writeD(_senderID);
+ OutgoingPackets.SEND_TRADE_REQUEST.writeId(packet);
+ packet.writeD(_senderID);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ServerClose.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ServerClose.java
index 2e75c7574e..e914eb0da5 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ServerClose.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ServerClose.java
@@ -16,19 +16,20 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author devScarlet & mrTJO
*/
-public class ServerClose extends GameServerPacket
+public class ServerClose implements IClientOutgoingPacket
{
public static final ServerClose STATIC_PACKET = new ServerClose();
- /**
- * @see org.l2jmobius.gameserver.network.serverpackets.GameServerPacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x26);
+ OutgoingPackets.SERVER_CLOSE.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetSummonRemainTime.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetSummonRemainTime.java
index 68d23e105a..db12dfc8ae 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetSummonRemainTime.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetSummonRemainTime.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* format (c) dd
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:40 $
*/
-public class SetSummonRemainTime extends GameServerPacket
+public class SetSummonRemainTime implements IClientOutgoingPacket
{
private final int _maxTime;
private final int _remainingTime;
@@ -32,10 +35,11 @@ public class SetSummonRemainTime extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xd1);
- writeD(_maxTime);
- writeD(_remainingTime);
+ OutgoingPackets.SET_SUMMON_REMAIN_TIME.writeId(packet);
+ packet.writeD(_maxTime);
+ packet.writeD(_remainingTime);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetToLocation.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetToLocation.java
deleted file mode 100644
index 5edd8683a5..0000000000
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetToLocation.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.gameserver.network.serverpackets;
-
-import org.l2jmobius.gameserver.model.actor.Creature;
-
-/**
- * 0000: 76 7a 07 80 49 ea 01 00 00 c1 37 fe uz..Ic'.J.....7.
- *
- * 0010: ff 9e c3 03 00 8f f3 ff ff .........
- *
- *
- * format dddddd (player id, target id, distance, startx, starty, startz)
- *
- * @version $Revision: 1.3.4.3 $ $Date: 2005/03/27 15:29:57 $
- */
-public class SetToLocation extends GameServerPacket
-{
- private final int _objectId;
- private final int _x;
- private final int _y;
- private final int _z;
- private final int _heading;
-
- public SetToLocation(Creature creature)
- {
- _objectId = creature.getObjectId();
- _x = creature.getX();
- _y = creature.getY();
- _z = creature.getZ();
- _heading = creature.getHeading();
- }
-
- @Override
- protected final void writeImpl()
- {
- writeC(0x76);
-
- writeD(_objectId);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_heading);
- }
-}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetupGauge.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetupGauge.java
index 9af3f92fd6..b252d90ded 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetupGauge.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SetupGauge.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* sample 0000: 85 00 00 00 00 f0 1a 00 00
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class SetupGauge extends GameServerPacket
+public class SetupGauge implements IClientOutgoingPacket
{
public static final int BLUE = 0;
public static final int RED = 1;
@@ -36,12 +39,12 @@ public class SetupGauge extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x6d);
- writeD(_dat1);
- writeD(_time);
-
- writeD(_time); // c2
+ OutgoingPackets.SETUP_GAUGE.writeId(packet);
+ packet.writeD(_dat1);
+ packet.writeD(_time);
+ packet.writeD(_time); // c2
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShortCutInit.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShortCutInit.java
index 56015586b4..b973120b9a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShortCutInit.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShortCutInit.java
@@ -16,14 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.ShortCut;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* ShortCutInit format d *(1dddd)/(2ddddd)/(3dddd)
* @version $Revision: 1.3.2.1.2.4 $ $Date: 2005/03/27 15:29:39 $
*/
-public class ShortCutInit extends GameServerPacket
+public class ShortCutInit implements IClientOutgoingPacket
{
private ShortCut[] _shortCuts;
private PlayerInstance _player;
@@ -40,20 +42,22 @@ public class ShortCutInit extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x45);
- writeD(_shortCuts.length);
+ OutgoingPackets.SHORT_CUT_INIT.writeId(packet);
+ packet.writeD(_shortCuts.length);
+
for (ShortCut sc : _shortCuts)
{
- writeD(sc.getType());
- writeD(sc.getSlot() + (sc.getPage() * 12));
- writeD(sc.getId());
+ packet.writeD(sc.getType());
+ packet.writeD(sc.getSlot() + (sc.getPage() * 12));
+ packet.writeD(sc.getId());
if (sc.getLevel() > -1)
{
- writeD(_player.getSkillLevel(sc.getId()));
+ packet.writeD(_player.getSkillLevel(sc.getId()));
}
- writeD(1);
+ packet.writeD(1);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShortCutRegister.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShortCutRegister.java
index a2d87a8689..1a5d161862 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShortCutRegister.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShortCutRegister.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.ShortCut;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample 56 01000000 04000000 dd9fb640 01000000 56 02000000 07000000 38000000 03000000 01000000 56 03000000 00000000 02000000 01000000 format dd d/dd/d d
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class ShortCutRegister extends GameServerPacket
+public class ShortCutRegister implements IClientOutgoingPacket
{
private final ShortCut _shortcut;
@@ -36,47 +38,48 @@ public class ShortCutRegister extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x44);
+ OutgoingPackets.SHORT_CUT_REGISTER.writeId(packet);
- writeD(_shortcut.getType());
- writeD(_shortcut.getSlot() + (_shortcut.getPage() * 12)); // C4 Client
+ packet.writeD(_shortcut.getType());
+ packet.writeD(_shortcut.getSlot() + (_shortcut.getPage() * 12)); // C4 Client
switch (_shortcut.getType())
{
case ShortCut.TYPE_ITEM: // 1
{
- writeD(_shortcut.getId());
+ packet.writeD(_shortcut.getId());
break;
}
case ShortCut.TYPE_SKILL: // 2
{
- writeD(_shortcut.getId());
- writeD(_shortcut.getLevel());
- writeC(0x00); // C5
+ packet.writeD(_shortcut.getId());
+ packet.writeD(_shortcut.getLevel());
+ packet.writeC(0x00); // C5
break;
}
case ShortCut.TYPE_ACTION: // 3
{
- writeD(_shortcut.getId());
+ packet.writeD(_shortcut.getId());
break;
}
case ShortCut.TYPE_MACRO: // 4
{
- writeD(_shortcut.getId());
+ packet.writeD(_shortcut.getId());
break;
}
case ShortCut.TYPE_RECIPE: // 5
{
- writeD(_shortcut.getId());
+ packet.writeD(_shortcut.getId());
break;
}
default:
{
- writeD(_shortcut.getId());
+ packet.writeD(_shortcut.getId());
}
}
- writeD(1); // ??
+ packet.writeD(1); // ??
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowBoard.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowBoard.java
index 3791ae5ff0..b130e5a297 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowBoard.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowBoard.java
@@ -18,9 +18,11 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.commons.util.StringUtil;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class ShowBoard extends GameServerPacket
+public class ShowBoard implements IClientOutgoingPacket
{
public static final ShowBoard STATIC_SHOWBOARD_102 = new ShowBoard(null, "102");
public static final ShowBoard STATIC_SHOWBOARD_103 = new ShowBoard(null, "103");
@@ -51,18 +53,19 @@ public class ShowBoard extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x6e);
- writeC(0x01); // 1 to show, 0 to hide
- writeS(TOP);
- writeS(FAV);
- writeS(REGION);
- writeS(CLAN);
- writeS(MEMO);
- writeS(MAIL);
- writeS(FRIENDS);
- writeS(ADDFAV);
- writeS(_htmlCode.toString());
+ OutgoingPackets.SHOW_BOARD.writeId(packet);
+ packet.writeC(0x01); // 1 to show, 0 to hide
+ packet.writeS(TOP);
+ packet.writeS(FAV);
+ packet.writeS(REGION);
+ packet.writeS(CLAN);
+ packet.writeS(MEMO);
+ packet.writeS(MAIL);
+ packet.writeS(FRIENDS);
+ packet.writeS(ADDFAV);
+ packet.writeS(_htmlCode.toString());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowCalculator.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowCalculator.java
index a7cedeeea2..b93ad1825a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowCalculator.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowCalculator.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* sample format d
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class ShowCalculator extends GameServerPacket
+public class ShowCalculator implements IClientOutgoingPacket
{
private final int _calculatorId;
@@ -33,9 +36,10 @@ public class ShowCalculator extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xdc);
- writeD(_calculatorId);
+ OutgoingPackets.SHOW_CALCULATOR.writeId(packet);
+ packet.writeD(_calculatorId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowMiniMap.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowMiniMap.java
index 533763b2fe..9abed31a61 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowMiniMap.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowMiniMap.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.sevensigns.SevenSigns;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* sample format d
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class ShowMiniMap extends GameServerPacket
+public class ShowMiniMap implements IClientOutgoingPacket
{
private final int _mapId;
@@ -35,10 +37,11 @@ public class ShowMiniMap extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x9d);
- writeD(_mapId);
- writeD(SevenSigns.getInstance().getCurrentPeriod());
+ OutgoingPackets.SHOW_MINI_MAP.writeId(packet);
+ packet.writeD(_mapId);
+ packet.writeD(SevenSigns.getInstance().getCurrentPeriod());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowPCCafeCouponShowUI.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowPCCafeCouponShowUI.java
index 75b7bcb5d4..5b4e7eab78 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowPCCafeCouponShowUI.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowPCCafeCouponShowUI.java
@@ -16,16 +16,19 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* Format: (ch)
* @author -Wooden-
*/
-public class ShowPCCafeCouponShowUI extends GameServerPacket
+public class ShowPCCafeCouponShowUI implements IClientOutgoingPacket
{
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xfe);
- writeH(0x43);
+ OutgoingPackets.SHOW_PC_CAFE_COUPON_SHOW_UI.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowTownMap.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowTownMap.java
index af8b9eadc6..0d6c3178c9 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowTownMap.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowTownMap.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* sample format d
* @version $Revision: 1.1.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class ShowTownMap extends GameServerPacket
+public class ShowTownMap implements IClientOutgoingPacket
{
private final String _texture;
private final int _x;
@@ -39,11 +42,12 @@ public class ShowTownMap extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xde);
- writeS(_texture);
- writeD(_x);
- writeD(_y);
+ OutgoingPackets.SHOW_TOWN_MAP.writeId(packet);
+ packet.writeS(_texture);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowXMasSeal.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowXMasSeal.java
index f40ffaddc5..49e00c6988 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowXMasSeal.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ShowXMasSeal.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author devScarlet & mrTJO
*/
-public class ShowXMasSeal extends GameServerPacket
+public class ShowXMasSeal implements IClientOutgoingPacket
{
private final int _item;
@@ -29,9 +32,10 @@ public class ShowXMasSeal extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xF2);
- writeD(_item);
+ OutgoingPackets.SHOW_XMAS_SEAL.writeId(packet);
+ packet.writeD(_item);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeAttackerList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeAttackerList.java
index d4769a7450..59f75b1206 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeAttackerList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeAttackerList.java
@@ -16,10 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import java.util.Collection;
+
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.model.SiegeClan;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle;
+import org.l2jmobius.gameserver.model.siege.Fort;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Populates the Siege Attacker List in the SiegeInfo Window
@@ -46,30 +51,38 @@ import org.l2jmobius.gameserver.model.siege.Castle;
* d = AllyCrestID
* @author KenM
*/
-public class SiegeAttackerList extends GameServerPacket
+public class SiegeAttackerList implements IClientOutgoingPacket
{
- private final Castle _castle;
+ private final int _residenceId;
+ private final Collection _attackers;
public SiegeAttackerList(Castle castle)
{
- _castle = castle;
+ _residenceId = castle.getCastleId();
+ _attackers = castle.getSiege().getAttackerClans();
+ }
+
+ public SiegeAttackerList(Fort fort)
+ {
+ _residenceId = fort.getFortId();
+ _attackers = fort.getSiege().getAttackerClans();
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xca);
- writeD(_castle.getCastleId());
- writeD(0x00); // 0
- writeD(0x01); // 1
- writeD(0x00); // 0
- final int size = _castle.getSiege().getAttackerClans().size();
+ OutgoingPackets.SIEGE_ATTACKER_LIST.writeId(packet);
+ packet.writeD(_residenceId);
+ packet.writeD(0x00); // 0
+ packet.writeD(0x01); // 1
+ packet.writeD(0x00); // 0
+ final int size = _attackers.size();
if (size > 0)
{
Clan clan;
- writeD(size);
- writeD(size);
- for (SiegeClan siegeclan : _castle.getSiege().getAttackerClans())
+ packet.writeD(size);
+ packet.writeD(size);
+ for (SiegeClan siegeclan : _attackers)
{
clan = ClanTable.getInstance().getClan(siegeclan.getClanId());
if (clan == null)
@@ -77,21 +90,22 @@ public class SiegeAttackerList extends GameServerPacket
continue;
}
- writeD(clan.getClanId());
- writeS(clan.getName());
- writeS(clan.getLeaderName());
- writeD(clan.getCrestId());
- writeD(0x00); // signed time (seconds) (not storated by L2J)
- writeD(clan.getAllyId());
- writeS(clan.getAllyName());
- writeS(""); // AllyLeaderName
- writeD(clan.getAllyCrestId());
+ packet.writeD(clan.getClanId());
+ packet.writeS(clan.getName());
+ packet.writeS(clan.getLeaderName());
+ packet.writeD(clan.getCrestId());
+ packet.writeD(0x00); // signed time (seconds) (not storated by L2J)
+ packet.writeD(clan.getAllyId());
+ packet.writeS(clan.getAllyName());
+ packet.writeS(""); // AllyLeaderName
+ packet.writeD(clan.getAllyCrestId());
}
}
else
{
- writeD(0x00);
- writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeDefenderList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeDefenderList.java
index d857d970d0..b8223d2bb4 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeDefenderList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeDefenderList.java
@@ -16,10 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import java.util.Collection;
+
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.model.SiegeClan;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle;
+import org.l2jmobius.gameserver.model.siege.Fort;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Populates the Siege Defender List in the SiegeInfo Window
@@ -47,31 +52,42 @@ import org.l2jmobius.gameserver.model.siege.Castle;
* d = AllyCrestID
* @author KenM
*/
-public class SiegeDefenderList extends GameServerPacket
+public class SiegeDefenderList implements IClientOutgoingPacket
{
- private final Castle _castle;
+ private final int _residenceId;
+ private final Collection _defenders;
+ private final Collection _waiting;
public SiegeDefenderList(Castle castle)
{
- _castle = castle;
+ _residenceId = castle.getCastleId();
+ _defenders = castle.getSiege().getDefenderClans();
+ _waiting = castle.getSiege().getDefenderWaitingClans();
+ }
+
+ public SiegeDefenderList(Fort fort)
+ {
+ _residenceId = fort.getFortId();
+ _defenders = fort.getSiege().getDefenderClans();
+ _waiting = fort.getSiege().getDefenderWaitingClans();
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xcb);
- writeD(_castle.getCastleId());
- writeD(0x00); // 0
- writeD(0x01); // 1
- writeD(0x00); // 0
- final int size = _castle.getSiege().getDefenderClans().size() + _castle.getSiege().getDefenderWaitingClans().size();
+ OutgoingPackets.SIEGE_DEFENDER_LIST.writeId(packet);
+ packet.writeD(_residenceId);
+ packet.writeD(0x00); // 0
+ packet.writeD(0x01); // 1
+ packet.writeD(0x00); // 0
+ final int size = _defenders.size() + _waiting.size();
if (size > 0)
{
Clan clan;
- writeD(size);
- writeD(size);
+ packet.writeD(size);
+ packet.writeD(size);
// Listing the Lord and the approved clans
- for (SiegeClan siegeclan : _castle.getSiege().getDefenderClans())
+ for (SiegeClan siegeclan : _defenders)
{
clan = ClanTable.getInstance().getClan(siegeclan.getClanId());
if (clan == null)
@@ -79,58 +95,59 @@ public class SiegeDefenderList extends GameServerPacket
continue;
}
- writeD(clan.getClanId());
- writeS(clan.getName());
- writeS(clan.getLeaderName());
- writeD(clan.getCrestId());
- writeD(0x00); // signed time (seconds) (not storated by L2J)
+ packet.writeD(clan.getClanId());
+ packet.writeS(clan.getName());
+ packet.writeS(clan.getLeaderName());
+ packet.writeD(clan.getCrestId());
+ packet.writeD(0x00); // signed time (seconds) (not storated by L2J)
switch (siegeclan.getType())
{
case OWNER:
{
- writeD(0x01); // owner
+ packet.writeD(0x01); // owner
break;
}
case DEFENDER_PENDING:
{
- writeD(0x02); // approved
+ packet.writeD(0x02); // approved
break;
}
case DEFENDER:
{
- writeD(0x03); // waiting approved
+ packet.writeD(0x03); // waiting approved
break;
}
default:
{
- writeD(0x00);
+ packet.writeD(0x00);
break;
}
}
- writeD(clan.getAllyId());
- writeS(clan.getAllyName());
- writeS(""); // AllyLeaderName
- writeD(clan.getAllyCrestId());
+ packet.writeD(clan.getAllyId());
+ packet.writeS(clan.getAllyName());
+ packet.writeS(""); // AllyLeaderName
+ packet.writeD(clan.getAllyCrestId());
}
- for (SiegeClan siegeclan : _castle.getSiege().getDefenderWaitingClans())
+ for (SiegeClan siegeclan : _waiting)
{
clan = ClanTable.getInstance().getClan(siegeclan.getClanId());
- writeD(clan.getClanId());
- writeS(clan.getName());
- writeS(clan.getLeaderName());
- writeD(clan.getCrestId());
- writeD(0x00); // signed time (seconds) (not storated by L2J)
- writeD(0x02); // waiting approval
- writeD(clan.getAllyId());
- writeS(clan.getAllyName());
- writeS(""); // AllyLeaderName
- writeD(clan.getAllyCrestId());
+ packet.writeD(clan.getClanId());
+ packet.writeS(clan.getName());
+ packet.writeS(clan.getLeaderName());
+ packet.writeD(clan.getCrestId());
+ packet.writeD(0x00); // signed time (seconds) (not storated by L2J)
+ packet.writeD(0x02); // waiting approval
+ packet.writeD(clan.getAllyId());
+ packet.writeS(clan.getAllyName());
+ packet.writeS(""); // AllyLeaderName
+ packet.writeD(clan.getAllyCrestId());
}
}
else
{
- writeD(0x00);
- writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeInfo.java
index e7e79369a4..d73a8eb8b4 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SiegeInfo.java
@@ -17,12 +17,14 @@
package org.l2jmobius.gameserver.network.serverpackets;
import java.util.Calendar;
-import java.util.logging.Logger;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.data.sql.ClanTable;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.clan.Clan;
import org.l2jmobius.gameserver.model.siege.Castle;
+import org.l2jmobius.gameserver.model.siege.Fort;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Shows the Siege Info
@@ -43,54 +45,65 @@ import org.l2jmobius.gameserver.model.siege.Castle;
* d = (UNKNOW) Siege Time Select Related?
* @author KenM
*/
-public class SiegeInfo extends GameServerPacket
+public class SiegeInfo implements IClientOutgoingPacket
{
- private static final Logger LOGGER = Logger.getLogger(SiegeInfo.class.getName());
- private final Castle _castle;
+ private final PlayerInstance _player;
+ private final int _residenceId;
+ private final int _ownerId;
+ private final long _siegeDate;
+ private final String _name;
- public SiegeInfo(Castle castle)
+ public SiegeInfo(Castle castle, PlayerInstance player)
{
- _castle = castle;
+ _player = player;
+ _residenceId = castle.getCastleId();
+ _ownerId = castle.getOwnerId();
+ _siegeDate = castle.getSiege().getSiegeDate().getTimeInMillis() / 1000;
+ _name = castle.getName();
+ }
+
+ public SiegeInfo(Fort fort, PlayerInstance player)
+ {
+ _player = player;
+ _residenceId = fort.getFortId();
+ _ownerId = fort.getOwnerId();
+ _siegeDate = fort.getSiege().getSiegeDate().getTimeInMillis() / 1000;
+ _name = fort.getName();
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- final PlayerInstance player = getClient().getPlayer();
- if (player == null)
+ OutgoingPackets.SIEGE_INFO.writeId(packet);
+ packet.writeD(_residenceId);
+ packet.writeD((_ownerId == _player.getClanId()) && _player.isClanLeader() ? 0x01 : 0x00);
+ packet.writeD(_ownerId);
+ if (_ownerId > 0)
{
- return;
- }
-
- writeC(0xc9);
- writeD(_castle.getCastleId());
- writeD((_castle.getOwnerId() == player.getClanId()) && player.isClanLeader() ? 0x01 : 0x00);
- writeD(_castle.getOwnerId());
- if (_castle.getOwnerId() > 0)
- {
- final Clan owner = ClanTable.getInstance().getClan(_castle.getOwnerId());
+ final Clan owner = ClanTable.getInstance().getClan(_ownerId);
if (owner != null)
{
- writeS(owner.getName()); // Clan Name
- writeS(owner.getLeaderName()); // Clan Leader Name
- writeD(owner.getAllyId()); // Ally ID
- writeS(owner.getAllyName()); // Ally Name
+ packet.writeS(owner.getName()); // Clan Name
+ packet.writeS(owner.getLeaderName()); // Clan Leader Name
+ packet.writeD(owner.getAllyId()); // Ally ID
+ packet.writeS(owner.getAllyName()); // Ally Name
}
else
{
- LOGGER.warning("Null owner for castle: " + _castle.getName());
+ LOGGER.warning("Null owner for castle: " + _name);
}
}
else
{
- writeS("NPC"); // Clan Name
- writeS(""); // Clan Leader Name
- writeD(0); // Ally ID
- writeS(""); // Ally Name
+ packet.writeS("NPC"); // Clan Name
+ packet.writeS(""); // Clan Leader Name
+ packet.writeD(0); // Ally ID
+ packet.writeS(""); // Ally Name
}
- writeD((int) (Calendar.getInstance().getTimeInMillis() / 1000));
- writeD((int) (_castle.getSiege().getSiegeDate().getTimeInMillis() / 1000));
- writeD(0x00); // number of choices?
+ packet.writeD((int) (Calendar.getInstance().getTimeInMillis() / 1000));
+ packet.writeD((int) _siegeDate);
+ packet.writeD(0x00); // number of choices?
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SignsSky.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SignsSky.java
index 21e950b53c..216b329277 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SignsSky.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SignsSky.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.sevensigns.SevenSigns;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* Changes the sky color depending on the outcome of the Seven Signs competition. packet type id 0xf8 format: c h
* @author Tempy
*/
-public class SignsSky extends GameServerPacket
+public class SignsSky implements IClientOutgoingPacket
{
private int _state = 0;
@@ -48,19 +50,20 @@ public class SignsSky extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xf8);
+ OutgoingPackets.SIGNS_SKY.writeId(packet);
if (_state == 2)
{
- writeH(258);
+ packet.writeH(258);
}
else if (_state == 1)
{
- writeH(257);
+ packet.writeH(257);
// else
// writeH(256);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SkillList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SkillList.java
index 0b09635557..b62952920f 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SkillList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SkillList.java
@@ -16,13 +16,16 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* sample 0000: 6d 0c 00 00 00 00 00 00 00 03 00 00 00 f3 03 00 m............... 0010: 00 00 00 00 00 01 00 00 00 f4 03 00 00 00 00 00 ................ 0020: 00 01 00 00 00 10 04 00 00 00 00 00 00 01 00 00 ................ 0030: 00 2c 04 00 00 00 00 00 00 03 00 00 00 99 04 00 .,.............. 0040:
* 00 00 00 00 00 02 00 00 00 a0 04 00 00 00 00 00 ................ 0050: 00 01 00 00 00 c0 04 00 00 01 00 00 00 01 00 00 ................ 0060: 00 76 00 00 00 01 00 00 00 01 00 00 00 a3 00 00 .v.............. 0070: 00 01 00 00 00 01 00 00 00 c2 00 00 00 01 00 00 ................ 0080: 00 01 00 00
* 00 d6 00 00 00 01 00 00 00 01 00 00 ................ 0090: 00 f4 00 00 00 format d (ddd)
* @version $Revision: 1.3.2.1.2.5 $ $Date: 2005/03/27 15:29:39 $
*/
-public class SkillList extends GameServerPacket
+public class SkillList implements IClientOutgoingPacket
{
private Skill[] _skills;
@@ -86,16 +89,17 @@ public class SkillList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x58);
- writeD(_skills.length);
+ OutgoingPackets.SKILL_LIST.writeId(packet);
+ packet.writeD(_skills.length);
for (Skill temp : _skills)
{
- writeD(temp.passive ? 1 : 0);
- writeD(temp.level);
- writeD(temp.id);
+ packet.writeD(temp.passive ? 1 : 0);
+ packet.writeD(temp.level);
+ packet.writeD(temp.id);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Snoop.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Snoop.java
index 36b25c6d18..4a084b01be 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Snoop.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/Snoop.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.enums.ChatType;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* CDSDDSS -> (0xd5)(objId)(name)(0x00)(type)(speaker)(name)
*/
-public class Snoop extends GameServerPacket
+public class Snoop implements IClientOutgoingPacket
{
private final PlayerInstance _snooped;
private final ChatType _type;
@@ -38,14 +40,15 @@ public class Snoop extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xd5);
- writeD(_snooped.getObjectId());
- writeS(_snooped.getName());
- writeD(0); // ??
- writeD(_type.getClientId());
- writeS(_speaker);
- writeS(_msg);
+ OutgoingPackets.SNOOP.writeId(packet);
+ packet.writeD(_snooped.getObjectId());
+ packet.writeS(_snooped.getName());
+ packet.writeD(0); // ??
+ packet.writeD(_type.getClientId());
+ packet.writeS(_speaker);
+ packet.writeS(_msg);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SocialAction.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SocialAction.java
index c03794c919..fbba8424c5 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SocialAction.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SocialAction.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class SocialAction extends GameServerPacket
+public class SocialAction implements IClientOutgoingPacket
{
private final int _objectId;
private final int _actionId;
@@ -36,10 +39,11 @@ public class SocialAction extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x2d);
- writeD(_objectId);
- writeD(_actionId);
+ OutgoingPackets.SOCIAL_ACTION.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_actionId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SpawnItem.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SpawnItem.java
index b37d17d0fd..2b0d226cab 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SpawnItem.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SpawnItem.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 15 ee cc 11 43 object id 39 00 00 00 item id 8f 14 00 00 x b7 f1 00 00 y 60 f2 ff ff z 01 00 00 00 show item count 7a 00 00 00 count . format dddddddd
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class SpawnItem extends GameServerPacket
+public class SpawnItem implements IClientOutgoingPacket
{
private final int _objectId;
private final int _itemId;
@@ -44,18 +46,19 @@ public class SpawnItem extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x0b);
- writeD(_objectId);
- writeD(_itemId);
+ OutgoingPackets.SPAWN_ITEM.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_itemId);
- writeD(_x);
- writeD(_y);
- writeD(_z);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
// only show item count if it is a stackable item
- writeD(_stackable);
- writeD(_count);
- writeD(0x00); // c2
+ packet.writeD(_stackable);
+ packet.writeD(_count);
+ packet.writeD(0x00); // c2
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SpecialCamera.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SpecialCamera.java
index f38174310d..d2483b4a58 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SpecialCamera.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SpecialCamera.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class SpecialCamera extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class SpecialCamera implements IClientOutgoingPacket
{
private final int _id;
private final int _dist;
@@ -58,18 +61,19 @@ public class SpecialCamera extends GameServerPacket
}
@Override
- public void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xc7);
- writeD(_id);
- writeD(_dist);
- writeD(_yaw);
- writeD(_pitch);
- writeD(_time);
- writeD(_duration);
- writeD(_turn);
- writeD(_rise);
- writeD(_widescreen);
- writeD(_unknown);
+ OutgoingPackets.SPECIAL_CAMERA.writeId(packet);
+ packet.writeD(_id);
+ packet.writeD(_dist);
+ packet.writeD(_yaw);
+ packet.writeD(_pitch);
+ packet.writeD(_time);
+ packet.writeD(_duration);
+ packet.writeD(_turn);
+ packet.writeD(_rise);
+ packet.writeD(_widescreen);
+ packet.writeD(_unknown);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StartPledgeWar.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StartPledgeWar.java
index c179472beb..9efe1c7030 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StartPledgeWar.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StartPledgeWar.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class StartPledgeWar extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class StartPledgeWar implements IClientOutgoingPacket
{
private final String _pledgeName;
private final String _playerName;
@@ -28,10 +31,11 @@ public class StartPledgeWar extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x65);
- writeS(_playerName);
- writeS(_pledgeName);
+ OutgoingPackets.START_PLEDGE_WAR.writeId(packet);
+ packet.writeS(_playerName);
+ packet.writeS(_pledgeName);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StaticObject.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StaticObject.java
index b71a76ffbc..6f8560a321 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StaticObject.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StaticObject.java
@@ -16,9 +16,11 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.StaticObjectInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class StaticObject extends GameServerPacket
+public class StaticObject implements IClientOutgoingPacket
{
private final StaticObjectInstance _staticObject;
@@ -32,10 +34,11 @@ public class StaticObject extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x99);
- writeD(_staticObject.getStaticObjectId()); // staticObjectId
- writeD(_staticObject.getObjectId()); // objectId
+ OutgoingPackets.STATIC_OBJECT.writeId(packet);
+ packet.writeD(_staticObject.getStaticObjectId()); // staticObjectId
+ packet.writeD(_staticObject.getObjectId()); // objectId
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StatusUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StatusUpdate.java
index f45a6a2019..75c28e6dca 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StatusUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StatusUpdate.java
@@ -19,7 +19,9 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 01 // Packet Identifier
@@ -32,7 +34,7 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
* format d d(dd)
* @version $Revision: 1.3.2.1.2.5 $ $Date: 2005/03/27 15:29:39 $
*/
-public class StatusUpdate extends GameServerPacket
+public class StatusUpdate implements IClientOutgoingPacket
{
public static final int LEVEL = 0x01;
public static final int EXP = 0x02;
@@ -102,86 +104,87 @@ public class StatusUpdate extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x0e);
+ OutgoingPackets.STATUS_UPDATE.writeId(packet);
if (_actor != null)
{
- writeD(_actor.getObjectId());
- writeD(28); // all the attributes
+ packet.writeD(_actor.getObjectId());
+ packet.writeD(28); // all the attributes
- writeD(LEVEL);
- writeD(_actor.getLevel());
- writeD(EXP);
- writeD((int) _actor.getExp());
- writeD(STR);
- writeD(_actor.getSTR());
- writeD(DEX);
- writeD(_actor.getDEX());
- writeD(CON);
- writeD(_actor.getCON());
- writeD(INT);
- writeD(_actor.getINT());
- writeD(WIT);
- writeD(_actor.getWIT());
- writeD(MEN);
- writeD(_actor.getMEN());
+ packet.writeD(LEVEL);
+ packet.writeD(_actor.getLevel());
+ packet.writeD(EXP);
+ packet.writeD((int) _actor.getExp());
+ packet.writeD(STR);
+ packet.writeD(_actor.getSTR());
+ packet.writeD(DEX);
+ packet.writeD(_actor.getDEX());
+ packet.writeD(CON);
+ packet.writeD(_actor.getCON());
+ packet.writeD(INT);
+ packet.writeD(_actor.getINT());
+ packet.writeD(WIT);
+ packet.writeD(_actor.getWIT());
+ packet.writeD(MEN);
+ packet.writeD(_actor.getMEN());
- writeD(CUR_HP);
- writeD((int) _actor.getCurrentHp());
- writeD(MAX_HP);
- writeD(_actor.getMaxHp());
- writeD(CUR_MP);
- writeD((int) _actor.getCurrentMp());
- writeD(MAX_MP);
- writeD(_actor.getMaxMp());
- writeD(SP);
- writeD(_actor.getSp());
- writeD(CUR_LOAD);
- writeD(_actor.getCurrentLoad());
- writeD(MAX_LOAD);
- writeD(_actor.getMaxLoad());
+ packet.writeD(CUR_HP);
+ packet.writeD((int) _actor.getCurrentHp());
+ packet.writeD(MAX_HP);
+ packet.writeD(_actor.getMaxHp());
+ packet.writeD(CUR_MP);
+ packet.writeD((int) _actor.getCurrentMp());
+ packet.writeD(MAX_MP);
+ packet.writeD(_actor.getMaxMp());
+ packet.writeD(SP);
+ packet.writeD(_actor.getSp());
+ packet.writeD(CUR_LOAD);
+ packet.writeD(_actor.getCurrentLoad());
+ packet.writeD(MAX_LOAD);
+ packet.writeD(_actor.getMaxLoad());
- writeD(P_ATK);
- writeD(_actor.getPAtk(null));
- writeD(ATK_SPD);
- writeD(_actor.getPAtkSpd());
- writeD(P_DEF);
- writeD(_actor.getPDef(null));
- writeD(EVASION);
- writeD(_actor.getEvasionRate(null));
- writeD(ACCURACY);
- writeD(_actor.getAccuracy());
- writeD(CRITICAL);
- writeD(_actor.getCriticalHit(null, null));
- writeD(M_ATK);
- writeD(_actor.getMAtk(null, null));
+ packet.writeD(P_ATK);
+ packet.writeD(_actor.getPAtk(null));
+ packet.writeD(ATK_SPD);
+ packet.writeD(_actor.getPAtkSpd());
+ packet.writeD(P_DEF);
+ packet.writeD(_actor.getPDef(null));
+ packet.writeD(EVASION);
+ packet.writeD(_actor.getEvasionRate(null));
+ packet.writeD(ACCURACY);
+ packet.writeD(_actor.getAccuracy());
+ packet.writeD(CRITICAL);
+ packet.writeD(_actor.getCriticalHit(null, null));
+ packet.writeD(M_ATK);
+ packet.writeD(_actor.getMAtk(null, null));
- writeD(CAST_SPD);
- writeD(_actor.getMAtkSpd());
- writeD(M_DEF);
- writeD(_actor.getMDef(null, null));
- writeD(PVP_FLAG);
- writeD(_actor.getPvpFlag());
- writeD(KARMA);
- writeD(_actor.getKarma());
- writeD(CUR_CP);
- writeD((int) _actor.getCurrentCp());
- writeD(MAX_CP);
- writeD(_actor.getMaxCp());
+ packet.writeD(CAST_SPD);
+ packet.writeD(_actor.getMAtkSpd());
+ packet.writeD(M_DEF);
+ packet.writeD(_actor.getMDef(null, null));
+ packet.writeD(PVP_FLAG);
+ packet.writeD(_actor.getPvpFlag());
+ packet.writeD(KARMA);
+ packet.writeD(_actor.getKarma());
+ packet.writeD(CUR_CP);
+ packet.writeD((int) _actor.getCurrentCp());
+ packet.writeD(MAX_CP);
+ packet.writeD(_actor.getMaxCp());
}
else
{
- writeD(_objectId);
- writeD(_attributes.size());
+ packet.writeD(_objectId);
+ packet.writeD(_attributes.size());
for (int i = 0; i < _attributes.size(); i++)
{
final Attribute temp = _attributes.get(i);
- writeD(temp.id);
- writeD(temp.value);
+ packet.writeD(temp.id);
+ packet.writeD(temp.value);
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopMove.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopMove.java
index 8f48075757..4f41ac021b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopMove.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopMove.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format ddddd sample 0000: 59 1a 95 20 48 44 17 02 00 03 f0 fc ff 98 f1 ff Y.. HD.......... 0010: ff c1 1a 00 00 .....
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class StopMove extends GameServerPacket
+public class StopMove implements IClientOutgoingPacket
{
private final int _objectId;
private final int _x;
@@ -52,13 +54,14 @@ public class StopMove extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x47);
- writeD(_objectId);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_heading);
+ OutgoingPackets.STOP_MOVE.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(_heading);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopMoveInVehicle.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopMoveInVehicle.java
index 1473966b0e..f47fc3486c 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopMoveInVehicle.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopMoveInVehicle.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Maktakien
*/
-public class StopMoveInVehicle extends GameServerPacket
+public class StopMoveInVehicle implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final int _boatId;
@@ -36,19 +38,16 @@ public class StopMoveInVehicle extends GameServerPacket
_boatId = boatid;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x72);
- writeD(_player.getObjectId());
- writeD(_boatId);
- writeD(_player.getBoatPosition().getX());
- writeD(_player.getBoatPosition().getY());
- writeD(_player.getBoatPosition().getZ());
- writeD(_player.getPosition().getHeading());
+ OutgoingPackets.STOP_MOVE_IN_VEHICLE.writeId(packet);
+ packet.writeD(_player.getObjectId());
+ packet.writeD(_boatId);
+ packet.writeD(_player.getBoatPosition().getX());
+ packet.writeD(_player.getBoatPosition().getY());
+ packet.writeD(_player.getBoatPosition().getZ());
+ packet.writeD(_player.getPosition().getHeading());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopPledgeWar.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopPledgeWar.java
index baaed1bfba..99d8a76b25 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopPledgeWar.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopPledgeWar.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class StopPledgeWar extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class StopPledgeWar implements IClientOutgoingPacket
{
private final String _pledgeName;
private final String _playerName;
@@ -28,10 +31,11 @@ public class StopPledgeWar extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x67);
- writeS(_pledgeName);
- writeS(_playerName);
+ OutgoingPackets.STOP_PLEDGE_WAR.writeId(packet);
+ packet.writeS(_pledgeName);
+ packet.writeS(_playerName);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopRotation.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopRotation.java
index 82e27407cf..3e3a06cbc0 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopRotation.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/StopRotation.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.2.2.1.2.4 $ $Date: 2005/03/27 15:29:57 $
*/
-public class StopRotation extends GameServerPacket
+public class StopRotation implements IClientOutgoingPacket
{
private final int _objectId;
private final int _degree;
@@ -35,12 +37,13 @@ public class StopRotation extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x63);
- writeD(_objectId);
- writeD(_degree);
- writeD(_speed);
- writeC(0); // ?
+ OutgoingPackets.STOP_ROTATION.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_degree);
+ packet.writeD(_speed);
+ packet.writeC(0); // ?
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SunRise.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SunRise.java
index 927ba57f2d..181cf2fa5a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SunRise.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SunRise.java
@@ -16,14 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class SunRise extends GameServerPacket
+public class SunRise implements IClientOutgoingPacket
{
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x1c);
+ OutgoingPackets.SUN_RISE.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SunSet.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SunSet.java
index de7f7dee94..5c1a238533 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SunSet.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SunSet.java
@@ -16,14 +16,18 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class SunSet extends GameServerPacket
+public class SunSet implements IClientOutgoingPacket
{
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x1d);
+ OutgoingPackets.SUN_SET.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SurrenderPledgeWar.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SurrenderPledgeWar.java
index 1801826259..6cb6d7f2e1 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SurrenderPledgeWar.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SurrenderPledgeWar.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class SurrenderPledgeWar extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class SurrenderPledgeWar implements IClientOutgoingPacket
{
private final String _pledgeName;
private final String _playerName;
@@ -28,10 +31,11 @@ public class SurrenderPledgeWar extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x69);
- writeS(_pledgeName);
- writeS(_playerName);
+ OutgoingPackets.SURRENDER_PLEDGE_WAR.writeId(packet);
+ packet.writeS(_pledgeName);
+ packet.writeS(_playerName);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SystemMessage.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SystemMessage.java
index 229cbaed6f..9481217acc 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SystemMessage.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/SystemMessage.java
@@ -19,10 +19,12 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.Skill;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
import org.l2jmobius.gameserver.network.SystemMessageId;
-public class SystemMessage extends GameServerPacket
+public class SystemMessage implements IClientOutgoingPacket
{
// Packets d d (d S/d d/d dd) -> 0 - String 1-number 2-textref npcname (1000000-1002655) 3-textref itemname 4-textref skills 5-??
private static final int TYPE_ZONE_NAME = 7;
@@ -117,23 +119,23 @@ public class SystemMessage extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x64);
+ OutgoingPackets.SYSTEM_MESSAGE.writeId(packet);
- writeD(_messageId);
- writeD(_types.size());
+ packet.writeD(_messageId);
+ packet.writeD(_types.size());
for (int i = 0; i < _types.size(); i++)
{
final int t = _types.get(i).intValue();
- writeD(t);
+ packet.writeD(t);
switch (t)
{
case TYPE_TEXT:
{
- writeS((String) _values.get(i));
+ packet.writeS((String) _values.get(i));
break;
}
case TYPE_NUMBER:
@@ -141,14 +143,14 @@ public class SystemMessage extends GameServerPacket
case TYPE_ITEM_NAME:
{
final int t1 = ((Integer) _values.get(i)).intValue();
- writeD(t1);
+ packet.writeD(t1);
break;
}
case TYPE_SKILL_NAME:
{
final int t1 = ((Integer) _values.get(i)).intValue();
- writeD(t1); // Skill Id
- writeD(_skillLevel); // Skill lvl
+ packet.writeD(t1); // Skill Id
+ packet.writeD(_skillLevel); // Skill lvl
break;
}
case TYPE_ZONE_NAME:
@@ -156,13 +158,14 @@ public class SystemMessage extends GameServerPacket
final int t1 = ((int[]) _values.get(i))[0];
final int t2 = ((int[]) _values.get(i))[1];
final int t3 = ((int[]) _values.get(i))[2];
- writeD(t1);
- writeD(t2);
- writeD(t3);
+ packet.writeD(t1);
+ packet.writeD(t2);
+ packet.writeD(t3);
break;
}
}
}
+ return true;
}
public int getMessageID()
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TargetSelected.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TargetSelected.java
index 7880ace438..e2914fe218 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TargetSelected.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TargetSelected.java
@@ -16,11 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* format ddddd sample 0000: 39 0b 07 10 48 3e 31 10 48 3a f6 00 00 91 5b 00 9...H>1.H:....[. 0010: 00 4c f1 ff ff .L...
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class TargetSelected extends GameServerPacket
+public class TargetSelected implements IClientOutgoingPacket
{
private final int _objectId;
private final int _targetObjId;
@@ -45,13 +48,14 @@ public class TargetSelected extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x29);
- writeD(_objectId);
- writeD(_targetObjId);
- writeD(_x);
- writeD(_y);
- writeD(_z);
+ OutgoingPackets.TARGET_SELECTED.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeD(_targetObjId);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TargetUnselected.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TargetUnselected.java
index 69e13a5e01..839a551a93 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TargetUnselected.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TargetUnselected.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* format dddd sample 0000: 3a 69 08 10 48 02 c1 00 00 f7 56 00 00 89 ea ff :i..H.....V..... 0010: ff 0c b2 d8 61 ....a
* @version $Revision: 1.3.2.1.2.3 $ $Date: 2005/03/27 15:29:57 $
*/
-public class TargetUnselected extends GameServerPacket
+public class TargetUnselected implements IClientOutgoingPacket
{
private final int _targetObjId;
private final int _x;
@@ -41,13 +43,14 @@ public class TargetUnselected extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x2a);
- writeD(_targetObjId);
- writeD(_x);
- writeD(_y);
- writeD(_z);
+ OutgoingPackets.TARGET_UNSELECTED.writeId(packet);
+ packet.writeD(_targetObjId);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
// writeD(_target.getTargetId()); //?? probably not used in client
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TeleportToLocation.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TeleportToLocation.java
index 87f54fcb89..5e31d80225 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TeleportToLocation.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TeleportToLocation.java
@@ -16,9 +16,11 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.WorldObject;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class TeleportToLocation extends GameServerPacket
+public class TeleportToLocation implements IClientOutgoingPacket
{
private final int _targetObjId;
private final int _x;
@@ -36,14 +38,15 @@ public class TeleportToLocation extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x28);
- writeD(_targetObjId);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(0x00); // Fade 0, Instant 1.
- writeD(_heading);
+ OutgoingPackets.TELEPORT_TO_LOCATION.writeId(packet);
+ packet.writeD(_targetObjId);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(0x00); // Fade 0, Instant 1.
+ packet.writeD(_heading);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TitleUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TitleUpdate.java
index bc1f710ba1..2b6e830a06 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TitleUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TitleUpdate.java
@@ -16,9 +16,11 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class TitleUpdate extends GameServerPacket
+public class TitleUpdate implements IClientOutgoingPacket
{
private final String _title;
private final int _objectId;
@@ -29,14 +31,12 @@ public class TitleUpdate extends GameServerPacket
_title = player.getTitle();
}
- /**
- * @see org.l2jmobius.gameserver.network.serverpackets.GameServerPacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xcc);
- writeD(_objectId);
- writeS(_title);
+ OutgoingPackets.TITLE_UPDATE.writeId(packet);
+ packet.writeD(_objectId);
+ packet.writeS(_title);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeOtherAdd.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeOtherAdd.java
index 781bceb9b4..1235f0fb56 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeOtherAdd.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeOtherAdd.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.TradeList;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Yme
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class TradeOtherAdd extends GameServerPacket
+public class TradeOtherAdd implements IClientOutgoingPacket
{
private final TradeList.TradeItem _item;
@@ -32,22 +34,23 @@ public class TradeOtherAdd extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x21);
+ OutgoingPackets.TRADE_OTHER_ADD.writeId(packet);
- writeH(1); // item count
+ packet.writeH(1); // item count
- writeH(_item.getItem().getType1()); // item type1
- writeD(_item.getObjectId());
- writeD(_item.getItem().getItemId());
- writeD(_item.getCount());
- writeH(_item.getItem().getType2()); // item type2
- writeH(0x00); // ?
+ packet.writeH(_item.getItem().getType1()); // item type1
+ packet.writeD(_item.getObjectId());
+ packet.writeD(_item.getItem().getItemId());
+ packet.writeD(_item.getCount());
+ packet.writeH(_item.getItem().getType2()); // item type2
+ packet.writeH(0x00); // ?
- writeD(_item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
- writeH(_item.getEnchant()); // enchant level
- writeH(0x00); // ?
- writeH(0x00);
+ packet.writeD(_item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeH(_item.getEnchant()); // enchant level
+ packet.writeH(0x00); // ?
+ packet.writeH(0x00);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeOwnAdd.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeOwnAdd.java
index cfcfb96065..4b586ebfe6 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeOwnAdd.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeOwnAdd.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.TradeList;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Yme
* @version $Revision: 1.2.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class TradeOwnAdd extends GameServerPacket
+public class TradeOwnAdd implements IClientOutgoingPacket
{
private final TradeList.TradeItem _item;
@@ -32,22 +34,23 @@ public class TradeOwnAdd extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x20);
+ OutgoingPackets.TRADE_OWN_ADD.writeId(packet);
- writeH(1); // item count
+ packet.writeH(1); // item count
- writeH(_item.getItem().getType1()); // item type1
- writeD(_item.getObjectId());
- writeD(_item.getItem().getItemId());
- writeD(_item.getCount());
- writeH(_item.getItem().getType2()); // item type2
- writeH(0x00); // ?
+ packet.writeH(_item.getItem().getType1()); // item type1
+ packet.writeD(_item.getObjectId());
+ packet.writeD(_item.getItem().getItemId());
+ packet.writeD(_item.getCount());
+ packet.writeH(_item.getItem().getType2()); // item type2
+ packet.writeH(0x00); // ?
- writeD(_item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
- writeH(_item.getEnchant()); // enchant level
- writeH(0x00); // ?
- writeH(0x00);
+ packet.writeD(_item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeH(_item.getEnchant()); // enchant level
+ packet.writeH(0x00); // ?
+ packet.writeH(0x00);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradePressOtherOk.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradePressOtherOk.java
index 0ed0a5605f..833d3b0a98 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradePressOtherOk.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradePressOtherOk.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author Beetle
*/
-public class TradePressOtherOk extends GameServerPacket
+public class TradePressOtherOk implements IClientOutgoingPacket
{
public static final TradePressOtherOk STATIC_PACKET = new TradePressOtherOk();
@@ -28,8 +31,9 @@ public class TradePressOtherOk extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x7c);
+ OutgoingPackets.TRADE_PRESS_OTHER_OK.writeId(packet);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradePressOwnOk.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradePressOwnOk.java
index 94314ad292..07ac0aa0cb 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradePressOwnOk.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradePressOwnOk.java
@@ -16,10 +16,13 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
/**
* @author Beetle
*/
-public class TradePressOwnOk extends GameServerPacket
+public class TradePressOwnOk implements IClientOutgoingPacket
{
public static final TradePressOwnOk STATIC_PACKET = new TradePressOwnOk();
@@ -28,8 +31,9 @@ public class TradePressOwnOk extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x75);
+ OutgoingPackets.TRADE_PRESS_OWN_OK.writeId(packet);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeStart.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeStart.java
index 4c5af56fc3..63b05ed971 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeStart.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeStart.java
@@ -16,13 +16,15 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @version $Revision: 1.4.2.1.2.3 $ $Date: 2005/03/27 15:29:39 $
*/
-public class TradeStart extends GameServerPacket
+public class TradeStart implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final ItemInstance[] _itemList;
@@ -34,30 +36,32 @@ public class TradeStart extends GameServerPacket
}
@Override
- protected final void writeImpl()
- {// 0x2e TradeStart d h (h dddhh dhhh)
+ public boolean write(PacketWriter packet)
+ {
+ // 0x2e TradeStart d h (h dddhh dhhh)
if ((_player.getActiveTradeList() == null) || (_player.getActiveTradeList().getPartner() == null))
{
- return;
+ return false;
}
- writeC(0x1E);
- writeD(_player.getActiveTradeList().getPartner().getObjectId());
+ OutgoingPackets.TRADE_START.writeId(packet);
+ packet.writeD(_player.getActiveTradeList().getPartner().getObjectId());
// writeD((_activeChar != null || _activeChar.getTransactionRequester() != null)? _activeChar.getTransactionRequester().getObjectId() : 0);
- writeH(_itemList.length);
+ packet.writeH(_itemList.length);
for (ItemInstance item : _itemList)// int i = 0; i < count; i++)
{
- writeH(item.getItem().getType1()); // item type1
- writeD(item.getObjectId());
- writeD(item.getItemId());
- writeD(item.getCount());
- writeH(item.getItem().getType2()); // item type2
- writeH(0x00); // ?
+ packet.writeH(item.getItem().getType1()); // item type1
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItemId());
+ packet.writeD(item.getCount());
+ packet.writeH(item.getItem().getType2()); // item type2
+ packet.writeH(0x00); // ?
- writeD(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
- writeH(item.getEnchantLevel()); // enchant level
- writeH(0x00); // ?
- writeH(0x00);
+ packet.writeD(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeH(item.getEnchantLevel()); // enchant level
+ packet.writeH(0x00); // ?
+ packet.writeH(0x00);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeUpdate.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeUpdate.java
index dc6bc7f0e8..262a0c3fc9 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeUpdate.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TradeUpdate.java
@@ -16,15 +16,17 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.TradeList;
import org.l2jmobius.gameserver.model.TradeList.TradeItem;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Beetle
*/
-public class TradeUpdate extends GameServerPacket
+public class TradeUpdate implements IClientOutgoingPacket
{
private final ItemInstance[] _items;
private final TradeItem[] _tradeItems;
@@ -48,11 +50,11 @@ public class TradeUpdate extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x74);
+ OutgoingPackets.TRADE_UPDATE.writeId(packet);
- writeH(_tradeItems.length);
+ packet.writeH(_tradeItems.length);
for (TradeItem item : _tradeItems)
{
int aveCount = getItemCount(item.getObjectId()) - item.getCount();
@@ -62,17 +64,18 @@ public class TradeUpdate extends GameServerPacket
aveCount = 1;
stackable = false;
}
- writeH(stackable ? 3 : 2);
- writeH(item.getItem().getType1()); // item type1
- writeD(item.getObjectId());
- writeD(item.getItem().getItemId());
- writeD(aveCount);
- writeH(item.getItem().getType2()); // item type2
- writeH(0x00); // ?
- writeD(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
- writeH(item.getEnchant()); // enchant level
- writeH(0x00); // ?
- writeH(0x00);
+ packet.writeH(stackable ? 3 : 2);
+ packet.writeH(item.getItem().getType1()); // item type1
+ packet.writeD(item.getObjectId());
+ packet.writeD(item.getItem().getItemId());
+ packet.writeD(aveCount);
+ packet.writeH(item.getItem().getType2()); // item type2
+ packet.writeH(0x00); // ?
+ packet.writeD(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeH(item.getEnchant()); // enchant level
+ packet.writeH(0x00); // ?
+ packet.writeH(0x00);
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialCloseHtml.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialCloseHtml.java
index d6b69fe32a..c39eb0e606 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialCloseHtml.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialCloseHtml.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class TutorialCloseHtml extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class TutorialCloseHtml implements IClientOutgoingPacket
{
public static final TutorialCloseHtml STATIC_PACKET = new TutorialCloseHtml();
@@ -25,8 +28,9 @@ public class TutorialCloseHtml extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xa3);
+ OutgoingPackets.TUTORIAL_CLOSE_HTML.writeId(packet);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialEnableClientEvent.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialEnableClientEvent.java
index d7050a4d6a..728020c0b1 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialEnableClientEvent.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialEnableClientEvent.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class TutorialEnableClientEvent extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class TutorialEnableClientEvent implements IClientOutgoingPacket
{
private int _eventId = 0;
@@ -26,9 +29,10 @@ public class TutorialEnableClientEvent extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xa2);
- writeD(_eventId);
+ OutgoingPackets.TUTORIAL_ENABLE_CLIENT_EVENT.writeId(packet);
+ packet.writeD(_eventId);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialShowHtml.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialShowHtml.java
index 08ef872d30..396bbd7779 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialShowHtml.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialShowHtml.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class TutorialShowHtml extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class TutorialShowHtml implements IClientOutgoingPacket
{
private final String _html;
@@ -25,14 +28,11 @@ public class TutorialShowHtml extends GameServerPacket
_html = html;
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xa0);
- writeS(_html);
+ OutgoingPackets.TUTORIAL_SHOW_HTML.writeId(packet);
+ packet.writeS(_html);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialShowQuestionMark.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialShowQuestionMark.java
index f7daeb4139..8745e5cd27 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialShowQuestionMark.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/TutorialShowQuestionMark.java
@@ -16,7 +16,10 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
-public class TutorialShowQuestionMark extends GameServerPacket
+import org.l2jmobius.commons.network.PacketWriter;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
+
+public class TutorialShowQuestionMark implements IClientOutgoingPacket
{
private final int _blink;
@@ -25,14 +28,11 @@ public class TutorialShowQuestionMark extends GameServerPacket
_blink = blink; // this influences the blinking frequancy :S
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.gameserver.serverpackets.ServerBasePacket#writeImpl()
- */
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xa1);
- writeD(_blink);
+ OutgoingPackets.TUTORIAL_SHOW_QUESTION_MARK.writeId(packet);
+ packet.writeD(_blink);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/UserInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/UserInfo.java
index bdd7632551..66b71e9c6a 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/UserInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/UserInfo.java
@@ -17,11 +17,13 @@
package org.l2jmobius.gameserver.network.serverpackets;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class UserInfo extends GameServerPacket
+public class UserInfo implements IClientOutgoingPacket
{
private final PlayerInstance _player;
private final Inventory _inventory;
@@ -53,199 +55,200 @@ public class UserInfo extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x04);
+ OutgoingPackets.USER_INFO.writeId(packet);
- writeD(_player.getX());
- writeD(_player.getY());
- writeD(_player.getZ());
- writeD(_player.getBoat() != null ? _player.getBoat().getObjectId() : 0);
+ packet.writeD(_player.getX());
+ packet.writeD(_player.getY());
+ packet.writeD(_player.getZ());
+ packet.writeD(_player.getBoat() != null ? _player.getBoat().getObjectId() : 0);
- writeD(_player.getObjectId());
- writeS(_player.getName());
- writeD(_player.getRace().ordinal());
- writeD(_player.getAppearance().isFemale() ? 1 : 0);
+ packet.writeD(_player.getObjectId());
+ packet.writeS(_player.getName());
+ packet.writeD(_player.getRace().ordinal());
+ packet.writeD(_player.getAppearance().isFemale() ? 1 : 0);
if (_player.getClassIndex() == 0)
{
- writeD(_player.getClassId().getId());
+ packet.writeD(_player.getClassId().getId());
}
else
{
- writeD(_player.getBaseClass());
+ packet.writeD(_player.getBaseClass());
}
- writeD(_player.getLevel());
- writeQ(_player.getExp());
- writeD(_player.getSTR());
- writeD(_player.getDEX());
- writeD(_player.getCON());
- writeD(_player.getINT());
- writeD(_player.getWIT());
- writeD(_player.getMEN());
- writeD(_player.getMaxHp());
- writeD((int) _player.getCurrentHp());
- writeD(_player.getMaxMp());
- writeD((int) _player.getCurrentMp());
- writeD(_player.getSp());
- writeD(_player.getCurrentLoad());
- writeD(_player.getMaxLoad());
+ packet.writeD(_player.getLevel());
+ packet.writeD((int) _player.getExp());
+ packet.writeD(_player.getSTR());
+ packet.writeD(_player.getDEX());
+ packet.writeD(_player.getCON());
+ packet.writeD(_player.getINT());
+ packet.writeD(_player.getWIT());
+ packet.writeD(_player.getMEN());
+ packet.writeD(_player.getMaxHp());
+ packet.writeD((int) _player.getCurrentHp());
+ packet.writeD(_player.getMaxMp());
+ packet.writeD((int) _player.getCurrentMp());
+ packet.writeD(_player.getSp());
+ packet.writeD(_player.getCurrentLoad());
+ packet.writeD(_player.getMaxLoad());
- writeD(_player.getActiveWeaponItem() != null ? 40 : 20); // 20 no weapon, 40 weapon equipped
+ packet.writeD(_player.getActiveWeaponItem() != null ? 40 : 20); // 20 no weapon, 40 weapon equipped
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_UNDER));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LRHAND));
- writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_UNDER));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_REAR));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LEAR));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_NECK));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_RFINGER));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LFINGER));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_HEAD));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_RHAND));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LHAND));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_GLOVES));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_CHEST));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LEGS));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_FEET));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_BACK));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_LRHAND));
+ packet.writeD(_inventory.getPaperdollObjectId(Inventory.PAPERDOLL_HAIR));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_UNDER));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_REAR));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_NECK));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
- writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_UNDER));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_REAR));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LEAR));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_NECK));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_RFINGER));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LFINGER));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_HEAD));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_RHAND));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LHAND));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_GLOVES));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_CHEST));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LEGS));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_FEET));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_BACK));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_LRHAND));
+ packet.writeD(_inventory.getPaperdollItemId(Inventory.PAPERDOLL_HAIR));
- writeD(_player.getPAtk(null));
- writeD(_player.getPAtkSpd());
- writeD(_player.getPDef(null));
- writeD(_player.getEvasionRate(null));
- writeD(_player.getAccuracy());
- writeD(_player.getCriticalHit(null, null));
- writeD(_player.getMAtk(null, null));
+ packet.writeD(_player.getPAtk(null));
+ packet.writeD(_player.getPAtkSpd());
+ packet.writeD(_player.getPDef(null));
+ packet.writeD(_player.getEvasionRate(null));
+ packet.writeD(_player.getAccuracy());
+ packet.writeD(_player.getCriticalHit(null, null));
+ packet.writeD(_player.getMAtk(null, null));
- writeD(_player.getMAtkSpd());
- writeD(_player.getPAtkSpd());
+ packet.writeD(_player.getMAtkSpd());
+ packet.writeD(_player.getPAtkSpd());
- writeD(_player.getMDef(null, null));
+ packet.writeD(_player.getMDef(null, null));
- writeD(_player.getPvpFlag()); // 0-non-pvp 1-pvp = violett name
- writeD(_player.getKarma());
+ packet.writeD(_player.getPvpFlag()); // 0-non-pvp 1-pvp = violett name
+ packet.writeD(_player.getKarma());
- writeD(_runSpd); // base run speed
- writeD(_walkSpd); // base walk speed
- writeD(_runSpd); // swim run speed (calculated by getter)
- writeD(_walkSpd); // swim walk speed (calculated by getter)
- writeD(0);
- writeD(0);
- writeD(_flyRunSpd);
- writeD(_flyWalkSpd);
- writeF(_player.getMovementSpeedMultiplier()); // run speed multiplier
- writeF(_player.getAttackSpeedMultiplier()); // attack speed multiplier
- writeF(_player.getCollisionRadius());
- writeF(_player.getCollisionHeight());
- writeD(_player.getAppearance().getHairStyle());
- writeD(_player.getAppearance().getHairColor());
- writeD(_player.getAppearance().getFace());
- writeD(_player.isGM() ? 1 : 0); // builder level
+ packet.writeD(_runSpd); // base run speed
+ packet.writeD(_walkSpd); // base walk speed
+ packet.writeD(_runSpd); // swim run speed (calculated by getter)
+ packet.writeD(_walkSpd); // swim walk speed (calculated by getter)
+ packet.writeD(0);
+ packet.writeD(0);
+ packet.writeD(_flyRunSpd);
+ packet.writeD(_flyWalkSpd);
+ packet.writeF(_player.getMovementSpeedMultiplier()); // run speed multiplier
+ packet.writeF(_player.getAttackSpeedMultiplier()); // attack speed multiplier
+ packet.writeF(_player.getCollisionRadius());
+ packet.writeF(_player.getCollisionHeight());
+ packet.writeD(_player.getAppearance().getHairStyle());
+ packet.writeD(_player.getAppearance().getHairColor());
+ packet.writeD(_player.getAppearance().getFace());
+ packet.writeD(_player.isGM() ? 1 : 0); // builder level
String title = _player.getTitle();
if (_player.getAppearance().isInvisible() && _player.isGM())
{
title = "[Invisible]";
}
- writeS(title);
+ packet.writeS(title);
- writeD(_player.getClanId());
- writeD(_player.getClanCrestId());
- writeD(_player.getAllyId());
- writeD(_player.getAllyCrestId()); // ally crest id
+ packet.writeD(_player.getClanId());
+ packet.writeD(_player.getClanCrestId());
+ packet.writeD(_player.getAllyId());
+ packet.writeD(_player.getAllyCrestId()); // ally crest id
// 0x40 leader rights
// siege flags: attacker - 0x180 sword over name, defender - 0x80 shield, 0xC0 crown (|leader), 0x1C0 flag (|leader)
- writeD(_relation);
- writeC(_player.getMountType()); // mount type
- writeC(_player.getPrivateStoreType());
- writeC(_player.hasDwarvenCraft() ? 1 : 0);
- writeD(_player.getPkKills());
- writeD(_player.getPvpKills());
+ packet.writeD(_relation);
+ packet.writeC(_player.getMountType()); // mount type
+ packet.writeC(_player.getPrivateStoreType());
+ packet.writeC(_player.hasDwarvenCraft() ? 1 : 0);
+ packet.writeD(_player.getPkKills());
+ packet.writeD(_player.getPvpKills());
- writeH(_player.getCubics().size());
+ packet.writeH(_player.getCubics().size());
for (int cubicId : _player.getCubics().keySet())
{
- writeH(cubicId);
+ packet.writeH(cubicId);
}
- writeC(_player.isInPartyMatchRoom() ? 1 : 0);
+ packet.writeC(_player.isInPartyMatchRoom() ? 1 : 0);
if (_player.getAppearance().isInvisible())
{
- writeD((_player.getAbnormalEffect() | Creature.ABNORMAL_EFFECT_STEALTH));
+ packet.writeD((_player.getAbnormalEffect() | Creature.ABNORMAL_EFFECT_STEALTH));
}
else
{
- writeD(_player.getAbnormalEffect()); // C2
+ packet.writeD(_player.getAbnormalEffect()); // C2
}
- writeC(0x00);
+ packet.writeC(0x00);
- writeD(_player.getClanPrivileges());
+ packet.writeD(_player.getClanPrivileges());
// C4 addition
- writeD(0x00); // swim?
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
- writeD(0x00);
+ packet.writeD(0x00); // swim?
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
+ packet.writeD(0x00);
// C4 addition end
- writeH(_player.getRecomLeft()); // c2 recommendations remaining
- writeH(_player.getRecomHave()); // c2 recommendations received
- writeD(0x00); // _player.getMountNpcId() > 0 ? _player.getMountNpcId() + 1000000 : 0
- writeH(_player.getInventoryLimit());
+ packet.writeH(_player.getRecomLeft()); // c2 recommendations remaining
+ packet.writeH(_player.getRecomHave()); // c2 recommendations received
+ packet.writeD(0x00); // _player.getMountNpcId() > 0 ? _player.getMountNpcId() + 1000000 : 0
+ packet.writeH(_player.getInventoryLimit());
- writeD(_player.getClassId().getId());
- writeD(0x00); // special effects? circles around player...
- writeD(_player.getMaxCp());
- writeD((int) _player.getCurrentCp());
- writeC(_player.isMounted() ? 0 : _player.getEnchantEffect());
+ packet.writeD(_player.getClassId().getId());
+ packet.writeD(0x00); // special effects? circles around player...
+ packet.writeD(_player.getMaxCp());
+ packet.writeD((int) _player.getCurrentCp());
+ packet.writeC(_player.isMounted() ? 0 : _player.getEnchantEffect());
if (_player.getTeam() == 1)
{
- writeC(0x01); // team circle around feet 1= Blue, 2 = red
+ packet.writeC(0x01); // team circle around feet 1= Blue, 2 = red
}
else if (_player.getTeam() == 2)
{
- writeC(0x02); // team circle around feet 1= Blue, 2 = red
+ packet.writeC(0x02); // team circle around feet 1= Blue, 2 = red
}
else
{
- writeC(0x00); // team circle around feet 1= Blue, 2 = red
+ packet.writeC(0x00); // team circle around feet 1= Blue, 2 = red
}
- writeD(_player.getClanCrestLargeId());
- writeC(_player.isNoble() ? 1 : 0); // 0x01: symbol on char menu ctrl+I
- writeC((_player.isHero() || (_player.isGM() && Config.GM_HERO_AURA) || _player.isPVPHero()) ? 1 : 0); // 0x01: Hero Aura
+ packet.writeD(_player.getClanCrestLargeId());
+ packet.writeC(_player.isNoble() ? 1 : 0); // 0x01: symbol on char menu ctrl+I
+ packet.writeC((_player.isHero() || (_player.isGM() && Config.GM_HERO_AURA) || _player.isPVPHero()) ? 1 : 0); // 0x01: Hero Aura
- writeC(_player.isFishing() ? 1 : 0); // Fishing Mode
- writeD(_player.getFishX()); // fishing x
- writeD(_player.getFishY()); // fishing y
- writeD(_player.getFishZ()); // fishing z
- writeD(_player.getAppearance().getNameColor());
+ packet.writeC(_player.isFishing() ? 1 : 0); // Fishing Mode
+ packet.writeD(_player.getFishX()); // fishing x
+ packet.writeD(_player.getFishY()); // fishing y
+ packet.writeD(_player.getFishZ()); // fishing z
+ packet.writeD(_player.getAppearance().getNameColor());
// Add heading?
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ValidateLocation.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ValidateLocation.java
index b1075f8646..7b3c4154db 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ValidateLocation.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ValidateLocation.java
@@ -16,9 +16,11 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class ValidateLocation extends GameServerPacket
+public class ValidateLocation implements IClientOutgoingPacket
{
private final int _objectId;
private final int _x;
@@ -36,14 +38,15 @@ public class ValidateLocation extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x61);
+ OutgoingPackets.VALIDATE_LOCATION.writeId(packet);
- writeD(_objectId);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_heading);
+ packet.writeD(_objectId);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(_heading);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ValidateLocationInVehicle.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ValidateLocationInVehicle.java
index d28993cdba..efa7f29cc0 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ValidateLocationInVehicle.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/ValidateLocationInVehicle.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class ValidateLocationInVehicle extends GameServerPacket
+public class ValidateLocationInVehicle implements IClientOutgoingPacket
{
private int _boat = 1343225858;
private final int _x;
@@ -39,14 +41,15 @@ public class ValidateLocationInVehicle extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x73);
- writeD(_playerObj);
- writeD(_boat);
- writeD(_x);
- writeD(_y);
- writeD(_z);
- writeD(_heading);
+ OutgoingPackets.VALIDATE_LOCATION_IN_VEHICLE.writeId(packet);
+ packet.writeD(_playerObj);
+ packet.writeD(_boat);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ packet.writeD(_heading);
+ return true;
}
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/VehicleDeparture.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/VehicleDeparture.java
index 8dcb26feeb..54b4297156 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/VehicleDeparture.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/VehicleDeparture.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.BoatInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Maktakien
*/
-public class VehicleDeparture extends GameServerPacket
+public class VehicleDeparture implements IClientOutgoingPacket
{
private final BoatInstance _boat;
private final int _speed1;
@@ -49,14 +51,15 @@ public class VehicleDeparture extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x5a);
- writeD(_boat.getObjectId());
- writeD(_speed1);
- writeD(_speed2);
- writeD(_x);
- writeD(_y);
- writeD(_z);
+ OutgoingPackets.VEHICLE_DEPARTURE.writeId(packet);
+ packet.writeD(_boat.getObjectId());
+ packet.writeD(_speed1);
+ packet.writeD(_speed2);
+ packet.writeD(_x);
+ packet.writeD(_y);
+ packet.writeD(_z);
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/VehicleInfo.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/VehicleInfo.java
index 9fca1f48b6..51d7099470 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/VehicleInfo.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/VehicleInfo.java
@@ -16,12 +16,14 @@
*/
package org.l2jmobius.gameserver.network.serverpackets;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.BoatInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* @author Maktakien
*/
-public class VehicleInfo extends GameServerPacket
+public class VehicleInfo implements IClientOutgoingPacket
{
private final BoatInstance _boat;
@@ -34,13 +36,14 @@ public class VehicleInfo extends GameServerPacket
}
@Override
- protected void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x59);
- writeD(_boat.getObjectId());
- writeD(_boat.getX());
- writeD(_boat.getY());
- writeD(_boat.getZ());
- writeD(_boat.getPosition().getHeading());
+ OutgoingPackets.VEHICLE_INFO.writeId(packet);
+ packet.writeD(_boat.getObjectId());
+ packet.writeD(_boat.getX());
+ packet.writeD(_boat.getY());
+ packet.writeD(_boat.getZ());
+ packet.writeD(_boat.getPosition().getHeading());
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WareHouseDepositList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WareHouseDepositList.java
index 9c5be31fe7..8328acc382 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WareHouseDepositList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WareHouseDepositList.java
@@ -19,14 +19,16 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 0x53 WareHouseDepositList dh (h dddhh dhhh d)
* @version $Revision: 1.4.2.1.2.4 $ $Date: 2005/03/27 15:29:39 $
*/
-public class WareHouseDepositList extends GameServerPacket
+public class WareHouseDepositList implements IClientOutgoingPacket
{
public static final int PRIVATE = 1;
public static final int CLAN = 2;
@@ -63,29 +65,30 @@ public class WareHouseDepositList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x41);
+ OutgoingPackets.WARE_HOUSE_DEPOSIT_LIST.writeId(packet);
/*
* 0x01-Private Warehouse 0x02-Clan Warehouse 0x03-Castle Warehouse 0x04-Warehouse
*/
- writeH(_whType);
- writeD(_playerAdena);
- writeH(_items.size());
+ packet.writeH(_whType);
+ packet.writeD(_playerAdena);
+ packet.writeH(_items.size());
for (ItemInstance item : _items)
{
- writeH(item.getItem().getType1()); // item type1 //unconfirmed, works
- writeD(item.getObjectId()); // unconfirmed, works
- writeD(item.getItemId()); // unconfirmed, works
- writeD(item.getCount()); // unconfirmed, works
- writeH(item.getItem().getType2()); // item type2 //unconfirmed, works
- writeH(0x00); // ? 100
- writeD(item.getItem().getBodyPart()); // ?
- writeH(item.getEnchantLevel()); // enchant level -confirmed
- writeH(0x00); // ? 300
- writeH(0x00); // ? 200
- writeD(item.getObjectId()); // item id - confirmed
+ packet.writeH(item.getItem().getType1()); // item type1 //unconfirmed, works
+ packet.writeD(item.getObjectId()); // unconfirmed, works
+ packet.writeD(item.getItemId()); // unconfirmed, works
+ packet.writeD(item.getCount()); // unconfirmed, works
+ packet.writeH(item.getItem().getType2()); // item type2 //unconfirmed, works
+ packet.writeH(0x00); // ? 100
+ packet.writeD(item.getItem().getBodyPart()); // ?
+ packet.writeH(item.getEnchantLevel()); // enchant level -confirmed
+ packet.writeH(0x00); // ? 300
+ packet.writeH(0x00); // ? 200
+ packet.writeD(item.getObjectId()); // item id - confimed
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WareHouseWithdrawalList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WareHouseWithdrawalList.java
index 1b96da6d01..9bf74a67d9 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WareHouseWithdrawalList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WareHouseWithdrawalList.java
@@ -18,14 +18,16 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.logging.Logger;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
/**
* 0x42 WarehouseWithdrawalList dh (h dddhh dhhh d)
* @version $Revision: 1.3.2.1.2.5 $ $Date: 2005/03/29 23:15:10 $
*/
-public class WareHouseWithdrawalList extends GameServerPacket
+public class WareHouseWithdrawalList implements IClientOutgoingPacket
{
private static final Logger LOGGER = Logger.getLogger(WareHouseWithdrawalList.class.getName());
@@ -54,29 +56,30 @@ public class WareHouseWithdrawalList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0x42);
+ OutgoingPackets.WARE_HOUSE_WITHDRAWAL_LIST.writeId(packet);
/*
* 0x01-Private Warehouse 0x02-Clan Warehouse 0x03-Castle Warehouse 0x04-Warehouse
*/
- writeH(_whType);
- writeD(_playerAdena);
- writeH(_items.length);
+ packet.writeH(_whType);
+ packet.writeD(_playerAdena);
+ packet.writeH(_items.length);
for (ItemInstance item : _items)
{
- writeH(item.getItem().getType1()); // item type1 //unconfirmed, works
- writeD(0x00); // unconfirmed, works
- writeD(item.getItemId()); // unconfirmed, works
- writeD(item.getCount()); // unconfirmed, works
- writeH(item.getItem().getType2()); // item type2 //unconfirmed, works
- writeH(0x00); // ?
- writeD(item.getItem().getBodyPart()); // ?
- writeH(item.getEnchantLevel()); // enchant level -confirmed
- writeH(0x00); // ?
- writeH(0x00); // ?
- writeD(item.getObjectId()); // item id - confimed
+ packet.writeH(item.getItem().getType1()); // item type1 //unconfirmed, works
+ packet.writeD(0x00); // unconfirmed, works
+ packet.writeD(item.getItemId()); // unconfirmed, works
+ packet.writeD(item.getCount()); // unconfirmed, works
+ packet.writeH(item.getItem().getType2()); // item type2 //unconfirmed, works
+ packet.writeH(0x00); // ?
+ packet.writeD(item.getItem().getBodyPart()); // ?
+ packet.writeH(item.getEnchantLevel()); // enchant level -confirmed
+ packet.writeH(0x00); // ?
+ packet.writeH(0x00); // ?
+ packet.writeD(item.getObjectId()); // item id - confimed
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WearList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WearList.java
index 9575a0804c..1894283ae6 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WearList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/network/serverpackets/WearList.java
@@ -19,11 +19,13 @@ package org.l2jmobius.gameserver.network.serverpackets;
import java.util.List;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.PacketWriter;
import org.l2jmobius.gameserver.model.StoreTradeList;
import org.l2jmobius.gameserver.model.items.Item;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
+import org.l2jmobius.gameserver.network.OutgoingPackets;
-public class WearList extends GameServerPacket
+public class WearList implements IClientOutgoingPacket
{
private final int _listId;
private final ItemInstance[] _list;
@@ -47,15 +49,15 @@ public class WearList extends GameServerPacket
}
@Override
- protected final void writeImpl()
+ public boolean write(PacketWriter packet)
{
- writeC(0xef);
- writeC(0xc0); // ?
- writeC(0x13); // ?
- writeC(0x00); // ?
- writeC(0x00); // ?
- writeD(_money); // current money
- writeD(_listId);
+ OutgoingPackets.WEAR_LIST.writeId(packet);
+ packet.writeC(0xc0); // ?
+ packet.writeC(0x13); // ?
+ packet.writeC(0x00); // ?
+ packet.writeC(0x00); // ?
+ packet.writeD(_money); // current money
+ packet.writeD(_listId);
int newlength = 0;
for (ItemInstance item : _list)
@@ -65,26 +67,27 @@ public class WearList extends GameServerPacket
newlength++;
}
}
- writeH(newlength);
+ packet.writeH(newlength);
for (ItemInstance item : _list)
{
if ((item.getItem().getCrystalType() <= _expertise) && item.isEquipable())
{
- writeD(item.getItemId());
- writeH(item.getItem().getType2()); // item type2
+ packet.writeD(item.getItemId());
+ packet.writeH(item.getItem().getType2()); // item type2
if (item.getItem().getType1() != Item.TYPE1_ITEM_QUESTITEM_ADENA)
{
- writeH(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeH(item.getItem().getBodyPart()); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
}
else
{
- writeH(0x00); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
+ packet.writeH(0x00); // rev 415 slot 0006-lr.ear 0008-neck 0030-lr.finger 0040-head 0080-?? 0100-l.hand 0200-gloves 0400-chest 0800-pants 1000-feet 2000-?? 4000-r.hand 8000-r.hand
}
- writeD(Config.WEAR_PRICE);
+ packet.writeD(Config.WEAR_PRICE);
}
}
+ return true;
}
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/util/Broadcast.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/util/Broadcast.java
index 825577bab2..1b173b5c7f 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/util/Broadcast.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/util/Broadcast.java
@@ -22,7 +22,7 @@ import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.zone.ZoneType;
import org.l2jmobius.gameserver.network.serverpackets.CharInfo;
-import org.l2jmobius.gameserver.network.serverpackets.GameServerPacket;
+import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.RelationChanged;
public class Broadcast
@@ -38,7 +38,7 @@ public class Broadcast
* @param creature
* @param mov
*/
- public static void toPlayersTargettingMyself(Creature creature, GameServerPacket mov)
+ public static void toPlayersTargettingMyself(Creature creature, IClientOutgoingPacket mov)
{
for (PlayerInstance player : creature.getKnownList().getKnownPlayers().values())
{
@@ -62,7 +62,7 @@ public class Broadcast
* @param creature
* @param mov
*/
- public static void toKnownPlayers(Creature creature, GameServerPacket mov)
+ public static void toKnownPlayers(Creature creature, IClientOutgoingPacket mov)
{
for (PlayerInstance player : creature.getKnownList().getKnownPlayers().values())
{
@@ -107,7 +107,7 @@ public class Broadcast
* @param mov
* @param radiusValue
*/
- public static void toKnownPlayersInRadius(Creature creature, GameServerPacket mov, int radiusValue)
+ public static void toKnownPlayersInRadius(Creature creature, IClientOutgoingPacket mov, int radiusValue)
{
int radius = radiusValue;
if (radius < 0)
@@ -139,7 +139,7 @@ public class Broadcast
* @param creature
* @param mov
*/
- public static void toSelfAndKnownPlayers(Creature creature, GameServerPacket mov)
+ public static void toSelfAndKnownPlayers(Creature creature, IClientOutgoingPacket mov)
{
if (creature instanceof PlayerInstance)
{
@@ -150,7 +150,7 @@ public class Broadcast
}
// To improve performance we are comparing values of radius^2 instead of calculating sqrt all the time
- public static void toSelfAndKnownPlayersInRadius(Creature creature, GameServerPacket mov, long radiusSqValue)
+ public static void toSelfAndKnownPlayersInRadius(Creature creature, IClientOutgoingPacket mov, long radiusSqValue)
{
long radiusSq = radiusSqValue;
if (radiusSq < 0)
@@ -181,7 +181,7 @@ public class Broadcast
* Caution : This method DOESN'T SEND Server->Client packet to this Creature (to do this use method toSelfAndKnownPlayers)
* @param packet
*/
- public static void toAllOnlinePlayers(GameServerPacket packet)
+ public static void toAllOnlinePlayers(IClientOutgoingPacket packet)
{
for (PlayerInstance onlinePlayer : World.getInstance().getAllPlayers())
{
@@ -200,7 +200,7 @@ public class Broadcast
* @param zoneType : The zone type to send packets.
* @param packets : The packets to send.
*/
- public static void toAllPlayersInZoneType(Class zoneType, GameServerPacket... packets)
+ public static void toAllPlayersInZoneType(Class zoneType, IClientOutgoingPacket... packets)
{
for (ZoneType zone : ZoneData.getInstance().getAllZones(zoneType))
{
@@ -211,7 +211,7 @@ public class Broadcast
continue;
}
- for (GameServerPacket packet : packets)
+ for (IClientOutgoingPacket packet : packets)
{
creature.sendPacket(packet);
}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/util/FloodProtectorAction.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/util/FloodProtectorAction.java
index ffa96dfe5a..e12568b976 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/util/FloodProtectorAction.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/gameserver/util/FloodProtectorAction.java
@@ -25,6 +25,7 @@ import org.l2jmobius.commons.util.StringUtil;
import org.l2jmobius.gameserver.GameTimeController;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance.PunishLevel;
+import org.l2jmobius.gameserver.network.ConnectionState;
import org.l2jmobius.gameserver.network.GameClient;
/**
@@ -304,14 +305,16 @@ public class FloodProtectorAction
{
if (!client.isDetached())
{
- address = client.getConnection().getInetAddress().getHostAddress();
+ address = client.getConnectionAddress().getHostAddress();
}
}
catch (Exception e)
{
+ // Ignore.
}
- switch (client.getState())
+ final ConnectionState state = (ConnectionState) client.getConnectionState();
+ switch (state)
{
case ENTERING:
case IN_GAME:
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/log/formatter/AccountingFormatter.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/log/formatter/AccountingFormatter.java
new file mode 100644
index 0000000000..2647110243
--- /dev/null
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/log/formatter/AccountingFormatter.java
@@ -0,0 +1,117 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.log.formatter;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.logging.Formatter;
+import java.util.logging.LogRecord;
+
+import org.l2jmobius.Config;
+import org.l2jmobius.commons.util.StringUtil;
+import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
+import org.l2jmobius.gameserver.network.ConnectionState;
+import org.l2jmobius.gameserver.network.GameClient;
+
+public class AccountingFormatter extends Formatter
+{
+ private final SimpleDateFormat dateFmt = new SimpleDateFormat("dd MMM H:mm:ss");
+
+ @Override
+ public String format(LogRecord record)
+ {
+ final Object[] params = record.getParameters();
+ final StringBuilder output = StringUtil.startAppend(30 + record.getMessage().length() + (params == null ? 0 : params.length * 10), "[", dateFmt.format(new Date(record.getMillis())), "] ", record.getMessage());
+
+ if (params != null)
+ {
+ for (Object p : params)
+ {
+ if (p == null)
+ {
+ continue;
+ }
+
+ StringUtil.append(output, ", ");
+
+ if (p instanceof GameClient)
+ {
+ final GameClient client = (GameClient) p;
+ String address = null;
+ try
+ {
+ if (!client.isDetached())
+ {
+ address = client.getConnectionAddress().getHostAddress();
+ }
+ }
+ catch (Exception e)
+ {
+ // Ignore.
+ }
+
+ switch ((ConnectionState) client.getConnectionState())
+ {
+ case ENTERING:
+ case IN_GAME:
+ {
+ if (client.getPlayer() != null)
+ {
+ StringUtil.append(output, client.getPlayer().getName());
+ StringUtil.append(output, "(", String.valueOf(client.getPlayer().getObjectId()), ") ");
+ }
+ break;
+ }
+ case AUTHENTICATED:
+ {
+ if (client.getAccountName() != null)
+ {
+ StringUtil.append(output, client.getAccountName(), " ");
+ }
+ break;
+ }
+ case CONNECTED:
+ {
+ if (address != null)
+ {
+ StringUtil.append(output, address);
+ }
+ break;
+ }
+ default:
+ {
+ throw new IllegalStateException("Missing state on switch");
+ }
+ }
+ }
+ else if (p instanceof PlayerInstance)
+ {
+ final PlayerInstance player = (PlayerInstance) p;
+ StringUtil.append(output, player.getName());
+ StringUtil.append(output, "(", String.valueOf(player.getObjectId()), ")");
+ }
+ else
+ {
+ StringUtil.append(output, p.toString());
+ }
+ }
+ }
+
+ output.append(Config.EOL);
+ return output.toString();
+ }
+}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/log/handler/AccountingLogHandler.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/log/handler/AccountingLogHandler.java
new file mode 100644
index 0000000000..ebde983750
--- /dev/null
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/log/handler/AccountingLogHandler.java
@@ -0,0 +1,28 @@
+/*
+ * This file is part of the L2J Mobius project.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+package org.l2jmobius.log.handler;
+
+import java.io.IOException;
+import java.util.logging.FileHandler;
+
+public class AccountingLogHandler extends FileHandler
+{
+ public AccountingLogHandler() throws IOException
+ {
+ super();
+ }
+}
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginClient.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginClient.java
index 37e8384550..afecd1d249 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginClient.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginClient.java
@@ -28,9 +28,9 @@ import java.util.logging.Logger;
import org.l2jmobius.Config;
import org.l2jmobius.commons.crypt.NewCrypt;
+import org.l2jmobius.commons.network.BaseRecievePacket;
import org.l2jmobius.commons.util.Rnd;
import org.l2jmobius.loginserver.LoginController.ScrambledKeyPair;
-import org.l2jmobius.loginserver.network.clientpackets.ClientBasePacket;
import org.l2jmobius.loginserver.network.serverpackets.Init;
import org.l2jmobius.loginserver.network.serverpackets.ServerBasePacket;
@@ -157,7 +157,7 @@ public class LoginClient extends Thread
}
// Execute client packet.
- final ClientBasePacket packet = LoginPacketHandler.handlePacket(decrypt, this);
+ final BaseRecievePacket packet = LoginPacketHandler.handlePacket(decrypt, this);
if (packet != null)
{
LoginServer.getInstance().execute(packet);
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginPacketHandler.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginPacketHandler.java
index 115eb12b86..e97c8fea57 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginPacketHandler.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginPacketHandler.java
@@ -18,8 +18,8 @@ package org.l2jmobius.loginserver;
import java.util.logging.Logger;
+import org.l2jmobius.commons.network.BaseRecievePacket;
import org.l2jmobius.loginserver.LoginClient.LoginClientState;
-import org.l2jmobius.loginserver.network.clientpackets.ClientBasePacket;
import org.l2jmobius.loginserver.network.clientpackets.RequestAuthGG;
import org.l2jmobius.loginserver.network.clientpackets.RequestAuthLogin;
import org.l2jmobius.loginserver.network.clientpackets.RequestServerList;
@@ -33,10 +33,10 @@ public class LoginPacketHandler
{
private static final Logger LOGGER = Logger.getLogger(LoginPacketHandler.class.getName());
- public static ClientBasePacket handlePacket(byte[] data, LoginClient client)
+ public static BaseRecievePacket handlePacket(byte[] data, LoginClient client)
{
final int opcode = data[0] & 0xFF;
- ClientBasePacket packet = null;
+ BaseRecievePacket packet = null;
final LoginClientState state = client.getClientState();
switch (state)
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginServer.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginServer.java
index 812db3d15e..ae666329ee 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginServer.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/LoginServer.java
@@ -38,7 +38,7 @@ import org.l2jmobius.Config;
import org.l2jmobius.commons.database.DatabaseBackup;
import org.l2jmobius.commons.database.DatabaseFactory;
import org.l2jmobius.commons.enums.ServerMode;
-import org.l2jmobius.loginserver.network.clientpackets.ClientBasePacket;
+import org.l2jmobius.commons.network.BaseRecievePacket;
import org.l2jmobius.loginserver.ui.Gui;
import org.l2jmobius.telnet.TelnetStatusThread;
@@ -282,7 +282,7 @@ public class LoginServer extends FloodProtectedListener
public long lastConnection;
}
- public void execute(ClientBasePacket packet)
+ public void execute(BaseRecievePacket packet)
{
try
{
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestAuthGG.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestAuthGG.java
index 5d1440a20c..564869e020 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestAuthGG.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestAuthGG.java
@@ -16,12 +16,13 @@
*/
package org.l2jmobius.loginserver.network.clientpackets;
+import org.l2jmobius.commons.network.BaseRecievePacket;
import org.l2jmobius.loginserver.LoginClient;
import org.l2jmobius.loginserver.LoginClient.LoginClientState;
import org.l2jmobius.loginserver.network.serverpackets.GGAuth;
import org.l2jmobius.loginserver.network.serverpackets.LoginFail;
-public class RequestAuthGG extends ClientBasePacket
+public class RequestAuthGG extends BaseRecievePacket
{
private int _sessionId = 0;
private final int _data1;
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java
index ba958f615b..0dc127268b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestAuthLogin.java
@@ -23,6 +23,7 @@ import java.util.logging.Logger;
import javax.crypto.Cipher;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.BaseRecievePacket;
import org.l2jmobius.loginserver.GameServerTable;
import org.l2jmobius.loginserver.GameServerThread;
import org.l2jmobius.loginserver.LoginClient;
@@ -36,7 +37,7 @@ import org.l2jmobius.loginserver.network.serverpackets.LoginOk;
/**
* Format: x 0 (a leading null) x: the rsa encrypted block with the login an password
*/
-public class RequestAuthLogin extends ClientBasePacket
+public class RequestAuthLogin extends BaseRecievePacket
{
private final static Logger LOGGER = Logger.getLogger(RequestAuthLogin.class.getName());
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestServerList.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestServerList.java
index 2b7d8a910e..bf72c462dd 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestServerList.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestServerList.java
@@ -16,6 +16,7 @@
*/
package org.l2jmobius.loginserver.network.clientpackets;
+import org.l2jmobius.commons.network.BaseRecievePacket;
import org.l2jmobius.loginserver.GameServerTable;
import org.l2jmobius.loginserver.LoginClient;
import org.l2jmobius.loginserver.network.serverpackets.LoginFail;
@@ -23,7 +24,7 @@ import org.l2jmobius.loginserver.network.serverpackets.LoginFail;
/**
* Format: ddc d: fist part of session id d: second part of session id c: ? (session ID is sent in LoginOk packet and fixed to 0x55555555 0x44444444)
*/
-public class RequestServerList extends ClientBasePacket
+public class RequestServerList extends BaseRecievePacket
{
private final int _key1;
private final int _key2;
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestServerLogin.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestServerLogin.java
index d63a3e6c86..279866fb39 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestServerLogin.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/clientpackets/RequestServerLogin.java
@@ -19,6 +19,7 @@ package org.l2jmobius.loginserver.network.clientpackets;
import java.util.logging.Logger;
import org.l2jmobius.Config;
+import org.l2jmobius.commons.network.BaseRecievePacket;
import org.l2jmobius.loginserver.GameServerTable;
import org.l2jmobius.loginserver.LoginClient;
import org.l2jmobius.loginserver.LoginController;
@@ -30,7 +31,7 @@ import org.l2jmobius.loginserver.network.serverpackets.PlayOk;
/**
* Fromat is ddc d: first part of session id d: second part of session id c: server ID (session ID is sent in LoginOk packet and fixed to 0x55555555 0x44444444)
*/
-public class RequestServerLogin extends ClientBasePacket
+public class RequestServerLogin extends BaseRecievePacket
{
private final static Logger LOGGER = Logger.getLogger(RequestServerLogin.class.getName());
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/BlowFishKey.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/BlowFishKey.java
index 75335062b6..ce8c5130df 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/BlowFishKey.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/BlowFishKey.java
@@ -22,10 +22,12 @@ import java.util.logging.Logger;
import javax.crypto.Cipher;
+import org.l2jmobius.commons.network.BaseSendablePacket;
+
/**
* @author -Wooden-
*/
-public class BlowFishKey extends GameServerBasePacket
+public class BlowFishKey extends BaseSendablePacket
{
byte[] _key;
protected static final Logger LOGGER = Logger.getLogger(BlowFishKey.class.getName());
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/ChangeAccessLevel.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/ChangeAccessLevel.java
index d295ecd780..3829720b42 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/ChangeAccessLevel.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/ChangeAccessLevel.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.loginserver.network.gameserverpackets;
+import org.l2jmobius.commons.network.BaseSendablePacket;
+
/**
* @author -Wooden-
*/
-public class ChangeAccessLevel extends GameServerBasePacket
+public class ChangeAccessLevel extends BaseSendablePacket
{
private final int _level;
private final String _account;
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/GameServerAuth.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/GameServerAuth.java
index b8920b5983..25266d412f 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/GameServerAuth.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/GameServerAuth.java
@@ -18,11 +18,13 @@ package org.l2jmobius.loginserver.network.gameserverpackets;
import java.util.logging.Logger;
+import org.l2jmobius.commons.network.BaseSendablePacket;
+
/**
* Format: cccddb c desired ID c accept alternative ID c reserve Host s ExternalHostName s InetranlHostName d max players d hexid size b hexid
* @author -Wooden-
*/
-public class GameServerAuth extends GameServerBasePacket
+public class GameServerAuth extends BaseSendablePacket
{
protected static final Logger LOGGER = Logger.getLogger(GameServerAuth.class.getName());
private final byte[] _hexId;
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerAuthRequest.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerAuthRequest.java
index 6bcb1a046f..a1abe5ec36 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerAuthRequest.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerAuthRequest.java
@@ -16,12 +16,13 @@
*/
package org.l2jmobius.loginserver.network.gameserverpackets;
+import org.l2jmobius.commons.network.BaseSendablePacket;
import org.l2jmobius.loginserver.SessionKey;
/**
* @author -Wooden-
*/
-public class PlayerAuthRequest extends GameServerBasePacket
+public class PlayerAuthRequest extends BaseSendablePacket
{
private final String _account;
private final SessionKey _sessionKey;
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerInGame.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerInGame.java
index 04b7d879cf..a2106371fd 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerInGame.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerInGame.java
@@ -19,10 +19,12 @@ package org.l2jmobius.loginserver.network.gameserverpackets;
import java.util.ArrayList;
import java.util.List;
+import org.l2jmobius.commons.network.BaseSendablePacket;
+
/**
* @author -Wooden-
*/
-public class PlayerInGame extends GameServerBasePacket
+public class PlayerInGame extends BaseSendablePacket
{
private final List _accounts;
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerLogout.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerLogout.java
index e0928500e6..f6e1d5600b 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerLogout.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/PlayerLogout.java
@@ -16,10 +16,12 @@
*/
package org.l2jmobius.loginserver.network.gameserverpackets;
+import org.l2jmobius.commons.network.BaseSendablePacket;
+
/**
* @author -Wooden-
*/
-public class PlayerLogout extends GameServerBasePacket
+public class PlayerLogout extends BaseSendablePacket
{
private final String _account;
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/ServerStatus.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/ServerStatus.java
index fd1fa975c2..af1cbbdce1 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/ServerStatus.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/gameserverpackets/ServerStatus.java
@@ -18,12 +18,13 @@ package org.l2jmobius.loginserver.network.gameserverpackets;
import java.util.logging.Logger;
+import org.l2jmobius.commons.network.BaseSendablePacket;
import org.l2jmobius.loginserver.GameServerTable;
/**
* @author -Wooden-
*/
-public class ServerStatus extends GameServerBasePacket
+public class ServerStatus extends BaseSendablePacket
{
protected static final Logger LOGGER = Logger.getLogger(ServerStatus.class.getName());
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/KickPlayer.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/KickPlayer.java
index 4ed5d3c5c8..a209056994 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/KickPlayer.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/KickPlayer.java
@@ -29,10 +29,6 @@ public class KickPlayer extends ServerBasePacket
writeS(account);
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.loginserver.serverpackets.ServerBasePacket#getContent()
- */
@Override
public byte[] getContent()
{
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/LoginServerFail.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/LoginServerFail.java
index 7ce9ed3b44..320a1d7fea 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/LoginServerFail.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/LoginServerFail.java
@@ -23,6 +23,14 @@ import org.l2jmobius.loginserver.network.serverpackets.ServerBasePacket;
*/
public class LoginServerFail extends ServerBasePacket
{
+ public static final int REASON_IP_BANNED = 1;
+ public static final int REASON_IP_RESERVED = 2;
+ public static final int REASON_WRONG_HEXID = 3;
+ public static final int REASON_ID_RESERVED = 4;
+ public static final int REASON_NO_FREE_ID = 5;
+ public static final int NOT_AUTHED = 6;
+ public static final int REASON_ALREADY_LOGGED8IN = 7;
+
/**
* @param reason
*/
@@ -37,12 +45,4 @@ public class LoginServerFail extends ServerBasePacket
{
return getBytes();
}
-
- public static final int REASON_IP_BANNED = 1;
- public static final int REASON_IP_RESERVED = 2;
- public static final int REASON_WRONG_HEXID = 3;
- public static final int REASON_ID_RESERVED = 4;
- public static final int REASON_NO_FREE_ID = 5;
- public static final int NOT_AUTHED = 6;
- public static final int REASON_ALREADY_LOGGED8IN = 7;
}
\ No newline at end of file
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/PlayerAuthResponse.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/PlayerAuthResponse.java
index 272b86c0fe..ae0be911e9 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/PlayerAuthResponse.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/loginserver/network/loginserverpackets/PlayerAuthResponse.java
@@ -30,10 +30,6 @@ public class PlayerAuthResponse extends ServerBasePacket
writeC(response ? 1 : 0);
}
- /*
- * (non-Javadoc)
- * @see org.l2jmobius.loginserver.serverpackets.ServerBasePacket#getContent()
- */
@Override
public byte[] getContent()
{
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/telnet/GameStatusThread.java b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/telnet/GameStatusThread.java
index bc8d9c2a86..539ad5e065 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/telnet/GameStatusThread.java
+++ b/L2J_Mobius_C4_ScionsOfDestiny/java/org/l2jmobius/telnet/GameStatusThread.java
@@ -77,11 +77,9 @@ import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
import org.l2jmobius.gameserver.model.itemcontainer.Inventory;
import org.l2jmobius.gameserver.model.items.instance.ItemInstance;
import org.l2jmobius.gameserver.network.SystemMessageId;
-import org.l2jmobius.gameserver.network.serverpackets.CharInfo;
import org.l2jmobius.gameserver.network.serverpackets.CreatureSay;
import org.l2jmobius.gameserver.network.serverpackets.InventoryUpdate;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
-import org.l2jmobius.gameserver.network.serverpackets.UserInfo;
import org.l2jmobius.gameserver.taskmanager.DecayTaskManager;
import org.l2jmobius.gameserver.util.GMAudit;
@@ -877,9 +875,7 @@ public class GameStatusThread extends Thread
final InventoryUpdate iu = new InventoryUpdate();
iu.addModifiedItem(itemInstance);
player.sendPacket(iu);
- player.broadcastPacket(new CharInfo(player));
- player.sendPacket(new UserInfo(player));
- // player.broadcastPacket(new ExBrExtraUserInfo(player));
+ player.broadcastUserInfo();
// informations
player.sendMessage("Changed enchantment of " + player.getName() + "'s " + itemInstance.getItem().getName() + " from " + curEnchant + " to " + ench + ".");
diff --git a/L2J_Mobius_C4_ScionsOfDestiny/readme.txt b/L2J_Mobius_C4_ScionsOfDestiny/readme.txt
index 65dc4a5730..8fe3b39178 100644
--- a/L2J_Mobius_C4_ScionsOfDestiny/readme.txt
+++ b/L2J_Mobius_C4_ScionsOfDestiny/readme.txt
@@ -90,4 +90,3 @@ Removed - Herb item drops. https://lineage.pmfun.com/list/c5c6
TODO:
Drop knownlists -> Use World.
-Drop MmoCore -> Use Netty.
diff --git a/L2J_Mobius_C6_Interlude/.classpath b/L2J_Mobius_C6_Interlude/.classpath
index 21e4730bad..36387954d8 100644
--- a/L2J_Mobius_C6_Interlude/.classpath
+++ b/L2J_Mobius_C6_Interlude/.classpath
@@ -6,6 +6,7 @@
+
diff --git a/L2J_Mobius_C6_Interlude/dist/game/config/default-ipconfig.xml b/L2J_Mobius_C6_Interlude/dist/game/config/default-ipconfig.xml
new file mode 100644
index 0000000000..9e13cf7b8d
--- /dev/null
+++ b/L2J_Mobius_C6_Interlude/dist/game/config/default-ipconfig.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/dist/game/config/main/Server.ini b/L2J_Mobius_C6_Interlude/dist/game/config/main/Server.ini
index 87aeff88ba..48509a7f02 100644
--- a/L2J_Mobius_C6_Interlude/dist/game/config/main/Server.ini
+++ b/L2J_Mobius_C6_Interlude/dist/game/config/main/Server.ini
@@ -8,32 +8,28 @@
# WAN (WIDE area network) - typically consists of computers OUTSIDE of your router (ie. the internet).
# x.x.x.x - Format of an IP address. Do not include the x'es into settings. Must be real numbers.
-
# ---------------------------------------------------------------------------
# Networking
# ---------------------------------------------------------------------------
-# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname
-# Common settings...
-# 127.0.0.1 - If you are playing alone on a test server
-# 192.168.x.x - This is if you are on a 192.168.x.x type network (behind a standard consumer router) and want other computers from JUST the internal network to be able to connect
-# x.x.x.x - WAN IP obtained from http://www.whatismyip.com/. This is if you want people outside your internal network to be able to connect to your server.
-# If this IP is resolvable by the Login Server, just leave *.
-# ---------------------------------------------------------------------------
-# Enter here (ip) address of your game server, or use the symbol *
-GameserverHostname = *
-GameserverPort = 7777
-
-# Configure your external ip
-ExternalHostname = 127.0.0.1
-
-# Configure your internal ip
-InternalHostname = 127.0.0.1
+# Where's the Login server this gameserver should connect to
+# WARNING: Please don't change default IPs here if you don't know what are you doing!
+# WARNING: External/Internal IPs are now inside "ipconfig.xml" file.
+# Default: 127.0.0.1
+LoginHost = 127.0.0.1
# TCP port the login server listen to for gameserver connection requests
# Default: 9014
LoginPort = 9014
-LoginHost = 127.0.0.1
+
+# Bind address for gameserver. You should not need to change it in most cases.
+# WARNING: Please don't change default IPs here if you don't know what are you doing!
+# WARNING: External/Internal IPs are now inside "ipconfig.xml" file.
+# Default: * (0.0.0.0)
+GameserverHostname = 0.0.0.0
+
+# Default: 7777
+GameserverPort = 7777
# ---------------------------------------------------------------------------
@@ -130,6 +126,9 @@ ScheduledThreadPoolCount = 160
# Default: 120
InstantThreadPoolCount = 120
+# Default: 40
+UrgentPacketThreadCoreSize = 40
+
# ---------------------------------------------------------------------------
# Misc Player Settings
diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Antharas.java b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Antharas.java
index a175651d2f..37fd5637c9 100644
--- a/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Antharas.java
+++ b/L2J_Mobius_C6_Interlude/dist/game/data/scripts/ai/bosses/Antharas.java
@@ -46,7 +46,7 @@ import org.l2jmobius.gameserver.model.quest.Quest;
import org.l2jmobius.gameserver.model.spawn.Spawn;
import org.l2jmobius.gameserver.model.zone.type.BossZone;
import org.l2jmobius.gameserver.network.serverpackets.Earthquake;
-import org.l2jmobius.gameserver.network.serverpackets.GameServerPacket;
+import org.l2jmobius.gameserver.network.serverpackets.IClientOutgoingPacket;
import org.l2jmobius.gameserver.network.serverpackets.PlaySound;
import org.l2jmobius.gameserver.network.serverpackets.SpecialCamera;
@@ -560,7 +560,7 @@ public class Antharas extends Quest
}
}
- protected void broadcastPacket(GameServerPacket mov)
+ protected void broadcastPacket(IClientOutgoingPacket mov)
{
if (_zone != null)
{
diff --git a/L2J_Mobius_C6_Interlude/dist/game/data/xsd/ipconfig.xsd b/L2J_Mobius_C6_Interlude/dist/game/data/xsd/ipconfig.xsd
new file mode 100644
index 0000000000..44dd05e6bc
--- /dev/null
+++ b/L2J_Mobius_C6_Interlude/dist/game/data/xsd/ipconfig.xsd
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/dist/libs/netty-all-4.1.50.Final-sources.jar b/L2J_Mobius_C6_Interlude/dist/libs/netty-all-4.1.50.Final-sources.jar
new file mode 100644
index 0000000000..d40b0f6ac9
Binary files /dev/null and b/L2J_Mobius_C6_Interlude/dist/libs/netty-all-4.1.50.Final-sources.jar differ
diff --git a/L2J_Mobius_C6_Interlude/dist/libs/netty-all-4.1.50.Final.jar b/L2J_Mobius_C6_Interlude/dist/libs/netty-all-4.1.50.Final.jar
new file mode 100644
index 0000000000..f8b1557478
Binary files /dev/null and b/L2J_Mobius_C6_Interlude/dist/libs/netty-all-4.1.50.Final.jar differ
diff --git a/L2J_Mobius_C6_Interlude/dist/login/config/others/banned_ip.cfg b/L2J_Mobius_C6_Interlude/dist/login/banned_ip.cfg
similarity index 100%
rename from L2J_Mobius_C6_Interlude/dist/login/config/others/banned_ip.cfg
rename to L2J_Mobius_C6_Interlude/dist/login/banned_ip.cfg
diff --git a/L2J_Mobius_C6_Interlude/dist/login/config/LoginServer.ini b/L2J_Mobius_C6_Interlude/dist/login/config/LoginServer.ini
new file mode 100644
index 0000000000..eddcfed49a
--- /dev/null
+++ b/L2J_Mobius_C6_Interlude/dist/login/config/LoginServer.ini
@@ -0,0 +1,133 @@
+# ---------------------------------------------------------------------------
+# Login Server Settings
+# ---------------------------------------------------------------------------
+# This is the server configuration file. Here you can set up the connection information for your server.
+# This was written with the assumption that you are behind a router.
+# Dumbed Down Definitions...
+# LAN (LOCAL area network) - typically consists of computers connected to the same router as you.
+# WAN (WIDE area network) - typically consists of computers OUTSIDE of your router (ie. the internet).
+# x.x.x.x - Format of an IP address. Do not include the x'es into settings. Must be real numbers.
+
+# ---------------------------------------------------------------------------
+# Networking
+# ---------------------------------------------------------------------------
+
+# Bind ip of the LoginServer, use 0.0.0.0 to bind on all available IPs
+# WARNING: Please don't change default IPs here if you don't know what are you doing!
+# WARNING: External/Internal IPs are now inside "ipconfig.xml" file.
+# Default: 0.0.0.0
+LoginserverHostname = 0.0.0.0
+
+# Default: 2106
+LoginserverPort = 2106
+
+# The address on which login will listen for GameServers, use * to bind on all available IPs
+# WARNING: Please don't change default IPs here if you don't know what are you doing!
+# WARNING: External/Internal IPs are now inside "ipconfig.xml" file.
+# Default: 127.0.0.1
+LoginHostname = 127.0.0.1
+
+# The port on which login will listen for GameServers
+# Default: 9014
+LoginPort = 9014
+
+
+# ---------------------------------------------------------------------------
+# Database
+# ---------------------------------------------------------------------------
+
+# Specify the appropriate driver and url for your database.
+# Default: org.mariadb.jdbc.Driver
+Driver = org.mariadb.jdbc.Driver
+
+# Database URL
+# Default: jdbc:mariadb://localhost/l2jmobiusc6?useUnicode=true&characterEncoding=utf-8&useSSL=false
+URL = jdbc:mariadb://localhost/l2jmobiusc6?useUnicode=true&characterEncoding=utf-8&useSSL=false
+
+# Database user info (default is "root" but it's not recommended)
+Login = root
+
+# Database connection password
+Password =
+
+# Default: 5
+MaximumDbConnections = 5
+
+
+# ---------------------------------------------------------------------------
+# Automatic Database Backup Settings
+# ---------------------------------------------------------------------------
+# Generate database backups when server restarts or shuts down.
+BackupDatabase = False
+
+# Path to MySQL bin folder. Only necessary on Windows.
+MySqlBinLocation = C:/xampp/mysql/bin/
+
+# Path where MySQL backups are stored.
+BackupPath = ../backup/
+
+# Maximum number of days that backups will be kept.
+# Old backups will be deleted.
+# Set to 0 to disable.
+BackupDays = 30
+
+
+# ---------------------------------------------------------------------------
+# Security
+# ---------------------------------------------------------------------------
+
+# How many times you can provide an invalid account/pass before the IP gets banned.
+# Default: 5
+LoginTryBeforeBan = 5
+
+# Time you won't be able to login back again after LoginTryBeforeBan tries to login.
+# Default: 900 (15 minutes)
+LoginBlockAfterBan = 900
+
+# If set to True any GameServer can register on your login's free slots
+# Default: True
+AcceptNewGameServer = True
+
+# Flood Protection. All values are in milliseconds.
+# Default: True
+EnableFloodProtection = True
+
+# Default: 15
+FastConnectionLimit = 15
+
+# Default: 700
+NormalConnectionTime = 700
+
+# Default: 350
+FastConnectionTime = 350
+
+# Default: 50
+MaxConnectionPerIP = 50
+
+
+# ---------------------------------------------------------------------------
+# Misc Login Settings
+# ---------------------------------------------------------------------------
+
+# If False, the license (after the login) will not be shown.
+# Default: True
+ShowLicence = True
+
+# Default: True
+AutoCreateAccounts = True
+
+# Datapack root directory.
+# Defaults to current directory from which the server is started.
+DatapackRoot = .
+
+
+# ---------------------------------------------------------------------------
+# Scheduled Login Restart
+# ---------------------------------------------------------------------------
+
+# Enable disable scheduled login restart.
+# Default: False
+LoginRestartSchedule = False
+# Time in hours.
+# Default: 24
+LoginRestartTime = 24
diff --git a/L2J_Mobius_C6_Interlude/dist/login/config/main/LoginServer.ini b/L2J_Mobius_C6_Interlude/dist/login/config/main/LoginServer.ini
deleted file mode 100644
index 401980f99f..0000000000
--- a/L2J_Mobius_C6_Interlude/dist/login/config/main/LoginServer.ini
+++ /dev/null
@@ -1,146 +0,0 @@
-# This is the server configuration file. Here you can set up the connection for your server.
-# Usually you have to change the ExternalHostname option to
-# - 127.0.0.1 (if you want to play alone / testing purpose)
-# - LAN IP* (if you want to play from another computer in the network)
-# - WAN IP** (if you want to play with friends over internet)
-# - Questions? => http://l2jmobius.org
-#
-# * = If you want to get your LAN IP, simply choose "Start" => "Run..." then type "cmd" => "ipconfig"
-# **= If you want to get you WAN IP, visit http://www.whatismyip.com
-# ===================================================================================================
-
-# ================================================================
-# General server setting !!! REQUIRED to configure to everyone !!!
-# ================================================================
-
-# This is transmitted to the clients connecting from an external network, so it has to be a public IP or resolvable hostname
-ExternalHostname = 127.0.0.1
-
-# This is transmitted to the client from the same network, so it has to be a local IP or resolvable hostname
-InternalHostname = 127.0.0.1
-
-# Bind ip of the loginServer, use * to bind on all available IPs
-LoginserverHostname = *
-LoginserverPort = 2106
-
-# How many times you can provide an invalid account/pass before the IP gets banned
-LoginTryBeforeBan = 20
-
-# Time you won't be able to login back again after LoginTryBeforeBan tries to login. Provide a value in seconds. Default 10min. (600)
-LoginBlockAfterBan = 600
-GMMinLevel = 100
-
-# The address on which login will listen for GameServers, use * to bind on all available IPs
-LoginHostname = 127.0.0.1
-
-# The port on which login will listen for GameServers
-LoginPort = 9014
-
-# If set to True any GameServer can register on your login's free slots
-AcceptNewGameServer = False
-
-# If False, the licence (after the login) will not be shown
-# It is highly recomended for Account Seciurity to leave this option as defalut (True)
-ShowLicence = True
-
-# Specify the appropriate driver and url for your database.
-# Default: org.mariadb.jdbc.Driver
-Driver = org.mariadb.jdbc.Driver
-
-# Database URL
-# Default: jdbc:mariadb://localhost/l2jmobiusc6?useUnicode=true&characterEncoding=utf-8&useSSL=false
-URL = jdbc:mariadb://localhost/l2jmobiusc6?useUnicode=true&characterEncoding=utf-8&useSSL=false
-
-# Parameters Databases - MYSQL
-# Login - Mysql user
-Login = root
-# Password - Mysql Password
-Password =
-# maximum number of simultaneous connecting to the database
-MaximumDbConnections = 10
-
-
-# ---------------------------------------------------------------------------
-# Automatic Database Backup Settings
-# ---------------------------------------------------------------------------
-# Generate database backups when server restarts or shuts down.
-BackupDatabase = False
-
-# Path to MySQL bin folder. Only necessary on Windows.
-MySqlBinLocation = C:/xampp/mysql/bin/
-
-# Path where MySQL backups are stored.
-BackupPath = ../backup/
-
-# Maximum number of days that backups will be kept.
-# Old backups will be deleted.
-# Set to 0 to disable.
-BackupDays = 30
-
-
-# Limit fast connections (input username / password)
-FastConnectionLimit = 15
-# Time of the normal connection (in ms)
-NormalConnectionTime = 700
-# Time fast connection (in ms)
-FastConnectionTime = 350
-# Maximum connections with the 1st IP
-MaxConnectionPerIP = 50
-
-# The lifetime of the session with the login server.
-SessionTTL = 25000
-MaxSessions = 100
-
-# Choose the option: "true", to create an account when logging in automatically
-AutoCreateAccounts = True
-
-# Time to renew the IP address of the server in minutes (for dynamic IP)
-IpUpdateTime = 0
-
-# The configuration of the local subnet
-# Example : 192.168
-# Ppimer : 10.1
-NetworkList = 192.168.;10.0.
-
-
-# ---------------------------------------------------------------------------
-# Test server configuration, not to switch on the game server!
-# ---------------------------------------------------------------------------
-# Use the GG client authentication
-# Login server access let the client without GameGuard
-ForceGGAuth = False
-
-# Including protection from flood
-# IMPORTANT: Put True for server security.
-EnableFloodProtection = True
-
-
-# ---------------------------------------------------------------------------
-# Anti Bruteforce protection. (credits RT-Interlude)
-# ---------------------------------------------------------------------------
-# Count of trying connection to server, after which will be made checking IP address
-# for a possible BrutForce
-# Reducing this value will increase the likelihood of false positives
-# Increasing this value will reduce the effectiveness of security (more chance find passwords for large accounts)
-BrutLogonAttempts = 15
-
-# The average time (in seconds) between attempts to connect to the server
-# Reducing this value will increase the likelihood of false positives
-# Increasing this value will reduce the effectiveness of security (more chance find passwords for large accounts)
-BrutAvgTime = 30
-
-# Number of second, for ban IP address, who time BrutAvgTime less specified
-# 900 second = 15 minute
-BrutBanIpTime = 900
-
-
-# ---------------------------------------------------------------------------
-# Scheduled Login Restart
-# ---------------------------------------------------------------------------
-# Enable disable scheduled login restart.
-# Default: False
-LoginRestartSchedule = False
-
-# Time in hours.
-# Default: 24
-LoginRestartTime = 24
diff --git a/L2J_Mobius_C6_Interlude/dist/login/config/others/servername.xsd b/L2J_Mobius_C6_Interlude/dist/login/config/others/servername.xsd
deleted file mode 100644
index 1a1ca24033..0000000000
--- a/L2J_Mobius_C6_Interlude/dist/login/config/others/servername.xsd
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/dist/login/config/protected/MmoCore.ini b/L2J_Mobius_C6_Interlude/dist/login/config/protected/MmoCore.ini
deleted file mode 100644
index 505afde297..0000000000
--- a/L2J_Mobius_C6_Interlude/dist/login/config/protected/MmoCore.ini
+++ /dev/null
@@ -1,128 +0,0 @@
-#=========================================#
-# MMOCore Connection Settings #
-#=========================================#
-
-# ---------------------------- #
-# Debug and Develop logging #
-# ---------------------------- #
-EnableMMOCoreDebug = False
-EnableMMOCoreDevelop = False
-EnableMMOCoreExceptions = False
-PacketHandlerDebug = False
-
-# ----------------------------
-# Config BackLog
-# ----------------------------
-# Maximum length of request.
-# The maximum length for incoming requests (connection request).
-# Maximum number of requests, after which the requests
-# Will not be accepted.
-# The default is 50
-# Must be equal to the estimated number of players.
-# Example: Players in the game 1000 +, NetworkBackLog = 1000
-# NetworkBackLog = 50
-
-# ----------------
-# Set TOS
-# ----------------
-# Set the traffic going to a particular socket.
-# Can be ignored JAVA-machine.
-# Range: 0 <= tc <= 255 or a ban happens.
-# Note:
-# To TCP4 should be set high priority and should be RFC 1349.
-# You can also create a type priorities bit, example:
-# IPTOS_LOWCOST (0x02)
-# IPTOS_RELIABILITY (0x04)
-# IPTOS_THROUGHPUT (0x08)
-# IPTOS_LOWDELAY (0x10)
-# The lowest bit is ignored (0).
-# Set bits in the priority may cause the collapse of the server.
-# depends on the service and platform.
-# Note:
-# Applications can not change GameServer after connecting.
-# To TCP6 value can be found in the header sin6_flowinfo.
-# NetworkIpTOS = 0
-
-# ---------------------------------------
-# Setting TCP_NODELAY
-# ---------------------------------------
-# On / Off TCP_NODELAY
-#NetworkTcpNoDelay = False
-
-# -------------------------------
-# Setting KeepAlive
-# -------------------------------
-# On / Off SO_KEEPALIVE
-#NetworkKeepAlive = False
-
-# ------------------------
-# Set a timeout
-# ------------------------
-# Set a timeout in milliseconds.
-# If set to 0, the timeout will be standard.
-# Timeout must be greater than 0.
-# Zero timeout is defined as an infinite timeout.
-#NetworkSoTimeOut = 0
-
-# ---------------------------------------------------
-# Configure repetitions Adresses
-# ---------------------------------------------------
-# On / Off option.
-# If the connection is closed, then turn timeout.
-#NetworkSoReuseAddr = True
-
-# --------------------------------------
-# Set buffer compounds
-# --------------------------------------
-# Buffer size in kbit (kilobits)
-# By default (Windows) - 64KBits
-# Default (* nix) - 128KBits
-#NetworkReadBufferSize = 64
-#NetworkWriteBufferSize = 64
-#NetworkHelperBufferSize = 64
-
-# The size of the auxiliary buffer
-#NetworkHelperBufferCount = 20
-
-# --------------------------
-# Client Queue Configuration
-# --------------------------
-# Queue size, do not set it too low !
-# Default: 14
-ClientPacketQueueSize = 14
-# Maximum number of packets in burst.
-# Execution will be aborted and thread released if more packets executed in raw.
-# Default: 50
-ClientPacketQueueMaxBurstSize = 50
-# Maximum number of packets per second.
-# Flood detector will be triggered if more packets received.
-# After triggering all incoming packets will be dropped until flooding stopped.
-# Default: 80
-ClientPacketQueueMaxPacketsPerSecond = 80
-# Average number of packets per second calculated during this interval.
-# Using larger value decrease number of false kicks, but slower reaction to flood.
-# Avoid using too low or too high values, recommended between 3 and 10.
-# Default: 5
-ClientPacketQueueMeasureInterval = 5
-# Maximum average number of packets per second during measure interval.
-# Flood detector will be triggered if more packets received.
-# After triggering all incoming packets will be dropped until flooding stopped.
-# Default: 40
-ClientPacketQueueMaxAveragePacketsPerSecond = 40
-# Maximum number of flood triggers per minute.
-# Client will be kicked if more floods detected.
-# Default: 2
-ClientPacketQueueMaxFloodPerMin = 6
-# Maximum number of queue overflows per minute.
-# After overflow all incoming packets from client are dropped until queue is flushed.
-# Client will be kicked if more queue overflows detected.
-# Default: 50
-ClientPacketQueueOverflowsPerMin = 50
-# Maximum number of buffer underflows per minute.
-# Client will be kicked if more underflow exceptions detected.
-# Default: 1
-ClientPacketQueueUnderflowsPerMin = 1
-# Maximum number of unknown packets per minute.
-# Client will be kicked if more unknown packets received.
-# Default: 5
-ClientPacketQueueUnknownPerMin = 5
diff --git a/L2J_Mobius_C6_Interlude/dist/login/config/others/servername.xml b/L2J_Mobius_C6_Interlude/dist/login/data/servername.xml
similarity index 96%
rename from L2J_Mobius_C6_Interlude/dist/login/config/others/servername.xml
rename to L2J_Mobius_C6_Interlude/dist/login/data/servername.xml
index 2006704401..6cae663f9f 100644
--- a/L2J_Mobius_C6_Interlude/dist/login/config/others/servername.xml
+++ b/L2J_Mobius_C6_Interlude/dist/login/data/servername.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/L2J_Mobius_C6_Interlude/dist/login/data/servername.xsd b/L2J_Mobius_C6_Interlude/dist/login/data/servername.xsd
new file mode 100644
index 0000000000..319fdb59fb
--- /dev/null
+++ b/L2J_Mobius_C6_Interlude/dist/login/data/servername.xsd
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/Config.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/Config.java
index a68d54d1c3..f5e1c4f291 100644
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/Config.java
+++ b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/Config.java
@@ -18,8 +18,6 @@ package org.l2jmobius;
import java.io.BufferedReader;
import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
@@ -27,26 +25,37 @@ import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.io.OutputStream;
import java.math.BigInteger;
-import java.net.UnknownHostException;
+import java.net.Inet6Address;
+import java.net.InterfaceAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.net.URL;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Enumeration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
+import java.util.stream.IntStream;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
import org.l2jmobius.commons.enums.ServerMode;
import org.l2jmobius.commons.util.ClassMasterSettings;
+import org.l2jmobius.commons.util.IXmlReader;
import org.l2jmobius.commons.util.PropertiesParser;
import org.l2jmobius.commons.util.StringUtil;
import org.l2jmobius.gameserver.enums.GeoType;
import org.l2jmobius.gameserver.model.olympiad.OlympiadPeriod;
import org.l2jmobius.gameserver.util.FloodProtectorConfig;
import org.l2jmobius.gameserver.util.Util;
-import org.l2jmobius.loginserver.LoginController;
public class Config
{
@@ -59,6 +68,7 @@ public class Config
// standard
private static final String FILTER_FILE = "./config/chatfilter.txt";
private static final String HEXID_FILE = "./config/hexid.txt";
+ private static final String IPCONFIG_FILE = "./config/ipconfig.xml";
// main
private static final String ACCESS_CONFIG_FILE = "./config/main/Access.ini";
private static final String CHARACTER_CONFIG_FILE = "./config/main/Character.ini";
@@ -103,15 +113,10 @@ public class Config
private static final String EVENT_REBIRTH_CONFIG_FILE = "./config/custom/Rebirth.ini";
private static final String EVENT_WEDDING_CONFIG_FILE = "./config/custom/Wedding.ini";
// login
- private static final String LOGIN_CONFIG_FILE = "./config/main/LoginServer.ini";
- // others
- private static final String BANNED_IP_FILE = "./config/others/banned_ip.cfg";
- public static final String SERVER_NAME_FILE = "./config/others/servername.xml";
- // legacy
- private static final String LEGACY_BANNED_IP = "./config/banned_ip.cfg";
+ private static final String LOGIN_CONFIG_FILE = "./config/LoginServer.ini";
// --------------------------------------------------
- // Constants
+ // Variable Definitions
// --------------------------------------------------
public static final String EOL = System.lineSeparator();
@@ -137,9 +142,6 @@ public class Config
public static int TRADE_PVP_AMOUNT;
public static boolean GLOBAL_CHAT_WITH_PVP;
public static int GLOBAL_PVP_AMOUNT;
- public static int BRUT_AVG_TIME;
- public static int BRUT_LOGON_ATTEMPTS;
- public static int BRUT_BAN_IP_TIME;
public static boolean LOGIN_SERVER_SCHEDULE_RESTART;
public static long LOGIN_SERVER_SCHEDULE_RESTART_TIME;
public static int MAX_CHAT_LENGTH;
@@ -204,8 +206,6 @@ public class Config
public static boolean HIGH_RATE_SERVER_DROPS;
public static boolean FORCE_COMPLETE_STATUS_UPDATE;
- public static int PORT_GAME;
- public static String GAMESERVER_HOSTNAME;
public static String DATABASE_DRIVER;
public static String DATABASE_URL;
public static String DATABASE_LOGIN;
@@ -1149,10 +1149,12 @@ public class Config
public static String LOGIN_BIND_ADDRESS;
public static int LOGIN_TRY_BEFORE_BAN;
public static int LOGIN_BLOCK_AFTER_BAN;
+ public static String GAMESERVER_HOSTNAME;
+ public static int PORT_GAME;
public static int GAME_SERVER_LOGIN_PORT;
public static String GAME_SERVER_LOGIN_HOST;
- public static String INTERNAL_HOSTNAME;
- public static String EXTERNAL_HOSTNAME;
+ public static List GAME_SERVER_SUBNETS;
+ public static List GAME_SERVER_HOSTS;
public static int REQUEST_ID;
public static boolean ACCEPT_ALTERNATE_ID;
public static File DATAPACK_ROOT;
@@ -1164,6 +1166,7 @@ public class Config
public static int MAX_PROTOCOL_REVISION;
public static int SCHEDULED_THREAD_POOL_COUNT;
public static int INSTANT_THREAD_POOL_COUNT;
+ public static int IO_PACKET_THREAD_CORE_SIZE;
public static String CNAME_TEMPLATE;
public static String PET_NAME_TEMPLATE;
public static String CLAN_NAME_TEMPLATE;
@@ -1180,9 +1183,7 @@ public class Config
public static int PRECAUTIONARY_RESTART_PERCENTAGE;
public static int PRECAUTIONARY_RESTART_DELAY;
- public static int IP_UPDATE_TIME;
public static boolean SHOW_LICENCE;
- public static boolean FORCE_GGAUTH;
public static boolean FLOOD_PROTECTION;
public static int FAST_CONNECTION_LIMIT;
public static int NORMAL_CONNECTION_TIME;
@@ -1190,21 +1191,6 @@ public class Config
public static int MAX_CONNECTION_PER_IP;
public static boolean ACCEPT_NEW_GAMESERVER;
public static boolean AUTO_CREATE_ACCOUNTS;
- public static String NETWORK_IP_LIST;
- public static long SESSION_TTL;
- public static int MAX_LOGINSESSIONS;
-
- /** MMO settings */
- public static final int MMO_SELECTOR_SLEEP_TIME = 20; // default 20
- public static final int MMO_MAX_SEND_PER_PASS = 80; // default 80
- public static final int MMO_MAX_READ_PER_PASS = 80; // default 80
- public static final int MMO_HELPER_BUFFER_COUNT = 20; // default 20
-
- /** Client Packets Queue settings */
- public static final int CLIENT_PACKET_QUEUE_SIZE = 14; // default MMO_MAX_READ_PER_PASS + 2
-
- /** Packet handler settings */
- public static final boolean PACKET_HANDLER_DEBUG = false;
public static void loadAccessConfig()
{
@@ -1227,12 +1213,11 @@ public class Config
public static void loadServerConfig()
{
final PropertiesParser serverConfig = new PropertiesParser(SERVER_CONFIG_FILE);
- GAMESERVER_HOSTNAME = serverConfig.getString("GameserverHostname", "");
+ GAMESERVER_HOSTNAME = serverConfig.getString("GameserverHostname", "0.0.0.0");
PORT_GAME = serverConfig.getInt("GameserverPort", 7777);
- EXTERNAL_HOSTNAME = serverConfig.getString("ExternalHostname", "*");
- INTERNAL_HOSTNAME = serverConfig.getString("InternalHostname", "*");
GAME_SERVER_LOGIN_PORT = serverConfig.getInt("LoginPort", 9014);
GAME_SERVER_LOGIN_HOST = serverConfig.getString("LoginHost", "127.0.0.1");
+
DATABASE_DRIVER = serverConfig.getString("Driver", "org.mariadb.jdbc.Driver");
DATABASE_URL = serverConfig.getString("URL", "jdbc:mariadb://localhost/");
DATABASE_LOGIN = serverConfig.getString("Login", "root");
@@ -1264,6 +1249,7 @@ public class Config
}
SCHEDULED_THREAD_POOL_COUNT = serverConfig.getInt("ScheduledThreadPoolCount", 40);
INSTANT_THREAD_POOL_COUNT = serverConfig.getInt("InstantThreadPoolCount", 20);
+ IO_PACKET_THREAD_CORE_SIZE = serverConfig.getInt("UrgentPacketThreadCoreSize", 20);
CNAME_TEMPLATE = serverConfig.getString("CnameTemplate", ".*");
PET_NAME_TEMPLATE = serverConfig.getString("PetNameTemplate", ".*");
CLAN_NAME_TEMPLATE = serverConfig.getString("ClanNameTemplate", ".*");
@@ -2991,15 +2977,24 @@ public class Config
public static void loadLoginStartConfig()
{
final PropertiesParser serverSettings = new PropertiesParser(LOGIN_CONFIG_FILE);
- GAME_SERVER_LOGIN_HOST = serverSettings.getString("LoginHostname", "*");
+ GAME_SERVER_LOGIN_HOST = serverSettings.getString("LoginHostname", "127.0.0.1");
GAME_SERVER_LOGIN_PORT = serverSettings.getInt("LoginPort", 9013);
- LOGIN_BIND_ADDRESS = serverSettings.getString("LoginserverHostname", "*");
+ LOGIN_BIND_ADDRESS = serverSettings.getString("LoginserverHostname", "0.0.0.0");
PORT_LOGIN = serverSettings.getInt("LoginserverPort", 2106);
+ try
+ {
+ DATAPACK_ROOT = new File(serverSettings.getString("DatapackRoot", ".").replaceAll("\\\\", "/")).getCanonicalFile();
+ }
+ catch (IOException e)
+ {
+ LOGGER.log(Level.WARNING, "Error setting datapack root!", e);
+ DATAPACK_ROOT = new File(".");
+ }
ACCEPT_NEW_GAMESERVER = serverSettings.getBoolean("AcceptNewGameServer", true);
LOGIN_TRY_BEFORE_BAN = serverSettings.getInt("LoginTryBeforeBan", 10);
LOGIN_BLOCK_AFTER_BAN = serverSettings.getInt("LoginBlockAfterBan", 600);
- INTERNAL_HOSTNAME = serverSettings.getString("InternalHostname", "localhost");
- EXTERNAL_HOSTNAME = serverSettings.getString("ExternalHostname", "localhost");
+ LOGIN_SERVER_SCHEDULE_RESTART = serverSettings.getBoolean("LoginRestartSchedule", false);
+ LOGIN_SERVER_SCHEDULE_RESTART_TIME = serverSettings.getLong("LoginRestartTime", 24);
DATABASE_DRIVER = serverSettings.getString("Driver", "org.mariadb.jdbc.Driver");
DATABASE_URL = serverSettings.getString("URL", "jdbc:mariadb://localhost/l2jdb");
DATABASE_LOGIN = serverSettings.getString("Login", "root");
@@ -3009,115 +3004,13 @@ public class Config
MYSQL_BIN_PATH = serverSettings.getString("MySqlBinLocation", "C:/xampp/mysql/bin/");
BACKUP_PATH = serverSettings.getString("BackupPath", "../backup/");
BACKUP_DAYS = serverSettings.getInt("BackupDays", 30);
- BRUT_AVG_TIME = serverSettings.getInt("BrutAvgTime", 30); // in Seconds
- BRUT_LOGON_ATTEMPTS = serverSettings.getInt("BrutLogonAttempts", 15);
- BRUT_BAN_IP_TIME = serverSettings.getInt("BrutBanIpTime", 900); // in Seconds
- LOGIN_SERVER_SCHEDULE_RESTART = serverSettings.getBoolean("LoginRestartSchedule", false);
- LOGIN_SERVER_SCHEDULE_RESTART_TIME = serverSettings.getLong("LoginRestartTime", 24);
SHOW_LICENCE = serverSettings.getBoolean("ShowLicence", false);
- IP_UPDATE_TIME = serverSettings.getInt("IpUpdateTime", 15);
- FORCE_GGAUTH = serverSettings.getBoolean("ForceGGAuth", false);
AUTO_CREATE_ACCOUNTS = serverSettings.getBoolean("AutoCreateAccounts", true);
FLOOD_PROTECTION = serverSettings.getBoolean("EnableFloodProtection", true);
FAST_CONNECTION_LIMIT = serverSettings.getInt("FastConnectionLimit", 15);
NORMAL_CONNECTION_TIME = serverSettings.getInt("NormalConnectionTime", 700);
FAST_CONNECTION_TIME = serverSettings.getInt("FastConnectionTime", 350);
MAX_CONNECTION_PER_IP = serverSettings.getInt("MaxConnectionPerIP", 50);
- NETWORK_IP_LIST = serverSettings.getString("NetworkList", "");
- SESSION_TTL = serverSettings.getLong("SessionTTL", 25000);
- MAX_LOGINSESSIONS = serverSettings.getInt("MaxSessions", 200);
- }
-
- public static void loadBanFile()
- {
- File file = new File(BANNED_IP_FILE);
- if (!file.exists())
- {
- // old file position
- file = new File(LEGACY_BANNED_IP);
- }
-
- if (file.exists() && file.isFile())
- {
- FileInputStream fis = null;
- try
- {
- fis = new FileInputStream(file);
- LineNumberReader reader = null;
- String line;
- String[] parts;
- try
- {
- reader = new LineNumberReader(new InputStreamReader(fis));
- while ((line = reader.readLine()) != null)
- {
- line = line.trim();
- // check if this line isnt a comment line
- if ((line.length() > 0) && (line.charAt(0) != '#'))
- {
- // split comments if any
- parts = line.split("#", 2);
-
- // discard comments in the line, if any
- line = parts[0];
- parts = line.split(" ");
-
- final String address = parts[0];
- long duration = 0;
- if (parts.length > 1)
- {
- try
- {
- duration = Long.parseLong(parts[1]);
- }
- catch (NumberFormatException e)
- {
- LOGGER.warning("Skipped: Incorrect ban duration (" + parts[1] + ") on (" + file.getName() + "). Line: " + reader.getLineNumber());
- continue;
- }
- }
-
- try
- {
- LoginController.getInstance().addBanForAddress(address, duration);
- }
- catch (UnknownHostException e)
- {
- LOGGER.warning("Skipped: Invalid address (" + parts[0] + ") on (" + file.getName() + "). Line: " + reader.getLineNumber());
- }
- }
- }
- }
- catch (IOException e)
- {
- LOGGER.warning("Error while reading the bans file (" + file.getName() + "). Details: " + e);
- }
-
- LOGGER.info("Loaded " + LoginController.getInstance().getBannedIps().size() + " IP Bans.");
- }
- catch (FileNotFoundException e)
- {
- LOGGER.warning("Failed to load banned IPs file (" + file.getName() + ") for reading. Reason: " + e);
- }
- finally
- {
- if (fis != null)
- {
- try
- {
- fis.close();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
- }
- }
- else
- {
- LOGGER.info("IP Bans file (" + file.getName() + ") is missing or is a directory, skipped.");
- }
}
public static void saveHexid(int serverId, String string)
@@ -3248,6 +3141,11 @@ public class Config
loadFilter();
}
+ // Hosts and Subnets
+ final IPConfigData ipcd = new IPConfigData();
+ GAME_SERVER_SUBNETS = ipcd.getSubnets();
+ GAME_SERVER_HOSTS = ipcd.getHosts();
+
loadTelnetConfig();
}
else if (SERVER_MODE == ServerMode.LOGIN)
@@ -3261,4 +3159,155 @@ public class Config
LOGGER.severe("Could not Load Config: server mode was not set.");
}
}
+
+ private static class IPConfigData implements IXmlReader
+ {
+ private static final List _subnets = new ArrayList<>(5);
+ private static final List _hosts = new ArrayList<>(5);
+
+ public IPConfigData()
+ {
+ load();
+ }
+
+ @Override
+ public void load()
+ {
+ final File f = new File(IPCONFIG_FILE);
+ if (f.exists())
+ {
+ LOGGER.info("Network Config: ipconfig.xml exists using manual configuration...");
+ parseFile(new File(IPCONFIG_FILE));
+ }
+ else // Auto configuration...
+ {
+ LOGGER.info("Network Config: ipconfig.xml doesn't exists using automatic configuration...");
+ autoIpConfig();
+ }
+ }
+
+ @Override
+ public void parseDocument(Document doc, File f)
+ {
+ NamedNodeMap attrs;
+ for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())
+ {
+ if ("gameserver".equalsIgnoreCase(n.getNodeName()))
+ {
+ for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())
+ {
+ if ("define".equalsIgnoreCase(d.getNodeName()))
+ {
+ attrs = d.getAttributes();
+ _subnets.add(attrs.getNamedItem("subnet").getNodeValue());
+ _hosts.add(attrs.getNamedItem("address").getNodeValue());
+
+ if (_hosts.size() != _subnets.size())
+ {
+ LOGGER.warning("Failed to Load " + IPCONFIG_FILE + " File - subnets does not match server addresses.");
+ }
+ }
+ }
+
+ final Node att = n.getAttributes().getNamedItem("address");
+ if (att == null)
+ {
+ LOGGER.warning("Failed to load " + IPCONFIG_FILE + " file - default server address is missing.");
+ _hosts.add("127.0.0.1");
+ }
+ else
+ {
+ _hosts.add(att.getNodeValue());
+ }
+ _subnets.add("0.0.0.0/0");
+ }
+ }
+ }
+
+ protected void autoIpConfig()
+ {
+ String externalIp = "127.0.0.1";
+ try
+ {
+ final URL autoIp = new URL("http://ip1.dynupdate.no-ip.com:8245/");
+ try (BufferedReader in = new BufferedReader(new InputStreamReader(autoIp.openStream())))
+ {
+ externalIp = in.readLine();
+ }
+ }
+ catch (IOException e)
+ {
+ LOGGER.log(Level.INFO, "Failed to connect to api.externalip.net please check your internet connection using 127.0.0.1!");
+ externalIp = "127.0.0.1";
+ }
+
+ try
+ {
+ final Enumeration niList = NetworkInterface.getNetworkInterfaces();
+ while (niList.hasMoreElements())
+ {
+ final NetworkInterface ni = niList.nextElement();
+ if (!ni.isUp() || ni.isVirtual())
+ {
+ continue;
+ }
+
+ if (!ni.isLoopback() && ((ni.getHardwareAddress() == null) || (ni.getHardwareAddress().length != 6)))
+ {
+ continue;
+ }
+
+ for (InterfaceAddress ia : ni.getInterfaceAddresses())
+ {
+ if (ia.getAddress() instanceof Inet6Address)
+ {
+ continue;
+ }
+
+ final String hostAddress = ia.getAddress().getHostAddress();
+ final int subnetPrefixLength = ia.getNetworkPrefixLength();
+ final int subnetMaskInt = IntStream.rangeClosed(1, subnetPrefixLength).reduce((r, e) -> (r << 1) + 1).orElse(0) << (32 - subnetPrefixLength);
+ final int hostAddressInt = Arrays.stream(hostAddress.split("\\.")).mapToInt(Integer::parseInt).reduce((r, e) -> (r << 8) + e).orElse(0);
+ final int subnetAddressInt = hostAddressInt & subnetMaskInt;
+ final String subnetAddress = ((subnetAddressInt >> 24) & 0xFF) + "." + ((subnetAddressInt >> 16) & 0xFF) + "." + ((subnetAddressInt >> 8) & 0xFF) + "." + (subnetAddressInt & 0xFF);
+ final String subnet = subnetAddress + '/' + subnetPrefixLength;
+ if (!_subnets.contains(subnet) && !subnet.equals("0.0.0.0/0"))
+ {
+ _subnets.add(subnet);
+ _hosts.add(hostAddress);
+ LOGGER.info("Network Config: Adding new subnet: " + subnet + " address: " + hostAddress);
+ }
+ }
+ }
+
+ // External host and subnet
+ _hosts.add(externalIp);
+ _subnets.add("0.0.0.0/0");
+ LOGGER.info("Network Config: Adding new subnet: 0.0.0.0/0 address: " + externalIp);
+ }
+ catch (SocketException e)
+ {
+ LOGGER.log(Level.INFO, "Network Config: Configuration failed please configure manually using ipconfig.xml", e);
+ System.exit(0);
+ }
+ }
+
+ protected List getSubnets()
+ {
+ if (_subnets.isEmpty())
+ {
+ return Arrays.asList("0.0.0.0/0");
+ }
+ return _subnets;
+ }
+
+ protected List getHosts()
+ {
+ if (_hosts.isEmpty())
+ {
+ return Arrays.asList("127.0.0.1");
+ }
+ return _hosts;
+ }
+ }
}
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/crypt/LoginCrypt.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/crypt/LoginCrypt.java
deleted file mode 100644
index 8144e59bba..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/crypt/LoginCrypt.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.crypt;
-
-import java.io.IOException;
-
-import org.l2jmobius.commons.util.Rnd;
-
-/**
- * @author KenM
- */
-public class LoginCrypt
-{
- private static final byte[] STATIC_BLOWFISH_KEY =
- {
- (byte) 0x6b,
- (byte) 0x60,
- (byte) 0xcb,
- (byte) 0x5b,
- (byte) 0x82,
- (byte) 0xce,
- (byte) 0x90,
- (byte) 0xb1,
- (byte) 0xcc,
- (byte) 0x2b,
- (byte) 0x6c,
- (byte) 0x55,
- (byte) 0x6c,
- (byte) 0x6c,
- (byte) 0x6c,
- (byte) 0x6c
- };
-
- private final NewCrypt _staticCrypt = new NewCrypt(STATIC_BLOWFISH_KEY);
- private NewCrypt _crypt;
- private boolean _static = true;
-
- public void setKey(byte[] key)
- {
- _crypt = new NewCrypt(key);
- }
-
- public boolean decrypt(byte[] raw, int offset, int size) throws IOException
- {
- _crypt.decrypt(raw, offset, size);
- return NewCrypt.verifyChecksum(raw, offset, size);
- }
-
- public int encrypt(byte[] raw, int offset, int size) throws IOException
- {
- int newSize = size;
- // reserve checksum
- newSize += 4;
-
- if (_static)
- {
- // reserve for XOR "key"
- newSize += 4;
-
- // padding
- newSize += 8 - (newSize % 8);
- NewCrypt.encXORPass(raw, offset, newSize, Rnd.nextInt());
- _staticCrypt.crypt(raw, offset, newSize);
-
- _static = false;
- }
- else
- {
- // padding
- newSize += 8 - (newSize % 8);
- NewCrypt.appendChecksum(raw, offset, newSize);
- _crypt.crypt(raw, offset, newSize);
- }
-
- return newSize;
- }
-}
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/IClientFactory.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/IClientFactory.java
deleted file mode 100644
index e2195692fa..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/IClientFactory.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-/**
- * @author KenM
- * @param
- */
-public interface IClientFactory>
-{
- T create(MMOConnection con);
-}
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/IMMOExecutor.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/IMMOExecutor.java
deleted file mode 100644
index 3c8fafa0be..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/IMMOExecutor.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-/**
- * @author KenM
- * @param
- */
-public interface IMMOExecutor>
-{
- void execute(ReceivablePacket packet);
-}
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/IPacketHandler.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/IPacketHandler.java
deleted file mode 100644
index 020d3c6d7c..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/IPacketHandler.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-import java.nio.ByteBuffer;
-
-/**
- * @author KenM
- * @param
- */
-public interface IPacketHandler>
-{
- ReceivablePacket handlePacket(ByteBuffer buf, T client);
-}
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/MMOClient.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/MMOClient.java
deleted file mode 100644
index 331a9475f1..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/MMOClient.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-import java.nio.ByteBuffer;
-
-/**
- * @author KenM
- * @param
- */
-public abstract class MMOClient>
-{
- private final T _con;
-
- public MMOClient(T con)
- {
- _con = con;
- }
-
- public T getConnection()
- {
- return _con;
- }
-
- public abstract boolean decrypt(ByteBuffer buf, int size);
-
- public abstract boolean encrypt(ByteBuffer buf, int size);
-
- protected abstract void onDisconnection();
-
- protected abstract void onForcedDisconnection();
-}
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/MMOConnection.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/MMOConnection.java
deleted file mode 100644
index 116f68d509..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/MMOConnection.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.Socket;
-import java.nio.ByteBuffer;
-import java.nio.channels.CancelledKeyException;
-import java.nio.channels.ReadableByteChannel;
-import java.nio.channels.SelectionKey;
-import java.nio.channels.WritableByteChannel;
-
-/**
- * @author KenM
- * @param
- */
-public class MMOConnection>
-{
- private final SelectorThread _selectorThread;
-
- private final Socket _socket;
-
- private final InetAddress _address;
-
- private final ReadableByteChannel _readableByteChannel;
-
- private final WritableByteChannel _writableByteChannel;
-
- private final int _port;
-
- private final NioNetStackList> _sendQueue;
-
- private final SelectionKey _selectionKey;
-
- private ByteBuffer _readBuffer;
-
- private ByteBuffer _primaryWriteBuffer;
-
- private ByteBuffer _secondaryWriteBuffer;
-
- private volatile boolean _pendingClose;
-
- private T _client;
-
- public MMOConnection(SelectorThread selectorThread, Socket socket, SelectionKey key)
- {
- _selectorThread = selectorThread;
- _socket = socket;
- _address = socket.getInetAddress();
- _readableByteChannel = socket.getChannel();
- _writableByteChannel = socket.getChannel();
- _port = socket.getPort();
- _selectionKey = key;
- _sendQueue = new NioNetStackList<>();
- }
-
- final void setClient(T client)
- {
- _client = client;
- }
-
- public T getClient()
- {
- return _client;
- }
-
- public void sendPacket(SendablePacket sp)
- {
- sp._client = _client;
- if (_pendingClose)
- {
- return;
- }
-
- synchronized (getSendQueue())
- {
- _sendQueue.addLast(sp);
- }
-
- if (!_sendQueue.isEmpty())
- {
- try
- {
- _selectionKey.interestOps(_selectionKey.interestOps() | SelectionKey.OP_WRITE);
- }
- catch (CancelledKeyException e)
- {
- // ignore
- }
- }
- }
-
- final SelectionKey getSelectionKey()
- {
- return _selectionKey;
- }
-
- public InetAddress getInetAddress()
- {
- return _address;
- }
-
- public int getPort()
- {
- return _port;
- }
-
- final void close() throws IOException
- {
- _socket.close();
- }
-
- final int read(ByteBuffer buf) throws IOException
- {
- return _readableByteChannel.read(buf);
- }
-
- final int write(ByteBuffer buf) throws IOException
- {
- return _writableByteChannel.write(buf);
- }
-
- final void createWriteBuffer(ByteBuffer buf)
- {
- if (_primaryWriteBuffer == null)
- {
- _primaryWriteBuffer = _selectorThread.getPooledBuffer();
- _primaryWriteBuffer.put(buf);
- }
- else
- {
- final ByteBuffer temp = _selectorThread.getPooledBuffer();
- temp.put(buf);
-
- final int remaining = temp.remaining();
- _primaryWriteBuffer.flip();
- final int limit = _primaryWriteBuffer.limit();
- if (remaining >= _primaryWriteBuffer.remaining())
- {
- temp.put(_primaryWriteBuffer);
- _selectorThread.recycleBuffer(_primaryWriteBuffer);
- _primaryWriteBuffer = temp;
- }
- else
- {
- _primaryWriteBuffer.limit(remaining);
- temp.put(_primaryWriteBuffer);
- _primaryWriteBuffer.limit(limit);
- _primaryWriteBuffer.compact();
- _secondaryWriteBuffer = _primaryWriteBuffer;
- }
- _primaryWriteBuffer = temp;
- }
- }
-
- final boolean hasPendingWriteBuffer()
- {
- return _primaryWriteBuffer != null;
- }
-
- final void movePendingWriteBufferTo(ByteBuffer dest)
- {
- _primaryWriteBuffer.flip();
- dest.put(_primaryWriteBuffer);
- _selectorThread.recycleBuffer(_primaryWriteBuffer);
- _primaryWriteBuffer = _secondaryWriteBuffer;
- _secondaryWriteBuffer = null;
- }
-
- final void setReadBuffer(ByteBuffer buf)
- {
- _readBuffer = buf;
- }
-
- final ByteBuffer getReadBuffer()
- {
- return _readBuffer;
- }
-
- public boolean isClosed()
- {
- return _pendingClose;
- }
-
- final NioNetStackList> getSendQueue()
- {
- return _sendQueue;
- }
-
- /*
- * final SendablePacket getClosePacket() { return _closePacket; }
- */
-
- @SuppressWarnings("unchecked")
- public void close(SendablePacket sp)
- {
- close(new SendablePacket[]
- {
- sp
- });
- }
-
- public void close(SendablePacket[] closeList)
- {
- if (_pendingClose)
- {
- return;
- }
-
- synchronized (getSendQueue())
- {
- if (!_pendingClose)
- {
- _pendingClose = true;
- _sendQueue.clear();
- for (SendablePacket sp : closeList)
- {
- _sendQueue.addLast(sp);
- }
- }
- }
-
- try
- {
- _selectionKey.interestOps(_selectionKey.interestOps() & ~SelectionKey.OP_WRITE);
- }
- catch (CancelledKeyException e)
- {
- // ignore
- }
-
- // _closePacket = sp;
- _selectorThread.closeConnection(this);
- }
-
- final void releaseBuffers()
- {
- if (_primaryWriteBuffer != null)
- {
- _selectorThread.recycleBuffer(_primaryWriteBuffer);
- _primaryWriteBuffer = null;
- if (_secondaryWriteBuffer != null)
- {
- _selectorThread.recycleBuffer(_secondaryWriteBuffer);
- _secondaryWriteBuffer = null;
- }
- }
-
- if (_readBuffer != null)
- {
- _selectorThread.recycleBuffer(_readBuffer);
- _readBuffer = null;
- }
- }
-}
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/NioNetStackList.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/NioNetStackList.java
deleted file mode 100644
index a58719ca6b..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/NioNetStackList.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-/**
- * @author Forsaiken
- * @param
- */
-public class NioNetStackList
-{
- private final NioNetStackNode _start = new NioNetStackNode();
-
- private final NioNetStackNodeBuf _buf = new NioNetStackNodeBuf();
-
- private NioNetStackNode _end = new NioNetStackNode();
-
- public NioNetStackList()
- {
- clear();
- }
-
- public void addLast(E elem)
- {
- final NioNetStackNode newEndNode = _buf.removeFirst();
- _end._value = elem;
- _end._next = newEndNode;
- _end = newEndNode;
- }
-
- public E removeFirst()
- {
- final NioNetStackNode old = _start._next;
- final E value = old._value;
- _start._next = old._next;
- _buf.addLast(old);
- return value;
- }
-
- public boolean isEmpty()
- {
- return _start._next == _end;
- }
-
- public void clear()
- {
- _start._next = _end;
- }
-
- protected final class NioNetStackNode
- {
- protected NioNetStackNode _next;
-
- protected E _value;
- }
-
- private final class NioNetStackNodeBuf
- {
- private final NioNetStackNode _start = new NioNetStackNode();
-
- private NioNetStackNode _end = new NioNetStackNode();
-
- NioNetStackNodeBuf()
- {
- _start._next = _end;
- }
-
- final void addLast(NioNetStackNode node)
- {
- node._next = null;
- node._value = null;
- _end._next = node;
- _end = node;
- }
-
- final NioNetStackNode removeFirst()
- {
- if (_start._next == _end)
- {
- return new NioNetStackNode();
- }
-
- final NioNetStackNode old = _start._next;
- _start._next = old._next;
- return old;
- }
- }
-}
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/NioNetStringBuffer.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/NioNetStringBuffer.java
deleted file mode 100644
index 7bc2a638fa..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/NioNetStringBuffer.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-import java.nio.BufferOverflowException;
-
-/**
- * @author Forsaiken
- */
-public class NioNetStringBuffer
-{
- private final char[] _buf;
-
- private final int _size;
-
- private int _len;
-
- public NioNetStringBuffer(int size)
- {
- _buf = new char[size];
- _size = size;
- _len = 0;
- }
-
- public void clear()
- {
- _len = 0;
- }
-
- public void append(char c)
- {
- if (_len < _size)
- {
- _buf[_len++] = c;
- }
- else
- {
- throw new BufferOverflowException();
- }
- }
-
- @Override
- public String toString()
- {
- return new String(_buf, 0, _len);
- }
-}
\ No newline at end of file
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/ReceivablePacket.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/ReceivablePacket.java
deleted file mode 100644
index 37fed721b8..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/ReceivablePacket.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-import java.nio.ByteBuffer;
-
-/**
- * @author KenM
- * @param
- */
-public abstract class ReceivablePacket>extends AbstractPacket implements Runnable
-{
- NioNetStringBuffer _sbuf;
-
- protected ReceivablePacket()
- {
- }
-
- protected abstract boolean read();
-
- @Override
- public abstract void run();
-
- /**
- * Reads byte[] from the buffer.
- * Reads as many bytes as the length of the array.
- * @param dst : the byte array which will be filled with the data.
- */
- protected final void readB(byte[] dst)
- {
- _buf.get(dst);
- }
-
- /**
- * Reads byte[] from the buffer.
- * Reads as many bytes as the given length (len). Starts to fill the byte array from the given offset to offset + len .
- * @param dst : the byte array which will be filled with the data.
- * @param offset : starts to fill the byte array from the given offset.
- * @param len : the given length of bytes to be read.
- */
- protected final void readB(byte[] dst, int offset, int len)
- {
- _buf.get(dst, offset, len);
- }
-
- /**
- * Reads byte from the buffer.
- * 8bit integer (00)
- * @return
- */
- protected final int readC()
- {
- return _buf.get() & 0xFF;
- }
-
- /**
- * Reads short from the buffer.
- * 16bit integer (00 00)
- * @return
- */
- protected final int readH()
- {
- return _buf.getShort() & 0xFFFF;
- }
-
- /**
- * Reads int from the buffer.
- * 32bit integer (00 00 00 00)
- * @return
- */
- protected final int readD()
- {
- return _buf.getInt();
- }
-
- /**
- * Reads long from the buffer.
- * 64bit integer (00 00 00 00 00 00 00 00)
- * @return
- */
- protected final long readQ()
- {
- return _buf.getLong();
- }
-
- /**
- * Reads double from the buffer.
- * 64bit double precision float (00 00 00 00 00 00 00 00)
- * @return
- */
- protected final double readF()
- {
- return _buf.getDouble();
- }
-
- /**
- * Reads String from the buffer.
- * @return
- */
- protected final String readS()
- {
- _sbuf.clear();
-
- char ch;
- while ((ch = _buf.getChar()) != 0)
- {
- _sbuf.append(ch);
- }
-
- return _sbuf.toString();
- }
-
- /**
- * packet forge purpose
- * @param data
- * @param client
- * @param sBuffer
- */
- public void setBuffers(ByteBuffer data, T client, NioNetStringBuffer sBuffer)
- {
- _buf = data;
- _client = client;
- _sbuf = sBuffer;
- }
-}
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/SelectorConfig.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/SelectorConfig.java
deleted file mode 100644
index d3df1533f8..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/SelectorConfig.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-/**
- * @author KenM
- */
-public class SelectorConfig
-{
- public int READ_BUFFER_SIZE = 64 * 1024;
-
- public int WRITE_BUFFER_SIZE = 64 * 1024;
-
- public int HELPER_BUFFER_COUNT = 20;
-
- public int HELPER_BUFFER_SIZE = 64 * 1024;
-
- /**
- * Server will try to send MAX_SEND_PER_PASS packets per socket write call
- * however it may send less if the write buffer was filled before achieving this value.
- */
- public int MAX_SEND_PER_PASS = 10;
-
- /**
- * Server will try to read MAX_READ_PER_PASS packets per socket read call
- * however it may read less if the read buffer was empty before achieving this value.
- */
- public int MAX_READ_PER_PASS = 10;
-
- /**
- * Defines how much time (in milis) should the selector sleep, an higher value increases throughput but also increases latency(to a max of the sleep value itself).
- * Also an extremely high value(usually > 100) will decrease throughput due to the server not doing enough sends per second (depends on max sends per pass).
- * Recommended values:
- * 1 for minimal latency.
- * 10-30 for an latency/troughput trade-off based on your needs.
- */
- public int SLEEP_TIME = 10;
-}
diff --git a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/SelectorThread.java b/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/SelectorThread.java
deleted file mode 100644
index 55bdf2e9d6..0000000000
--- a/L2J_Mobius_C6_Interlude/java/org/l2jmobius/commons/mmocore/SelectorThread.java
+++ /dev/null
@@ -1,692 +0,0 @@
-/*
- * This file is part of the L2J Mobius project.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package org.l2jmobius.commons.mmocore;
-
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.ServerSocket;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.channels.SelectionKey;
-import java.nio.channels.Selector;
-import java.nio.channels.ServerSocketChannel;
-import java.nio.channels.SocketChannel;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-/**
- * Parts of design based on network core from WoodenGil
- * @param
- * @author KenM
- */
-public class SelectorThread>extends Thread
-{
- // default BYTE_ORDER
- private static final ByteOrder BYTE_ORDER = ByteOrder.LITTLE_ENDIAN;
- // default HEADER_SIZE
- private static final int HEADER_SIZE = 2;
- // Selector
- private final Selector _selector;
- // Implementations
- private final IPacketHandler _packetHandler;
- private final IMMOExecutor _executor;
- private final IClientFactory _clientFactory;
- // Configurations
- private final int HELPER_BUFFER_SIZE;
- private final int HELPER_BUFFER_COUNT;
- private final int MAX_SEND_PER_PASS;
- private final int MAX_READ_PER_PASS;
- private final long SLEEP_TIME;
- // Main Buffers
- private final ByteBuffer DIRECT_WRITE_BUFFER;
- private final ByteBuffer WRITE_BUFFER;
- private final ByteBuffer READ_BUFFER;
- // String Buffer
- private final NioNetStringBuffer STRING_BUFFER;
- // ByteBuffers General Purpose Pool
- private final LinkedList _bufferPool;
- // Pending Close
- private final NioNetStackList> _pendingClose;
-
- private boolean _shutdown;
-
- public SelectorThread(SelectorConfig sc, IMMOExecutor executor, IPacketHandler packetHandler, IClientFactory clientFactory) throws IOException
- {
- super.setName("SelectorThread-" + super.getId());
-
- HELPER_BUFFER_SIZE = sc.HELPER_BUFFER_SIZE;
- HELPER_BUFFER_COUNT = sc.HELPER_BUFFER_COUNT;
- MAX_SEND_PER_PASS = sc.MAX_SEND_PER_PASS;
- MAX_READ_PER_PASS = sc.MAX_READ_PER_PASS;
-
- SLEEP_TIME = sc.SLEEP_TIME;
-
- DIRECT_WRITE_BUFFER = ByteBuffer.allocateDirect(sc.WRITE_BUFFER_SIZE).order(BYTE_ORDER);
- WRITE_BUFFER = ByteBuffer.wrap(new byte[sc.WRITE_BUFFER_SIZE]).order(BYTE_ORDER);
- READ_BUFFER = ByteBuffer.wrap(new byte[sc.READ_BUFFER_SIZE]).order(BYTE_ORDER);
-
- STRING_BUFFER = new NioNetStringBuffer(64 * 1024);
-
- _pendingClose = new NioNetStackList<>();
- _bufferPool = new LinkedList<>();
-
- for (int i = 0; i < HELPER_BUFFER_COUNT; i++)
- {
- _bufferPool.addLast(ByteBuffer.wrap(new byte[HELPER_BUFFER_SIZE]).order(BYTE_ORDER));
- }
-
- _packetHandler = packetHandler;
- _clientFactory = clientFactory;
- _executor = executor;
- _selector = Selector.open();
- }
-
- public void openServerSocket(InetAddress address, int tcpPort) throws IOException
- {
- final ServerSocketChannel selectable = ServerSocketChannel.open();
- selectable.configureBlocking(false);
-
- final ServerSocket ss = selectable.socket();
- if (address != null)
- {
- ss.bind(new InetSocketAddress(address, tcpPort));
- }
- else
- {
- ss.bind(new InetSocketAddress(tcpPort));
- }
-
- selectable.register(_selector, SelectionKey.OP_ACCEPT);
- }
-
- protected ByteBuffer getPooledBuffer()
- {
- if (_bufferPool.isEmpty())
- {
- return ByteBuffer.wrap(new byte[HELPER_BUFFER_SIZE]).order(BYTE_ORDER);
- }
-
- return _bufferPool.removeFirst();
- }
-
- protected void recycleBuffer(ByteBuffer buf)
- {
- if (_bufferPool.size() < HELPER_BUFFER_COUNT)
- {
- buf.clear();
- _bufferPool.addLast(buf);
- }
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public void run()
- {
- int selectedKeysCount = 0;
- SelectionKey key;
- MMOConnection con;
- Iterator selectedKeys;
-
- while (!_shutdown)
- {
- try
- {
- selectedKeysCount = _selector.selectNow();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
-
- if (selectedKeysCount > 0)
- {
- selectedKeys = _selector.selectedKeys().iterator();
-
- while (selectedKeys.hasNext())
- {
- key = selectedKeys.next();
- selectedKeys.remove();
-
- con = (MMOConnection) key.attachment();
-
- switch (key.readyOps())
- {
- case SelectionKey.OP_CONNECT:
- {
- finishConnection(key, con);
- break;
- }
- case SelectionKey.OP_ACCEPT:
- {
- acceptConnection(key, con);
- break;
- }
- case SelectionKey.OP_READ:
- {
- readPacket(key, con);
- break;
- }
- case SelectionKey.OP_WRITE:
- {
- writePacket(key, con);
- break;
- }
- case SelectionKey.OP_READ | SelectionKey.OP_WRITE:
- {
- writePacket(key, con);
- if (key.isValid())
- {
- readPacket(key, con);
- }
- break;
- }
- }
- }
- }
-
- synchronized (_pendingClose)
- {
- while (!_pendingClose.isEmpty())
- {
- con = _pendingClose.removeFirst();
- writeClosePacket(con);
- closeConnectionImpl(con.getSelectionKey(), con);
- }
- }
-
- try
- {
- Thread.sleep(SLEEP_TIME);
- }
- catch (InterruptedException e)
- {
- e.printStackTrace();
- }
- }
- closeSelectorThread();
- }
-
- private final void finishConnection(SelectionKey key, MMOConnection con)
- {
- try
- {
- ((SocketChannel) key.channel()).finishConnect();
- }
- catch (IOException e)
- {
- con.getClient().onForcedDisconnection();
- closeConnectionImpl(key, con);
- }
-
- // key might have been invalidated on finishConnect()
- if (key.isValid())
- {
- key.interestOps(key.interestOps() | SelectionKey.OP_READ);
- key.interestOps(key.interestOps() & ~SelectionKey.OP_CONNECT);
- }
- }
-
- @SuppressWarnings("all")
- private void acceptConnection(SelectionKey key, MMOConnection con)
- {
- final ServerSocketChannel ssc = (ServerSocketChannel) key.channel();
- SocketChannel sc = null;
-
- try
- {
- while ((sc = ssc.accept()) != null)
- {
- sc.configureBlocking(false);
- final SelectionKey clientKey = sc.register(_selector, SelectionKey.OP_READ);
- con = new MMOConnection<>(this, sc.socket(), clientKey);
- con.setClient(_clientFactory.create(con));
- clientKey.attach(con);
- }
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
-
- private void readPacket(SelectionKey key, MMOConnection con)
- {
- if (con.isClosed())
- {
- return;
- }
-
- ByteBuffer buf = con.getReadBuffer();
- if (buf == null)
- {
- buf = READ_BUFFER;
- }
-
- // if we try to to do a read with no space in the buffer it will read 0 bytes going into infinite loop
- if (buf.position() == buf.limit())
- {
- System.exit(0);
- }
-
- int result = -2;
-
- try
- {
- result = con.read(buf);
- }
- catch (IOException e)
- {
- // error handling goes bellow
- }
-
- if (result > 0)
- {
- buf.flip();
-
- final T client = con.getClient();
- for (int i = 0; i < MAX_READ_PER_PASS; i++)
- {
- if (!tryReadPacket(key, client, buf, con))
- {
- return;
- }
- }
-
- // only reachable if MAX_READ_PER_PASS has been reached
- // check if there are some more bytes in buffer
- // and allocate/compact to prevent content lose.
- if (buf.remaining() > 0)
- {
- // did we use the READ_BUFFER ?
- if (buf == READ_BUFFER)
- {
- // move the pending byte to the connections READ_BUFFER
- allocateReadBuffer(con);
- }
- else
- {
- // move the first byte to the beginning :)
- buf.compact();
- }
- }
- }
- else
- {
- switch (result)
- {
- case 0:
- case -1:
- {
- closeConnectionImpl(key, con);
- break;
- }
- case -2:
- {
- con.getClient().onForcedDisconnection();
- closeConnectionImpl(key, con);
- break;
- }
- }
- }
- }
-
- private boolean tryReadPacket(SelectionKey key, T client, ByteBuffer buf, MMOConnection con)
- {
- switch (buf.remaining())
- {
- case 0:
- {
- // buffer is full nothing to read
- return false;
- }
- case 1:
- {
- // we don't have enough data for header so we need to read
- key.interestOps(key.interestOps() | SelectionKey.OP_READ);
-
- // did we use the READ_BUFFER ?
- if (buf == READ_BUFFER)
- {
- // move the pending byte to the connections READ_BUFFER
- allocateReadBuffer(con);
- }
- else
- {
- // move the first byte to the beginning :)
- buf.compact();
- }
- return false;
- }
- default:
- {
- // data size excluding header size :>
- final int dataPending = (buf.getShort() & 0xFFFF) - HEADER_SIZE;
-
- // do we got enough bytes for the packet?
- if (dataPending <= buf.remaining())
- {
- // avoid parsing dummy packets (packets without body)
- if (dataPending > 0)
- {
- final int pos = buf.position();
- parseClientPacket(pos, buf, dataPending, client);
- buf.position(pos + dataPending);
- }
-
- // if we are done with this buffer
- if (!buf.hasRemaining())
- {
- if (buf != READ_BUFFER)
- {
- con.setReadBuffer(null);
- recycleBuffer(buf);
- }
- else
- {
- READ_BUFFER.clear();
- }
- return false;
- }
- return true;
- }
- // we don't have enough bytes for the dataPacket so we need to read
- key.interestOps(key.interestOps() | SelectionKey.OP_READ);
-
- // did we use the READ_BUFFER ?
- if (buf == READ_BUFFER)
- {
- // move it's position
- buf.position(buf.position() - HEADER_SIZE);
- // move the pending byte to the connections READ_BUFFER
- allocateReadBuffer(con);
- }
- else
- {
- buf.position(buf.position() - HEADER_SIZE);
- buf.compact();
- }
- return false;
- }
- }
- }
-
- private void allocateReadBuffer(MMOConnection con)
- {
- con.setReadBuffer(getPooledBuffer().put(READ_BUFFER));
- READ_BUFFER.clear();
- }
-
- private final void parseClientPacket(int pos, ByteBuffer buf, int dataSize, T client)
- {
- final boolean ret = client.decrypt(buf, dataSize);
- if (ret && buf.hasRemaining())
- {
- // apply limit
- final int limit = buf.limit();
- buf.limit(pos + dataSize);
- final ReceivablePacket cp = _packetHandler.handlePacket(buf, client);
- if (cp != null)
- {
- cp._buf = buf;
- cp._sbuf = STRING_BUFFER;
- cp._client = client;
- if (cp.read())
- {
- _executor.execute(cp);
- }
-
- cp._buf = null;
- cp._sbuf = null;
- }
-
- buf.limit(limit);
- }
- }
-
- private void writeClosePacket(MMOConnection con)
- {
- SendablePacket sp;
- synchronized (con.getSendQueue())
- {
- if (con.getSendQueue().isEmpty())
- {
- return;
- }
-
- while ((sp = con.getSendQueue().removeFirst()) != null)
- {
- WRITE_BUFFER.clear();
-
- putPacketIntoWriteBuffer(con.getClient(), sp);
-
- WRITE_BUFFER.flip();
-
- try
- {
- con.write(WRITE_BUFFER);
- }
- catch (IOException e)
- {
- // error handling goes on the if bellow
- }
- }
- }
- }
-
- protected void writePacket(SelectionKey key, MMOConnection con)
- {
- if (!prepareWriteBuffer(con))
- {
- key.interestOps(key.interestOps() & ~SelectionKey.OP_WRITE);
- return;
- }
-
- DIRECT_WRITE_BUFFER.flip();
-
- final int size = DIRECT_WRITE_BUFFER.remaining();
-
- int result = -1;
-
- try
- {
- result = con.write(DIRECT_WRITE_BUFFER);
- }
- catch (IOException e)
- {
- // error handling goes on the if bellow
- }
-
- // check if no error happened
- if (result >= 0)
- {
- // check if we written everything
- if (result == size)
- {
- // complete write
- synchronized (con.getSendQueue())
- {
- if (con.getSendQueue().isEmpty() && !con.hasPendingWriteBuffer())
- {
- key.interestOps(key.interestOps() & ~SelectionKey.OP_WRITE);
- }
- }
- }
- else
- {
- // incomplete write
- con.createWriteBuffer(DIRECT_WRITE_BUFFER);
- }
- }
- else
- {
- con.getClient().onForcedDisconnection();
- closeConnectionImpl(key, con);
- }
- }
-
- private boolean prepareWriteBuffer(MMOConnection