tensador125

l2jmega to 216

Jul 19th, 2024
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 186.97 KB | Gaming | 0 0
  1. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java
  2. index fb0a4c2e..9ff755e7 100644
  3. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java
  4. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/MultiSellChoose.java
  5. @@ -133,7 +133,8 @@ else if (player.getInventory().getItemByItemId(e.getItemId()) == null)
  6.                          // this happens if 1 list entry has the same ingredient twice (example 2 swords = 1 dual)
  7.                          if (ex.getItemId() == e.getItemId() && ex.getEnchantLevel() == e.getEnchantLevel())
  8.                          {
  9. -                            if (ex.getItemCount() + e.getItemCount() > Integer.MAX_VALUE)
  10. +                            //if (ex.getItemCount() + e.getItemCount() > Integer.MAX_VALUE)
  11. +                            if (ex.getItemCount() > Integer.MAX_VALUE - e.getItemCount())
  12.                              {
  13.                                  player.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_QUANTITY_THAT_CAN_BE_INPUTTED);
  14.                                  return;
  15. @@ -157,7 +158,8 @@ else if (player.getInventory().getItemByItemId(e.getItemId()) == null)
  16.                  // now check if the player has sufficient items in the inventory to cover the ingredients' expences
  17.                  for (Ingredient e : ingredientsList)
  18.                  {
  19. -                    if (e.getItemCount() * _amount > Integer.MAX_VALUE)
  20. +                    //if (e.getItemCount() * _amount > Integer.MAX_VALUE)
  21. +                    if (e.getItemCount() > Integer.MAX_VALUE / _amount)
  22.                      {
  23.                          player.sendPacket(SystemMessageId.YOU_HAVE_EXCEEDED_QUANTITY_THAT_CAN_BE_INPUTTED);
  24.                          return;
  25. @@ -326,7 +328,7 @@ else if (player.getInventory().getItemByItemId(e.getItemId()) == null)
  26.                      }
  27.                  }
  28.                  player.sendPacket(new ItemList(player, false));
  29. -                
  30. +
  31.                  // All ok, send success message, remove items and add final product
  32.                  player.sendPacket(SystemMessageId.SUCCESSFULLY_TRADED_WITH_NPC);
  33.                  
  34. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/NewCharacter.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/NewCharacter.java
  35. index 93469994..2851e9e3 100644
  36. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/NewCharacter.java
  37. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/NewCharacter.java
  38. @@ -2,6 +2,7 @@
  39.  
  40.  import com.l2jmega.gameserver.data.xml.PlayerData;
  41.  import com.l2jmega.gameserver.model.base.ClassId;
  42. +import com.l2jmega.gameserver.network.serverpackets.NewCharacterSuccess;
  43.  import com.l2jmega.gameserver.network.serverpackets.CharTemplates;
  44.  
  45.  public final class NewCharacter extends L2GameClientPacket
  46. @@ -14,7 +15,8 @@ protected void readImpl()
  47.      @Override
  48.      protected void runImpl()
  49.      {
  50. -        CharTemplates ct = new CharTemplates();
  51. +    //    CharTemplates ct = new CharTemplates();
  52. +        NewCharacterSuccess ct = new NewCharacterSuccess();
  53.          
  54.          ct.addChar(PlayerData.getInstance().getTemplate(0));
  55.          ct.addChar(PlayerData.getInstance().getTemplate(ClassId.HUMAN_FIGHTER));
  56. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/ProtocolVersion.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/ProtocolVersion.java
  57. index 4eb84a50..2953c52a 100644
  58. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/ProtocolVersion.java
  59. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/ProtocolVersion.java
  60. @@ -16,9 +16,12 @@ protected void readImpl()
  61.      @Override
  62.      protected void runImpl()
  63.      {
  64. -        if (_version != 746)
  65. +        if (_version != 216)
  66. +        {
  67. +        //    getClient().sendPacket(new KeyPacket(getClient().enableCrypt(),0));
  68.              getClient().close((L2GameServerPacket) null);
  69. +        }
  70.          else
  71. -            getClient().sendPacket(new KeyPacket(getClient().enableCrypt()));
  72. +            getClient().sendPacket(new KeyPacket(getClient().enableCrypt(),1));
  73.      }
  74.  }
  75. \ No newline at end of file
  76. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestActionUse.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestActionUse.java
  77. index 02c3c360..373a039b 100644
  78. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestActionUse.java
  79. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestActionUse.java
  80. @@ -19,6 +19,7 @@
  81.  import com.l2jmega.gameserver.model.location.Location;
  82.  import com.l2jmega.gameserver.network.SystemMessageId;
  83.  import com.l2jmega.gameserver.network.serverpackets.ActionFailed;
  84. +import com.l2jmega.gameserver.network.serverpackets.SocialAction;
  85.  import com.l2jmega.gameserver.network.serverpackets.NpcSay;
  86.  
  87.  public final class RequestActionUse extends L2GameClientPacket
  88. @@ -330,7 +331,9 @@ else if (pet.isAttackingNow() || pet.isInCombat())
  89.              case 61: // Private Store Package Sell
  90.                  player.tryOpenPrivateSellStore(true);
  91.                  break;
  92. -            
  93. +            case 65:
  94. +                
  95. +                break;
  96.              case 1000: // Siege Golem - Siege Hammer
  97.                  if (!(target instanceof Door))
  98.                  {
  99. @@ -457,6 +460,50 @@ else if (pet.isAttackingNow() || pet.isInCombat())
  100.                  
  101.                  useSkill(5111, target);
  102.                  break;
  103. +            //CT2.3 Social Packets
  104. +            case 12:
  105. +                tryBroadcastSocial(2);
  106. +                break;
  107. +            case 13:
  108. +                tryBroadcastSocial(3);
  109. +                break;
  110. +            case 14:
  111. +                tryBroadcastSocial(4);
  112. +                break;
  113. +            case 24:
  114. +                tryBroadcastSocial(6);
  115. +                break;
  116. +            case 25:
  117. +                tryBroadcastSocial(5);
  118. +                break;
  119. +            case 26:
  120. +                tryBroadcastSocial(7);
  121. +                break;
  122. +            case 29:
  123. +                tryBroadcastSocial(8);
  124. +                break;
  125. +            case 30:
  126. +                tryBroadcastSocial(9);
  127. +                break;
  128. +            case 31:
  129. +                tryBroadcastSocial(10);
  130. +                break;
  131. +            case 33:
  132. +                tryBroadcastSocial(11);
  133. +                break;
  134. +            case 34:
  135. +                tryBroadcastSocial(12);
  136. +                break;
  137. +            case 35:
  138. +                tryBroadcastSocial(13);
  139. +                break;
  140. +            case 62:
  141. +                tryBroadcastSocial(14);
  142. +                break;
  143. +            case 66:
  144. +                tryBroadcastSocial(15);
  145. +                break;
  146. +            
  147.              
  148.              default:
  149.                  LOGGER.warn("Unhandled action type {} detected for {}.", _actionId, player.getName());
  150. @@ -507,4 +554,25 @@ private boolean useSkill(int skillId, WorldObject target)
  151.          activeSummon.setTarget(target);
  152.          return activeSummon.useMagic(skill, _ctrlPressed, _shiftPressed);
  153.      }
  154. +    
  155. +        private void tryBroadcastSocial(int id)
  156. +    {
  157. +            final Player activeChar = getClient().getActiveChar();
  158. +        if (activeChar == null)
  159. +            return;
  160. +        
  161. +        if (activeChar.isFishing())
  162. +        {
  163. +            activeChar.sendPacket(SystemMessageId.CANNOT_DO_WHILE_FISHING_3);
  164. +            return;
  165. +        }
  166. +        
  167. +        //if (_actionId < 2 || _actionId > 13)
  168. +        //    return;
  169. +        
  170. +        if (activeChar.isInStoreMode() || activeChar.getActiveRequester() != null || activeChar.isAlikeDead() || activeChar.getAI().getIntention() != CtrlIntention.IDLE)
  171. +            return;
  172. +        
  173. +        activeChar.broadcastPacket(new SocialAction(activeChar, id));
  174. +    }
  175.  }
  176. \ No newline at end of file
  177. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestAllAgitInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestAllAgitInfo.java
  178. new file mode 100644
  179. index 00000000..a8fde6b5
  180. --- /dev/null
  181. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestAllAgitInfo.java
  182. @@ -0,0 +1,58 @@
  183. +/*
  184. + * This program is free software: you can redistribute it and/or modify it under
  185. + * the terms of the GNU General Public License as published by the Free Software
  186. + * Foundation, either version 3 of the License, or (at your option) any later
  187. + * version.
  188. + *
  189. + * This program is distributed in the hope that it will be useful, but WITHOUT
  190. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  191. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  192. + * details.
  193. + *
  194. + * You should have received a copy of the GNU General Public License along with
  195. + * this program. If not, see <http://www.gnu.org/licenses/>.
  196. + */
  197. +package com.l2jmega.gameserver.network.clientpackets;
  198. +
  199. +import com.l2jmega.gameserver.network.L2GameClient;
  200. +//import com.l2jmega.gameserver.network.serverpackets.ExShowAgitInfo;
  201. +
  202. +/**
  203. + *
  204. + * @author  KenM
  205. + */
  206. +public class RequestAllAgitInfo extends L2GameClientPacket
  207. +{
  208. +
  209. +    /**
  210. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#getType()
  211. +     */
  212. +    @Override
  213. +    public String getType()
  214. +    {
  215. +        return "[C] D0:41 RequestAllAgitInfo";
  216. +    }
  217. +
  218. +    /**
  219. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#readImpl()
  220. +     */
  221. +    @Override
  222. +    protected void readImpl()
  223. +    {
  224. +        
  225. +    }
  226. +
  227. +    /**
  228. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#runImpl()
  229. +     */
  230. +    @Override
  231. +    protected void runImpl()
  232. +    {
  233. +  //      L2GameClient client = this.getClient();
  234. +  //      if (client != null)
  235. +  //      {
  236. +   //         client.sendPacket(new ExShowAgitInfo());
  237. +   //     }
  238. +    }
  239. +    
  240. +}
  241. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestAllCastleInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestAllCastleInfo.java
  242. new file mode 100644
  243. index 00000000..ef629df5
  244. --- /dev/null
  245. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestAllCastleInfo.java
  246. @@ -0,0 +1,58 @@
  247. +/*
  248. + * This program is free software: you can redistribute it and/or modify it under
  249. + * the terms of the GNU General Public License as published by the Free Software
  250. + * Foundation, either version 3 of the License, or (at your option) any later
  251. + * version.
  252. + *
  253. + * This program is distributed in the hope that it will be useful, but WITHOUT
  254. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  255. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  256. + * details.
  257. + *
  258. + * You should have received a copy of the GNU General Public License along with
  259. + * this program. If not, see <http://www.gnu.org/licenses/>.
  260. + */
  261. +package com.l2jmega.gameserver.network.clientpackets;
  262. +
  263. +import com.l2jmega.gameserver.network.L2GameClient;
  264. +//import com.l2jmega.gameserver.network.serverpackets.ExShowCastleInfo;
  265. +
  266. +/**
  267. + *
  268. + * @author  KenM
  269. + */
  270. +public class RequestAllCastleInfo extends L2GameClientPacket
  271. +{
  272. +
  273. +    /**
  274. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#getType()
  275. +     */
  276. +    @Override
  277. +    public String getType()
  278. +    {
  279. +        return "[C] D0:3F RequestAllCastleInfo";
  280. +    }
  281. +
  282. +    /**
  283. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#readImpl()
  284. +     */
  285. +    @Override
  286. +    protected void readImpl()
  287. +    {
  288. +        // trigger
  289. +    }
  290. +
  291. +    /**
  292. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#runImpl()
  293. +     */
  294. +    @Override
  295. +    protected void runImpl()
  296. +    {
  297. +    //    L2GameClient client = this.getClient();
  298. +    //    if (client != null)
  299. +    //    {
  300. +    //        client.sendPacket(new ExShowCastleInfo());
  301. +    //    }
  302. +    }
  303. +    
  304. +}
  305. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestAllFortressInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestAllFortressInfo.java
  306. new file mode 100644
  307. index 00000000..9cbcdc00
  308. --- /dev/null
  309. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestAllFortressInfo.java
  310. @@ -0,0 +1,58 @@
  311. +/*
  312. + * This program is free software: you can redistribute it and/or modify it under
  313. + * the terms of the GNU General Public License as published by the Free Software
  314. + * Foundation, either version 3 of the License, or (at your option) any later
  315. + * version.
  316. + *
  317. + * This program is distributed in the hope that it will be useful, but WITHOUT
  318. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  319. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  320. + * details.
  321. + *
  322. + * You should have received a copy of the GNU General Public License along with
  323. + * this program. If not, see <http://www.gnu.org/licenses/>.
  324. + */
  325. +package com.l2jmega.gameserver.network.clientpackets;
  326. +
  327. +import com.l2jmega.gameserver.network.L2GameClient;
  328. +//import com.l2jmega.gameserver.network.serverpackets.ExShowFortressInfo;
  329. +
  330. +/**
  331. + *
  332. + * @author  KenM
  333. + */
  334. +public class RequestAllFortressInfo extends L2GameClientPacket
  335. +{
  336. +
  337. +    /**
  338. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#getType()
  339. +     */
  340. +    @Override
  341. +    public String getType()
  342. +    {
  343. +        return "[C] D0:3D RequestAllFortressInfo";
  344. +    }
  345. +
  346. +    /**
  347. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#readImpl()
  348. +     */
  349. +    @Override
  350. +    protected void readImpl()
  351. +    {
  352. +        // trigger packet
  353. +    }
  354. +
  355. +    /**
  356. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#runImpl()
  357. +     */
  358. +    @Override
  359. +    protected void runImpl()
  360. +    {
  361. + //       L2GameClient client = this.getClient();
  362. +  //      if (client != null)
  363. + //       {
  364. +//            client.sendPacket(new ExShowFortressInfo());
  365. +//        }
  366. +    }
  367. +    
  368. +}
  369. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBookMarkSlotInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBookMarkSlotInfo.java
  370. new file mode 100644
  371. index 00000000..578560a4
  372. --- /dev/null
  373. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBookMarkSlotInfo.java
  374. @@ -0,0 +1,58 @@
  375. +/*
  376. + * This program is free software: you can redistribute it and/or modify it under
  377. + * the terms of the GNU General Public License as published by the Free Software
  378. + * Foundation, either version 3 of the License, or (at your option) any later
  379. + * version.
  380. + *
  381. + * This program is distributed in the hope that it will be useful, but WITHOUT
  382. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  383. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  384. + * details.
  385. + *
  386. + * You should have received a copy of the GNU General Public License along with
  387. + * this program. If not, see <http://www.gnu.org/licenses/>.
  388. + */
  389. +package com.l2jmega.gameserver.network.clientpackets;
  390. +
  391. +import com.l2jmega.gameserver.network.L2GameClient;
  392. +//import com.l2jmega.gameserver.network.serverpackets.ExShowFortressInfo;
  393. +
  394. +/**
  395. + *
  396. + * @author  KenM
  397. + */
  398. +public class RequestBookMarkSlotInfo extends L2GameClientPacket
  399. +{
  400. +
  401. +    /**
  402. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#getType()
  403. +     */
  404. +    @Override
  405. +    public String getType()
  406. +    {
  407. +        return "[C] D0:3D RequestBookMarkSlotInfo";
  408. +    }
  409. +
  410. +    /**
  411. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#readImpl()
  412. +     */
  413. +    @Override
  414. +    protected void readImpl()
  415. +    {
  416. +        // trigger packet
  417. +    }
  418. +
  419. +    /**
  420. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#runImpl()
  421. +     */
  422. +    @Override
  423. +    protected void runImpl()
  424. +    {
  425. + //       L2GameClient client = this.getClient();
  426. +  //      if (client != null)
  427. + //       {
  428. +//            client.sendPacket(new ExShowFortressInfo());
  429. +//        }
  430. +    }
  431. +    
  432. +}
  433. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuyItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuyItem.java
  434. index a02d24fb..ef3ffcbd 100644
  435. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuyItem.java
  436. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuyItem.java
  437. @@ -12,14 +12,11 @@
  438.  import com.l2jmega.gameserver.model.buylist.Product;
  439.  import com.l2jmega.gameserver.model.holder.IntIntHolder;
  440.  import com.l2jmega.gameserver.network.SystemMessageId;
  441. -import com.l2jmega.gameserver.network.serverpackets.ItemList;
  442. -import com.l2jmega.gameserver.network.serverpackets.NpcHtmlMessage;
  443. -import com.l2jmega.gameserver.network.serverpackets.StatusUpdate;
  444. -import com.l2jmega.gameserver.network.serverpackets.SystemMessage;
  445. +import com.l2jmega.gameserver.network.serverpackets.*;
  446.  
  447.  public final class RequestBuyItem extends L2GameClientPacket
  448.  {
  449. -    private static final int BATCH_LENGTH = 8; // length of the one item
  450. +    private static final int BATCH_LENGTH = 12; // length of the one item
  451.      
  452.      private int _listId;
  453.      private IntIntHolder[] _items = null;
  454. @@ -36,7 +33,7 @@ protected void readImpl()
  455.          for (int i = 0; i < count; i++)
  456.          {
  457.              int itemId = readD();
  458. -            int cnt = readD();
  459. +            int cnt = (int) readQ();
  460.              
  461.              if (itemId < 1 || cnt < 1)
  462.              {
  463. @@ -80,9 +77,9 @@ protected void runImpl()
  464.                  castleTaxRate = merchant.getCastle().getTaxRate();
  465.          }
  466.          
  467. -        int subTotal = 0;
  468. -        int slots = 0;
  469. -        int weight = 0;
  470. +        long subTotal = 0;
  471. +        long slots = 0;
  472. +        long weight = 0;
  473.          
  474.          for (IntIntHolder i : _items)
  475.          {
  476. @@ -132,20 +129,20 @@ else if (player.getInventory().getItemByItemId(i.getId()) == null)
  477.                  slots++;
  478.          }
  479.          
  480. -        if (weight > Integer.MAX_VALUE || weight < 0 || !player.getInventory().validateWeight(weight))
  481. +        if (weight > Integer.MAX_VALUE || weight < 0 || !player.getInventory().validateWeight((int) weight))
  482.          {
  483.              sendPacket(SystemMessage.getSystemMessage(SystemMessageId.WEIGHT_LIMIT_EXCEEDED));
  484.              return;
  485.          }
  486.          
  487. -        if (slots > Integer.MAX_VALUE || slots < 0 || !player.getInventory().validateCapacity(slots))
  488. +        if (slots > Integer.MAX_VALUE || slots < 0 || !player.getInventory().validateCapacity((int) slots))
  489.          {
  490.              sendPacket(SystemMessage.getSystemMessage(SystemMessageId.SLOTS_FULL));
  491.              return;
  492.          }
  493.          
  494.          // Charge buyer and add tax to castle treasury if not owned by npc clan
  495. -        if (subTotal < 0 || !player.reduceAdena("Buy", subTotal, player.getCurrentFolk(), false))
  496. +        if (subTotal < 0 || !player.reduceAdena("Buy", (int) subTotal, player.getCurrentFolk(), false))
  497.          {
  498.              sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
  499.              return;
  500. @@ -196,5 +193,6 @@ else if (merchant instanceof Merchant)
  501.          su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
  502.          player.sendPacket(su);
  503.          player.sendPacket(new ItemList(player, true));
  504. +        player.sendPacket(new ExBuySellListPacket());
  505.      }
  506.  }
  507. \ No newline at end of file
  508. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuyProcure.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuyProcure.java
  509. index 82483e04..8eab5de2 100644
  510. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuyProcure.java
  511. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuyProcure.java
  512. @@ -8,7 +8,7 @@
  513.  
  514.  public class RequestBuyProcure extends L2GameClientPacket
  515.  {
  516. -    private static final int BATCH_LENGTH = 8;
  517. +    private static final int BATCH_LENGTH = 12;
  518.      
  519.      private int _manorId;
  520.      private List<IntIntHolder> _items;
  521. @@ -27,7 +27,7 @@ protected void readImpl()
  522.          {
  523.              readD(); // service
  524.              final int itemId = readD();
  525. -            final int cnt = readD();
  526. +            final int cnt = (int)readQ();
  527.              
  528.              if (itemId < 1 || cnt < 1)
  529.              {
  530. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuySeed.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuySeed.java
  531. index b2e68801..1dbfe01b 100644
  532. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuySeed.java
  533. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuySeed.java
  534. @@ -24,7 +24,7 @@
  535.  
  536.  public class RequestBuySeed extends L2GameClientPacket
  537.  {
  538. -    private static final int BATCH_LENGTH = 8;
  539. +    private static final int BATCH_LENGTH = 12;
  540.      
  541.      private int _manorId;
  542.      private List<IntIntHolder> _items;
  543. @@ -42,7 +42,7 @@ protected void readImpl()
  544.          for (int i = 0; i < count; i++)
  545.          {
  546.              final int itemId = readD();
  547. -            final int cnt = readD();
  548. +            final int cnt = (int)readQ();
  549.              
  550.              if (cnt < 1 || itemId < 1)
  551.              {
  552. @@ -91,7 +91,7 @@ protected void runImpl()
  553.              return;
  554.          }
  555.          
  556. -        int totalPrice = 0;
  557. +        long totalPrice = 0;
  558.          int slots = 0;
  559.          int totalWeight = 0;
  560.          
  561. @@ -166,7 +166,7 @@ else if (player.getInventory().getItemByItemId(ih.getId()) == null)
  562.          if (totalPrice > 0)
  563.          {
  564.              castle.addToTreasuryNoTax(totalPrice);
  565. -            player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED_ADENA).addItemNumber(totalPrice));
  566. +            player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_DISAPPEARED_ADENA).addItemNumber((int) totalPrice));
  567.          }
  568.      }
  569.  }
  570. \ No newline at end of file
  571. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuySellUIClose.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuySellUIClose.java
  572. new file mode 100644
  573. index 00000000..ebb59550
  574. --- /dev/null
  575. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBuySellUIClose.java
  576. @@ -0,0 +1,48 @@
  577. +/*
  578. + * This program is free software: you can redistribute it and/or modify it under
  579. + * the terms of the GNU General Public License as published by the Free Software
  580. + * Foundation, either version 3 of the License, or (at your option) any later
  581. + * version.
  582. + *
  583. + * This program is distributed in the hope that it will be useful, but WITHOUT
  584. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  585. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  586. + * details.
  587. + *
  588. + * You should have received a copy of the GNU General Public License along with
  589. + * this program. If not, see <http://www.gnu.org/licenses/>.
  590. + */
  591. +package com.l2jmega.gameserver.network.clientpackets;
  592. +
  593. +import com.l2jmega.gameserver.model.actor.instance.Player;
  594. +import com.l2jmega.gameserver.network.serverpackets.ItemList;
  595. +
  596. +public class RequestBuySellUIClose extends L2GameClientPacket
  597. +{
  598. +    private static final String _C__D0_76_REQUESTBUYSELLUICLOSE = "[C] D0:76 RequestBuySellUIClose";
  599. +    
  600. +    @Override
  601. +    protected void readImpl()
  602. +    {
  603. +        // trigger
  604. +    }
  605. +    
  606. +    @Override
  607. +    protected void runImpl()
  608. +    {
  609. +        final Player activeChar = getClient().getActiveChar();
  610. +        if (activeChar == null || activeChar.isInventoryDisabled())
  611. +            return;
  612. +        
  613. +        activeChar.sendPacket(new ItemList(activeChar, true));
  614. +    }
  615. +    
  616. +    /* (non-Javadoc)
  617. +     * @see com.l2jmega.gameserver.clientpackets.ClientBasePacket#getType()
  618. +     */
  619. +    @Override
  620. +    public String getType()
  621. +    {
  622. +        return _C__D0_76_REQUESTBUYSELLUICLOSE;
  623. +    }
  624. +}
  625. \ No newline at end of file
  626. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java
  627. index bc002495..6695a33c 100644
  628. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java
  629. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestBypassToServer.java
  630. @@ -8,6 +8,8 @@
  631.  import com.l2jmega.gameserver.data.xml.AdminData;
  632.  import com.l2jmega.gameserver.handler.AdminCommandHandler;
  633.  import com.l2jmega.gameserver.handler.IAdminCommandHandler;
  634. +import com.l2jmega.gameserver.handler.IVoiceCommandHandler;
  635. +import com.l2jmega.gameserver.handler.VoiceCommandHandler;
  636.  import com.l2jmega.gameserver.model.World;
  637.  import com.l2jmega.gameserver.model.WorldObject;
  638.  import com.l2jmega.gameserver.model.actor.Npc;
  639. @@ -155,6 +157,18 @@ else if (_command.startsWith("_diary"))
  640.              if (heroid > 0)
  641.                  Hero.getInstance().showHeroDiary(player, heroclass, heroid, heropage);
  642.          }
  643. +        else if (_command.startsWith("user_"))
  644. +        {
  645. +            final String command = _command.substring(5).trim();
  646. +            final String word2 = command.split("\\s+")[0];
  647. +            final String args2 = command.substring(word2.length()).trim();
  648. +            final IVoiceCommandHandler vch = VoiceCommandHandler.getInstance().getVoicedCommandHandler(word2);
  649. +            if (vch != null) {
  650. +                vch.useVoicedCommand(word2, player, args2);
  651. +            } else {
  652. +                LOGGER.warn("Unknown voiced command '" + word2 + "'");
  653. +            }
  654. +        }
  655.          else if (_command.startsWith("arenachange")) // change
  656.          {
  657.              final boolean isManager = player.getCurrentFolk() instanceof OlympiadManagerNpc;
  658.             diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDropItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDropItem.java
  659. index d0bf5650..753fd096 100644
  660. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDropItem.java
  661. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDropItem.java
  662. @@ -13,7 +13,9 @@
  663.  public final class RequestDropItem extends L2GameClientPacket
  664.  {
  665.      private int _objectId;
  666. -    private int _count;
  667. +    private long _count;
  668. +    private int _countint;
  669. +    //private long _count3;
  670.      private int _x;
  671.      private int _y;
  672.      private int _z;
  673. @@ -22,10 +24,11 @@ public final class RequestDropItem extends L2GameClientPacket
  674.      protected void readImpl()
  675.      {
  676.          _objectId = readD();
  677. -        _count = readD();
  678. +        _count = readQ();
  679.          _x = readD();
  680.          _y = readD();
  681.          _z = readD();
  682. +        _countint = (int) _count;
  683.      }
  684.      
  685.      @Override
  686. @@ -129,6 +132,6 @@ protected void runImpl()
  687.              activeChar.sendPacket(new ItemList(activeChar, true));
  688.          }
  689.          
  690. -        activeChar.dropItem("Drop", _objectId, _count, _x, _y, _z, null, false);
  691. +        activeChar.dropItem("Drop", _objectId, _countint, _x, _y, _z, null, false);
  692.      }
  693.  }
  694. \ No newline at end of file
  695. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelStart.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelStart.java
  696. index 46418605..fd9fbacd 100644
  697. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelStart.java
  698. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelStart.java
  699. @@ -30,7 +30,8 @@ protected void runImpl()
  700.          final Player targetChar = World.getInstance().getPlayer(_player);
  701.          if (targetChar == null || activeChar == targetChar)
  702.          {
  703. -            activeChar.sendPacket(SystemMessageId.THERE_IS_NO_OPPONENT_TO_RECEIVE_YOUR_CHALLENGE_FOR_A_DUEL);
  704. +            //activeChar.sendPacket(SystemMessageId.THERE_IS_NO_OPPONENT_TO_RECEIVE_YOUR_CHALLENGE_FOR_A_DUEL);
  705. +            activeChar.sendPacket(SystemMessageId.YOU_ARE_UNABLE_TO_REQUEST_A_DUEL_AT_THIS_TIME);
  706.              return;
  707.          }
  708.          
  709. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java
  710. index 2a78f67a..9c8a9282 100644
  711. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java
  712. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestEnchantItem.java
  713. @@ -14,11 +14,7 @@
  714.  import com.l2jmega.gameserver.model.item.kind.Weapon;
  715.  import com.l2jmega.gameserver.model.itemcontainer.Inventory;
  716.  import com.l2jmega.gameserver.network.SystemMessageId;
  717. -import com.l2jmega.gameserver.network.serverpackets.EnchantResult;
  718. -import com.l2jmega.gameserver.network.serverpackets.InventoryUpdate;
  719. -import com.l2jmega.gameserver.network.serverpackets.ItemList;
  720. -import com.l2jmega.gameserver.network.serverpackets.StatusUpdate;
  721. -import com.l2jmega.gameserver.network.serverpackets.SystemMessage;
  722. +import com.l2jmega.gameserver.network.serverpackets.*;
  723.  
  724.  public final class RequestEnchantItem extends AbstractEnchantPacket
  725.  {
  726. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExCancelEnchantItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExCancelEnchantItem.java
  727. new file mode 100644
  728. index 00000000..030c46a6
  729. --- /dev/null
  730. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExCancelEnchantItem.java
  731. @@ -0,0 +1,57 @@
  732. +/*
  733. + * This program is free software: you can redistribute it and/or modify it under
  734. + * the terms of the GNU General Public License as published by the Free Software
  735. + * Foundation, either version 3 of the License, or (at your option) any later
  736. + * version.
  737. + *
  738. + * This program is distributed in the hope that it will be useful, but WITHOUT
  739. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  740. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  741. + * details.
  742. + *
  743. + * You should have received a copy of the GNU General Public License along with
  744. + * this program. If not, see <http://www.gnu.org/licenses/>.
  745. + */
  746. +package com.l2jmega.gameserver.network.clientpackets;
  747. +
  748. +import com.l2jmega.gameserver.model.actor.instance.Player;
  749. +import com.l2jmega.gameserver.network.serverpackets.EnchantResult;
  750. +
  751. +/**
  752. + *
  753. + * @author  KenM
  754. + */
  755. +public class RequestExCancelEnchantItem extends L2GameClientPacket
  756. +{
  757. +    /**
  758. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#getType()
  759. +     */
  760. +    @Override
  761. +    public String getType()
  762. +    {
  763. +        return "[C] D0:51 RequestExCancelEnchantItem";
  764. +    }
  765. +    
  766. +    /**
  767. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#readImpl()
  768. +     */
  769. +    @Override
  770. +    protected void readImpl()
  771. +    {
  772. +        // nothing (trigger)
  773. +    }
  774. +    
  775. +    /**
  776. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#runImpl()
  777. +     */
  778. +    @Override
  779. +    protected void runImpl()
  780. +    {
  781. +        Player activeChar = this.getClient().getActiveChar();
  782. +        if (activeChar != null)
  783. +        {
  784. +            activeChar.sendPacket(EnchantResult.CANCELLED);
  785. +            activeChar.setActiveEnchantItem(null);
  786. +        }
  787. +    }
  788. +}
  789. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExTryToPutEnchantSupportItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExTryToPutEnchantSupportItem.java
  790. new file mode 100644
  791. index 00000000..7d43c3ac
  792. --- /dev/null
  793. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExTryToPutEnchantSupportItem.java
  794. @@ -0,0 +1,58 @@
  795. +/*
  796. + * This program is free software: you can redistribute it and/or modify it under
  797. + * the terms of the GNU General Public License as published by the Free Software
  798. + * Foundation, either version 3 of the License, or (at your option) any later
  799. + * version.
  800. + *
  801. + * This program is distributed in the hope that it will be useful, but WITHOUT
  802. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  803. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  804. + * details.
  805. + *
  806. + * You should have received a copy of the GNU General Public License along with
  807. + * this program. If not, see <http://www.gnu.org/licenses/>.
  808. + */
  809. +package com.l2jmega.gameserver.network.clientpackets;
  810. +
  811. +import com.l2jmega.gameserver.network.L2GameClient;
  812. +//import com.l2jmega.gameserver.network.serverpackets.ExShowFortressInfo;
  813. +
  814. +/**
  815. + *
  816. + * @author  KenM
  817. + */
  818. +public class RequestExTryToPutEnchantSupportItem extends L2GameClientPacket
  819. +{
  820. +
  821. +    /**
  822. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#getType()
  823. +     */
  824. +    @Override
  825. +    public String getType()
  826. +    {
  827. +        return "[C] D0:4d";
  828. +    }
  829. +
  830. +    /**
  831. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#readImpl()
  832. +     */
  833. +    @Override
  834. +    protected void readImpl()
  835. +    {
  836. +        // trigger packet
  837. +    }
  838. +
  839. +    /**
  840. +     * @see com.l2jmega.gameserver.network.clientpackets.L2GameClientPacket#runImpl()
  841. +     */
  842. +    @Override
  843. +    protected void runImpl()
  844. +    {
  845. + //       L2GameClient client = this.getClient();
  846. +  //      if (client != null)
  847. + //       {
  848. +//            client.sendPacket(new ExShowFortressInfo());
  849. +//        }
  850. +    }
  851. +    
  852. +}
  853. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExTryToPutEnchantTargetItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExTryToPutEnchantTargetItem.java
  854. new file mode 100644
  855. index 00000000..2e20b929
  856. --- /dev/null
  857. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestExTryToPutEnchantTargetItem.java
  858. @@ -0,0 +1,60 @@
  859. +package com.l2jmega.gameserver.network.clientpackets;
  860. +
  861. +import com.l2jmega.gameserver.model.actor.instance.Player;
  862. +import com.l2jmega.gameserver.model.item.instance.ItemInstance;
  863. +import com.l2jmega.gameserver.network.SystemMessageId;
  864. +import com.l2jmega.gameserver.network.serverpackets.ExPutEnchantTargetItemResult;
  865. +
  866. +/**
  867. + * Lineage2 Classic Project
  868. + * Chronicle: Kamael
  869. + *
  870. + * @author amaranthe
  871. + */
  872. +public class RequestExTryToPutEnchantTargetItem extends AbstractEnchantPacket {
  873. +    private int _objectId = 0;
  874. +
  875. +    @Override
  876. +    protected void readImpl()
  877. +    {
  878. +        _objectId = readD();
  879. +    }
  880. +
  881. +    @Override
  882. +    protected void runImpl()
  883. +    {
  884. +        Player activeChar = getClient().getActiveChar();
  885. +
  886. +        if(_objectId == 0 || activeChar == null)
  887. +        {
  888. +            return;
  889. +        }
  890. +
  891. +        ItemInstance item = activeChar.getInventory().getItemByObjectId(_objectId);
  892. +        ItemInstance scroll = activeChar.getActiveEnchantItem();
  893. +
  894. +        if(item == null || scroll == null)
  895. +        {
  896. +            return;
  897. +        }
  898. +
  899. +        if(item.getOwnerId() != activeChar.getObjectId())
  900. +        {
  901. +            return;
  902. +        }
  903. +
  904. +        // template for scroll
  905. +        EnchantScroll scrollTemplate = getEnchantScroll(scroll);
  906. +
  907. +        if(scrollTemplate == null || !scrollTemplate.isValid(item))
  908. +        {
  909. +            activeChar.sendPacket(SystemMessageId.DOES_NOT_FIT_SCROLL_CONDITIONS);
  910. +            // activeChar.setActiveEnchantItem(null);
  911. +            activeChar.sendPacket(new ExPutEnchantTargetItemResult(0));
  912. +            return;
  913. +        }
  914. +
  915. +        activeChar.sendPacket(new ExPutEnchantTargetItemResult(1));
  916. +    }
  917. +
  918. +}
  919. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestGiveItemToPet.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestGiveItemToPet.java
  920. index 35eeb7b9..91e58334 100644
  921. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestGiveItemToPet.java
  922. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestGiveItemToPet.java
  923. @@ -20,7 +20,7 @@ public final class RequestGiveItemToPet extends L2GameClientPacket
  924.      protected void readImpl()
  925.      {
  926.          _objectId = readD();
  927. -        _amount = readD();
  928. +        _amount = (int) readQ();
  929.      }
  930.      
  931.      @Override
  932. @@ -86,6 +86,10 @@ protected void runImpl()
  933.              player.sendPacket(SystemMessageId.UNABLE_TO_PLACE_ITEM_YOUR_PET_IS_TOO_ENCUMBERED);
  934.              return;
  935.          }
  936. +        if (player.isCastingNow() || player.isCastingSimultaneouslyNow())
  937. +        {
  938. +        return;
  939. +        }
  940.          
  941.          if (player.getActiveEnchantItem() != null)
  942.          {
  943. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestItemList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestItemList.java
  944. index ab15bcb3..15043f1f 100644
  945. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestItemList.java
  946. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestItemList.java
  947. @@ -17,7 +17,8 @@ protected void runImpl()
  948.          if (activeChar == null)
  949.              return;
  950.          
  951. -        if (!activeChar.isInventoryDisabled())
  952. +        if (!activeChar.isInventoryDisabled()) {
  953.              sendPacket(new ItemList(activeChar, true));
  954. +        }
  955.      }
  956.  }
  957. \ No newline at end of file
  958. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java
  959. index 95a5dada..4e2daf06 100644
  960. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java
  961. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestMagicSkillUse.java
  962. @@ -60,7 +60,7 @@ protected void runImpl()
  963.          }
  964.          
  965.          if (player.isAttackingNow())
  966. -            player.getAI().setNextAction(new NextAction(CtrlEvent.EVT_READY_TO_ACT, CtrlIntention.CAST, () -> player.useMagic(skill, _ctrlPressed, _shiftPressed)));
  967. +            player.getAI().setNextAction(new NextAction(CtrlEvent.EVT_FINISH_ATTACK, CtrlIntention.CAST, () -> player.useMagic(skill, _ctrlPressed, _shiftPressed)));
  968.          else
  969.              player.useMagic(skill, _ctrlPressed, _shiftPressed);
  970.      }
  971. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPackageSendableItemList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPackageSendableItemList.java
  972. index bf5b962f..6972513f 100644
  973. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPackageSendableItemList.java
  974. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPackageSendableItemList.java
  975. @@ -25,7 +25,7 @@ public void runImpl()
  976.          if (player == null)
  977.              return;
  978.          
  979. -        final ItemInstance[] items = player.getInventory().getAvailableItems(true, false);
  980. +        final ItemInstance[] items = player.getInventory().getAvailableItems(true, false, false);
  981.          if (items == null)
  982.              return;
  983. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPreviewItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPreviewItem.java
  984. index 08ea3787..512b9038 100644
  985. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPreviewItem.java
  986. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPreviewItem.java
  987. @@ -80,7 +80,7 @@ protected void runImpl()
  988.          if (buyList == null)
  989.              return;
  990.          
  991. -        int totalPrice = 0;
  992. +        long totalPrice = 0;
  993.          _listId = buyList.getListId();
  994.          _itemList = new HashMap<>();
  995.          
  996. @@ -113,7 +113,7 @@ protected void runImpl()
  997.          }
  998.          
  999.          // Charge buyer and add tax to castle treasury if not owned by npc clan because a Try On is not Free
  1000. -        if (totalPrice < 0 || !activeChar.reduceAdena("Wear", totalPrice, activeChar.getCurrentFolk(), true))
  1001. +        if (totalPrice < 0 || !activeChar.reduceAdena("Wear", (int) totalPrice, activeChar.getCurrentFolk(), true))
  1002.          {
  1003.              activeChar.sendPacket(SystemMessageId.YOU_NOT_ENOUGH_ADENA);
  1004.              return;
  1005. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java
  1006. index 62e2c70c..0ab85dfa 100644
  1007. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java
  1008. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java
  1009. @@ -11,10 +11,11 @@
  1010.  import com.l2jmega.gameserver.model.actor.instance.Player.StoreType;
  1011.  import com.l2jmega.gameserver.model.tradelist.TradeList;
  1012.  import com.l2jmega.gameserver.network.SystemMessageId;
  1013. +import com.l2jmega.gameserver.network.serverpackets.ActionFailed;
  1014.  
  1015.  public final class RequestPrivateStoreBuy extends L2GameClientPacket
  1016.  {
  1017. -    private static final int BATCH_LENGTH = 12; // length of one item
  1018. +    private static final int BATCH_LENGTH = 20; // length of one item
  1019.      
  1020.      private int _storePlayerId;
  1021.      private Set<ItemRequest> _items = null;
  1022. @@ -32,8 +33,8 @@ protected void readImpl()
  1023.          for (int i = 0; i < count; i++)
  1024.          {
  1025.              int objectId = readD();
  1026. -            long cnt = readD();
  1027. -            int price = readD();
  1028. +            long cnt = readQ();
  1029. +            int price = (int)readQ();
  1030.              
  1031.              if (objectId < 1 || cnt < 1 || price < 0)
  1032.              {
  1033. @@ -52,14 +53,14 @@ protected void runImpl()
  1034.              return;
  1035.          
  1036.          final Player player = getClient().getActiveChar();
  1037. -        if (player == null)
  1038. +        if (player == null || player.isDead())
  1039.              return;
  1040.          
  1041.          if (player.isCursedWeaponEquipped())
  1042.              return;
  1043.          
  1044.          final Player storePlayer = World.getInstance().getPlayer(_storePlayerId);
  1045. -        if (storePlayer == null)
  1046. +        if (storePlayer == null || storePlayer.isDead())
  1047.              return;
  1048.          
  1049.          if (!player.isInsideRadius(storePlayer, Npc.INTERACTION_DISTANCE, true, false))
  1050. @@ -80,10 +81,16 @@ protected void runImpl()
  1051.          
  1052.          if (storePlayer.getStoreType() == StoreType.PACKAGE_SELL && storeList.getItems().size() > _items.size())
  1053.              return;
  1054. -        
  1055. -        if (!storeList.privateStoreBuy(player, _items))
  1056. +
  1057. +        final int result = storeList.privateStoreBuy(player, _items);
  1058. +        if (result > 0) {
  1059. +            player.sendPacket(ActionFailed.STATIC_PACKET);
  1060. +            if (result > 1) {
  1061. +                LOGGER.warn("PrivateStore buy has failed due to invalid list or request. Player: " + player.getName() + ", Private store of: " + storePlayer.getName());
  1062. +            }
  1063.              return;
  1064. -        
  1065. +        }
  1066. +
  1067.          if (storeList.getItems().isEmpty())
  1068.          {
  1069.              storePlayer.setStoreType(StoreType.NONE);
  1070. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java
  1071. index a10d4bfd..fa95a2cf 100644
  1072. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java
  1073. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java
  1074. @@ -9,12 +9,15 @@
  1075.  import com.l2jmega.gameserver.model.tradelist.TradeList;
  1076.  import com.l2jmega.gameserver.network.SystemMessageId;
  1077.  
  1078. +import java.util.HashSet;
  1079. +import java.util.Set;
  1080. +
  1081.  public final class RequestPrivateStoreSell extends L2GameClientPacket
  1082.  {
  1083. -    private static final int BATCH_LENGTH = 20; // length of one item
  1084. +    private static final int BATCH_LENGTH = 28; // length of one item
  1085.      
  1086.      private int _storePlayerId;
  1087. -    private ItemRequest[] _items = null;
  1088. +    private Set<ItemRequest> _items = null;
  1089.      
  1090.      @Override
  1091.      protected void readImpl()
  1092. @@ -23,8 +26,8 @@ protected void readImpl()
  1093.          int count = readD();
  1094.          if (count <= 0 || count > Config.MAX_ITEM_IN_PACKET || count * BATCH_LENGTH != _buf.remaining())
  1095.              return;
  1096. -        
  1097. -        _items = new ItemRequest[count];
  1098. +
  1099. +        _items = new HashSet<>();
  1100.          
  1101.          for (int i = 0; i < count; i++)
  1102.          {
  1103. @@ -32,15 +35,15 @@ protected void readImpl()
  1104.              int itemId = readD();
  1105.              readH(); // TODO analyse this
  1106.              readH(); // TODO analyse this
  1107. -            long cnt = readD();
  1108. -            int price = readD();
  1109. +            long cnt = readQ();
  1110. +            int price = (int)readQ();
  1111.              
  1112.              if (objectId < 1 || itemId < 1 || cnt < 1 || price < 0)
  1113.              {
  1114.                  _items = null;
  1115.                  return;
  1116.              }
  1117. -            _items = new ItemRequest(objectId, itemId, (int) cnt, price);
  1118. +            _items.add(new ItemRequest(objectId, itemId, (int) cnt, price));
  1119.          }
  1120.      }
  1121.      
  1122. @@ -76,8 +79,10 @@ protected void runImpl()
  1123.              player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
  1124.              return;
  1125.          }
  1126. -        
  1127. -        if (!storeList.privateStoreSell(player, _items))
  1128. +
  1129. +        _items.removeIf(item -> player.getInventory().getItemByObjectId(item.getObjectId()) == null);
  1130. +
  1131. +        if (!storeList.privateStoreSell(player, _items.toArray(new ItemRequest[0])))
  1132.              return;
  1133.          
  1134.          if (storeList.getItems().isEmpty())
  1135. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestProcureCropList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestProcureCropList.java
  1136. index 68e5b488..1704102b 100644
  1137. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestProcureCropList.java
  1138. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestProcureCropList.java
  1139. @@ -19,7 +19,7 @@
  1140.  
  1141.  public class RequestProcureCropList extends L2GameClientPacket
  1142.  {
  1143. -    private static final int BATCH_LENGTH = 16;
  1144. +    private static final int BATCH_LENGTH = 20;
  1145.      
  1146.      private List<CropHolder> _items;
  1147.      
  1148. @@ -36,7 +36,7 @@ protected void readImpl()
  1149.              final int objId = readD();
  1150.              final int itemId = readD();
  1151.              final int manorId = readD();
  1152. -            final int cnt = readD();
  1153. +            final int cnt = (int)readQ();
  1154.              
  1155.              if (objId < 1 || itemId < 1 || manorId < 0 || cnt < 0)
  1156.              {
  1157. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopListSet.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopListSet.java
  1158. index 7e980969..f562e98c 100644
  1159. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopListSet.java
  1160. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopListSet.java
  1161. @@ -1,19 +1,24 @@
  1162.  package com.l2jmega.gameserver.network.clientpackets;
  1163.  
  1164.  import com.l2jmega.Config;
  1165. +import com.l2jmega.commons.util.ArraysUtil;
  1166.  import com.l2jmega.gameserver.model.actor.instance.Player;
  1167.  import com.l2jmega.gameserver.model.actor.instance.Player.StoreType;
  1168.  import com.l2jmega.gameserver.model.craft.ManufactureItem;
  1169.  import com.l2jmega.gameserver.model.craft.ManufactureList;
  1170. +import com.l2jmega.gameserver.model.item.Recipe;
  1171.  import com.l2jmega.gameserver.model.zone.ZoneId;
  1172.  import com.l2jmega.gameserver.network.SystemMessageId;
  1173.  import com.l2jmega.gameserver.network.serverpackets.ActionFailed;
  1174. +import com.l2jmega.gameserver.network.serverpackets.RecipeShopManageList;
  1175.  import com.l2jmega.gameserver.network.serverpackets.RecipeShopMsg;
  1176.  
  1177. +import java.util.Arrays;
  1178. +
  1179.  public final class RequestRecipeShopListSet extends L2GameClientPacket
  1180.  {
  1181.      private int _count;
  1182. -    private int[] _items;
  1183. +    private ManufactureItem[] _items;
  1184.      
  1185.      @Override
  1186.      protected void readImpl()
  1187. @@ -21,14 +26,13 @@ protected void readImpl()
  1188.          _count = readD();
  1189.          if (_count < 0 || _count * 8 > _buf.remaining() || _count > Config.MAX_ITEM_IN_PACKET)
  1190.              _count = 0;
  1191. -        
  1192. -        _items = new int[_count * 2];
  1193. +
  1194. +        _items = new ManufactureItem[_count];
  1195.          for (int x = 0; x < _count; x++)
  1196.          {
  1197.              int recipeID = readD();
  1198. -            _items[x * 2 + 0] = recipeID;
  1199. -            int cost = readD();
  1200. -            _items[x * 2 + 1] = cost;
  1201. +            int cost = (int)readQ();
  1202. +            _items[x] = new ManufactureItem(recipeID, cost);
  1203.          }
  1204.      }
  1205.      
  1206. @@ -38,39 +42,49 @@ protected void runImpl()
  1207.          final Player player = getClient().getActiveChar();
  1208.          if (player == null)
  1209.              return;
  1210. -        
  1211. -        if (player.isInDuel())
  1212. -        {
  1213. -            player.sendPacket(SystemMessageId.CANT_OPERATE_PRIVATE_STORE_DURING_COMBAT);
  1214. +
  1215. +        // Integrity check.
  1216. +        if (!canPassManufactureProcess(player, _items))
  1217.              return;
  1218. -        }
  1219. -        
  1220. -        if (player.isInsideZone(ZoneId.NO_STORE))
  1221. +
  1222. +        // Retrieve and clear the manufacture list.
  1223. +        final ManufactureList manufactureList = player.getCreateList();
  1224. +        manufactureList.clear();
  1225. +
  1226. +        // Check multiple conditions. Message is sent directly from the method.
  1227. +        if (!player.canOpenPrivateStore(false))
  1228. +            return;
  1229. +
  1230. +        if (ArraysUtil.isEmpty(_items))
  1231.          {
  1232. -            player.sendPacket(SystemMessageId.NO_PRIVATE_WORKSHOP_HERE);
  1233. -            player.sendPacket(ActionFailed.STATIC_PACKET);
  1234. +            player.sendPacket(SystemMessageId.NO_RECIPES_REGISTERED);
  1235.              return;
  1236.          }
  1237. -        
  1238. +
  1239.          if (_count == 0)
  1240.              player.forceStandUp();
  1241.          else
  1242.          {
  1243. -            ManufactureList createList = new ManufactureList();
  1244. -            
  1245. -            for (int x = 0; x < _count; x++)
  1246. -            {
  1247. -                int recipeID = _items[x * 2 + 0];
  1248. -                int cost = _items[x * 2 + 1];
  1249. -                createList.add(new ManufactureItem(recipeID, cost));
  1250. -            }
  1251. -            createList.setStoreName(player.getCreateList() != null ? player.getCreateList().getStoreName() : "");
  1252. -            player.setCreateList(createList);
  1253. -            
  1254. +            manufactureList.set(_items);
  1255.              player.setStoreType(StoreType.MANUFACTURE);
  1256.              player.sitDown();
  1257.              player.broadcastUserInfo();
  1258.              player.broadcastPacket(new RecipeShopMsg(player));
  1259.          }
  1260.      }
  1261. +
  1262. +    private boolean hasRecipeOnSpecificBook(Player player, int recipeId)
  1263. +    {
  1264. +        boolean isDwExist = player.getDwarvenRecipeBook().stream().anyMatch(recipe -> recipe.getId() == recipeId);
  1265. +        boolean isExist = player.getCommonRecipeBook().stream().anyMatch(recipe -> recipe.getId() == recipeId);
  1266. +        return isDwExist || isExist;
  1267. +    }
  1268. +
  1269. +    public boolean canPassManufactureProcess(Player player, ManufactureItem[] itemsToCheck)
  1270. +    {
  1271. +        for (ManufactureItem item : itemsToCheck)
  1272. +            if (!hasRecipeOnSpecificBook(player, item.getId()))
  1273. +                return false;
  1274. +        return true;
  1275. +    }
  1276.  }
  1277. \ No newline at end of file
  1278. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopMakeItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopMakeItem.java
  1279. index 4233e0ff..d6856b82 100644
  1280. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopMakeItem.java
  1281. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopMakeItem.java
  1282. @@ -24,7 +24,7 @@ protected void readImpl()
  1283.      {
  1284.          _objectId = readD();
  1285.          _recipeId = readD();
  1286. -        _unknow = readD();
  1287. +        _unknow = (int)readQ();
  1288.      }
  1289.      
  1290.      @Override
  1291. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopMessageSet.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopMessageSet.java
  1292. index c481a73f..278136b6 100644
  1293. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopMessageSet.java
  1294. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestRecipeShopMessageSet.java
  1295. @@ -22,8 +22,8 @@ protected void runImpl()
  1296.          
  1297.          if (_name != null && _name.length() > MAX_MSG_LENGTH)
  1298.              return;
  1299. -        
  1300. -        if (player.getCreateList() != null)
  1301. +
  1302. +        if (player.getStoreType() == Player.StoreType.MANUFACTURE || player.getStoreType() == Player.StoreType.MANUFACTURE_MANAGE)
  1303.              player.getCreateList().setStoreName(_name);
  1304.      }
  1305.  }
  1306. \ No newline at end of file
  1307. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSellItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSellItem.java
  1308. index 1c6b0513..22a3e4c0 100644
  1309. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSellItem.java
  1310. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSellItem.java
  1311. @@ -9,13 +9,11 @@
  1312.  import com.l2jmega.gameserver.model.actor.instance.Player;
  1313.  import com.l2jmega.gameserver.model.holder.IntIntHolder;
  1314.  import com.l2jmega.gameserver.model.item.instance.ItemInstance;
  1315. -import com.l2jmega.gameserver.network.serverpackets.ItemList;
  1316. -import com.l2jmega.gameserver.network.serverpackets.NpcHtmlMessage;
  1317. -import com.l2jmega.gameserver.network.serverpackets.StatusUpdate;
  1318. +import com.l2jmega.gameserver.network.serverpackets.*;
  1319.  
  1320.  public final class RequestSellItem extends L2GameClientPacket
  1321.  {
  1322. -    private static final int BATCH_LENGTH = 12; // length of the one item
  1323. +    private static final int BATCH_LENGTH = 16; // length of the one item
  1324.      
  1325.      private int _listId;
  1326.      private IntIntHolder[] _items = null;
  1327. @@ -33,7 +31,7 @@ protected void readImpl()
  1328.          {
  1329.              int objectId = readD();
  1330.              int itemId = readD();
  1331. -            int cnt = readD();
  1332. +            int cnt = (int) readQ();
  1333.              
  1334.              if (objectId < 1 || itemId < 1 || cnt < 1)
  1335.              {
  1336. @@ -65,7 +63,7 @@ protected void runImpl()
  1337.                  return;
  1338.          }
  1339.          
  1340. -        int totalPrice = 0;
  1341. +        long totalPrice = 0;
  1342.          // Proceed the sell
  1343.          for (IntIntHolder i : _items)
  1344.          {
  1345. @@ -81,7 +79,7 @@ protected void runImpl()
  1346.              item = player.getInventory().destroyItem("Sell", i.getId(), i.getValue(), player, merchant);
  1347.          }
  1348.          
  1349. -        player.addAdena("Sell", totalPrice, merchant, false);
  1350. +        player.addAdena("Sell", (int) totalPrice, merchant, false);
  1351.          
  1352.          // Send the htm, if existing.
  1353.          String htmlFolder = "";
  1354. @@ -107,5 +105,6 @@ else if (merchant instanceof Merchant)
  1355.          su.addAttribute(StatusUpdate.CUR_LOAD, player.getCurrentLoad());
  1356.          player.sendPacket(su);
  1357.          player.sendPacket(new ItemList(player, true));
  1358. +        player.sendPacket(new ExBuySellListPacket());
  1359.      }
  1360.  }
  1361. \ No newline at end of file
  1362. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetCrop.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetCrop.java
  1363. index aba7bb7b..d4149ca1 100644
  1364. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetCrop.java
  1365. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetCrop.java
  1366. @@ -13,7 +13,7 @@
  1367.  
  1368.  public class RequestSetCrop extends L2GameClientPacket
  1369.  {
  1370. -    private static final int BATCH_LENGTH = 13;
  1371. +    private static final int BATCH_LENGTH = 21;
  1372.      
  1373.      private int _manorId;
  1374.      private List<CropProcure> _items;
  1375. @@ -30,8 +30,8 @@ protected void readImpl()
  1376.          for (int i = 0; i < count; i++)
  1377.          {
  1378.              final int itemId = readD();
  1379. -            final int sales = readD();
  1380. -            final int price = readD();
  1381. +            final int sales = (int)readQ();
  1382. +            final int price = (int)readQ();
  1383.              final int type = readC();
  1384.              
  1385.              if (itemId < 1 || sales < 0 || price < 0)
  1386. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetSeed.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetSeed.java
  1387. index 90ea491c..050219c9 100644
  1388. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetSeed.java
  1389. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestSetSeed.java
  1390. @@ -13,7 +13,7 @@
  1391.  
  1392.  public class RequestSetSeed extends L2GameClientPacket
  1393.  {
  1394. -    private static final int BATCH_LENGTH = 12;
  1395. +    private static final int BATCH_LENGTH = 20;
  1396.      
  1397.      private int _manorId;
  1398.      private List<SeedProduction> _items;
  1399. @@ -30,8 +30,8 @@ protected void readImpl()
  1400.          for (int i = 0; i < count; i++)
  1401.          {
  1402.              final int itemId = readD();
  1403. -            final int sales = readD();
  1404. -            final int price = readD();
  1405. +            final int sales = (int)readQ();
  1406. +            final int price = (int)readQ();
  1407.              
  1408.              if (itemId < 1 || sales < 0 || price < 0)
  1409.              {
  1410. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestTargetCanceld.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestTargetCanceld.java
  1411. index 7afb3767..04e56a02 100644
  1412. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestTargetCanceld.java
  1413. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/RequestTargetCanceld.java
  1414. @@ -1,6 +1,10 @@
  1415.  package com.l2jmega.gameserver.network.clientpackets;
  1416.  
  1417. +import com.l2jmega.gameserver.model.L2Skill;
  1418. +import com.l2jmega.gameserver.model.WorldObject;
  1419. +import com.l2jmega.gameserver.model.actor.Attackable;
  1420.  import com.l2jmega.gameserver.model.actor.instance.Player;
  1421. +import com.l2jmega.gameserver.templates.skills.L2SkillType;
  1422.  
  1423.  public final class RequestTargetCanceld extends L2GameClientPacket
  1424.  {
  1425. @@ -22,7 +26,17 @@ protected void runImpl()
  1426.          if (_unselect == 0)
  1427.          {
  1428.              if (activeChar.isCastingNow() && activeChar.canAbortCast())
  1429. +            {
  1430.                  activeChar.abortCast();
  1431. +                final L2Skill seed = activeChar.getLastSkillCast();
  1432. +                if (seed != null && seed.getSkillType() == L2SkillType.SOW && seed.getTargetList(activeChar).length > 0)
  1433. +                {
  1434. +                    for (WorldObject object : seed.getTargetList(activeChar))
  1435. +                        if (object instanceof Attackable && ((Attackable) object).isSeeded()) {
  1436. +                            ((Attackable) object).setSeeded(null, 0);
  1437. +                        }
  1438. +                }
  1439. +            }
  1440.              else
  1441.                  activeChar.setTarget(null);
  1442.          }
  1443. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/Say2.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/Say2.java
  1444. index 790dc05d..dd3743cd 100644
  1445. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/Say2.java
  1446. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/Say2.java
  1447. @@ -7,6 +7,8 @@
  1448.  import com.l2jmega.Config;
  1449.  import com.l2jmega.gameserver.handler.ChatHandler;
  1450.  import com.l2jmega.gameserver.handler.IChatHandler;
  1451. +import com.l2jmega.gameserver.handler.IVoiceCommandHandler;
  1452. +import com.l2jmega.gameserver.handler.VoiceCommandHandler;
  1453.  import com.l2jmega.gameserver.model.actor.instance.Player;
  1454.  import com.l2jmega.gameserver.network.SystemMessageId;
  1455.  
  1456. @@ -33,6 +35,7 @@ public final class Say2 extends L2GameClientPacket
  1457.      public static final int PARTYROOM_ALL = 16; // (Red)
  1458.      public static final int HERO_VOICE = 17;
  1459.      public static final int CRITICAL_ANNOUNCE = 18;
  1460. +    public final static int BATTLEFIELD = 20;
  1461.      
  1462.      private static final String[] CHAT_NAMES =
  1463.      {
  1464. @@ -156,9 +159,23 @@ protected void runImpl()
  1465.              
  1466.              CHAT_LOG.log(record);
  1467.          }
  1468. -        
  1469. +
  1470. +        if (_text.startsWith(".")) {
  1471. +            final String fullcmd = _text.substring(1).trim();
  1472. +            final String command = fullcmd.split("\\s+")[0];
  1473. +            final String args = fullcmd.substring(command.length()).trim();
  1474. +            if (command.length() > 0) {
  1475. +                final IVoiceCommandHandler voice_handler = VoiceCommandHandler.getInstance().getVoicedCommandHandler(command);
  1476. +                if (voice_handler != null) {
  1477. +                    voice_handler.useVoicedCommand(command, player, args);
  1478. +                    return;
  1479. +                }
  1480. +            }
  1481. +            return;
  1482. +        }
  1483. +
  1484.          _text = _text.replaceAll("\\\\n", "");
  1485. -        
  1486. +
  1487.          final IChatHandler handler = ChatHandler.getInstance().getHandler(_type);
  1488.          if (handler == null)
  1489.          {
  1490. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWarehouseDepositList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWarehouseDepositList.java
  1491. index 31903675..9cd3c28e 100644
  1492. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWarehouseDepositList.java
  1493. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWarehouseDepositList.java
  1494. @@ -17,7 +17,7 @@
  1495.  
  1496.  public final class SendWarehouseDepositList extends L2GameClientPacket
  1497.  {
  1498. -    private static final int BATCH_LENGTH = 8; // length of one item
  1499. +    private static final int BATCH_LENGTH = 12; // length of one item
  1500.      
  1501.      private IntIntHolder _items[] = null;
  1502.      
  1503. @@ -32,7 +32,7 @@ protected void readImpl()
  1504.          for (int i = 0; i < count; i++)
  1505.          {
  1506.              int objId = readD();
  1507. -            int cnt = readD();
  1508. +            int cnt = (int)readQ();
  1509.              
  1510.              if (objId < 1 || cnt < 0)
  1511.              {
  1512. @@ -134,7 +134,7 @@ else if (warehouse.getItemByItemId(item.getItemId()) == null)
  1513.              if (oldItem == null)
  1514.                  return;
  1515.              
  1516. -            if (!oldItem.isDepositable(isPrivate) || !oldItem.isAvailable(player, true, isPrivate))
  1517. +            if (!oldItem.isDepositable(isPrivate) || !oldItem.isAvailable(player, true, isPrivate, false))
  1518.                  continue;
  1519.              
  1520.              final ItemInstance newItem = player.getInventory().transferItem(warehouse.getName(), i.getId(), i.getValue(), warehouse, player, folk);
  1521. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWarehouseWithdrawList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWarehouseWithdrawList.java
  1522. index 6f547529..e65dc599 100644
  1523. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWarehouseWithdrawList.java
  1524. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SendWarehouseWithdrawList.java
  1525. @@ -17,7 +17,7 @@
  1526.  
  1527.  public final class SendWarehouseWithdrawList extends L2GameClientPacket
  1528.  {
  1529. -    private static final int BATCH_LENGTH = 8; // length of one item
  1530. +    private static final int BATCH_LENGTH = 12; // length of one item
  1531.      
  1532.      private IntIntHolder _items[] = null;
  1533.      
  1534. @@ -32,7 +32,7 @@ protected void readImpl()
  1535.          for (int i = 0; i < count; i++)
  1536.          {
  1537.              int objId = readD();
  1538. -            int cnt = readD();
  1539. +            int cnt = (int)readQ();
  1540.              
  1541.              if (objId < 1 || cnt < 0)
  1542.              {
  1543. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListBuy.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListBuy.java
  1544. index fd5c85cd..04625620 100644
  1545. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListBuy.java
  1546. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListBuy.java
  1547. @@ -12,7 +12,7 @@
  1548.  
  1549.  public final class SetPrivateStoreListBuy extends L2GameClientPacket
  1550.  {
  1551. -    private static final int BATCH_LENGTH = 16; // length of one item
  1552. +    private static final int BATCH_LENGTH = 40; // length of one item
  1553.      
  1554.      private Item[] _items = null;
  1555.      
  1556. @@ -27,17 +27,21 @@ protected void readImpl()
  1557.          for (int i = 0; i < count; i++)
  1558.          {
  1559.              int itemId = readD();
  1560. +            int enchant = readH(); // TODO analyse this
  1561.              readH(); // TODO analyse this
  1562. -            readH(); // TODO analyse this
  1563. -            int cnt = readD();
  1564. -            int price = readD();
  1565. +            int cnt = (int)readQ();
  1566. +            int price = (int)readQ();
  1567.              
  1568.              if (itemId < 1 || cnt < 1 || price < 0)
  1569.              {
  1570.                  _items = null;
  1571.                  return;
  1572.              }
  1573. -            _items = new Item(itemId, cnt, price);
  1574. +            readC(); // FE
  1575. +            readD(); // FF 00 00 00
  1576. +            readD(); // 00 00 00 00
  1577. +            readB(new byte[7]); // Completely Unknown
  1578. +            _items = new Item(itemId, cnt, price, enchant);
  1579.          }
  1580.      }
  1581.      
  1582. @@ -47,38 +51,24 @@ protected void runImpl()
  1583.          Player player = getClient().getActiveChar();
  1584.          if (player == null)
  1585.              return;
  1586. -        
  1587. -        if (_items == null)
  1588. -        {
  1589. -            player.setStoreType(StoreType.NONE);
  1590. -            player.broadcastUserInfo();
  1591. -            player.sendPacket(new PrivateStoreManageListBuy(player));
  1592. +
  1593. +        // Integrity check.
  1594. +        if (!player.getInventory().canPassBuyProcess(_items))
  1595.              return;
  1596. -        }
  1597. -        
  1598. +
  1599. +        final TradeList tradeList = player.getBuyList();
  1600. +        tradeList.clear();
  1601. +
  1602.          if (!player.getAccessLevel().allowTransaction())
  1603.          {
  1604.              player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
  1605.              return;
  1606.          }
  1607. -        
  1608. -        if (AttackStanceTaskManager.getInstance().isInAttackStance(player) || (player.isCastingNow() || player.isCastingSimultaneouslyNow()) || player.isInDuel())
  1609. -        {
  1610. -            player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
  1611. -            player.sendPacket(new PrivateStoreManageListBuy(player));
  1612. -            return;
  1613. -        }
  1614. -        
  1615. -        if (player.isInsideZone(ZoneId.NO_STORE))
  1616. -        {
  1617. -            player.sendPacket(SystemMessageId.NO_PRIVATE_STORE_HERE);
  1618. -            player.sendPacket(new PrivateStoreManageListBuy(player));
  1619. +
  1620. +        // Check multiple conditions. Message is sent directly from the method.
  1621. +        if (!player.canOpenPrivateStore(false))
  1622.              return;
  1623. -        }
  1624. -        
  1625. -        TradeList tradeList = player.getBuyList();
  1626. -        tradeList.clear();
  1627. -        
  1628. +
  1629.          // Check maximum number of allowed slots for pvt shops
  1630.          if (_items.length > player.getPrivateBuyStoreLimit())
  1631.          {
  1632. @@ -120,15 +110,16 @@ protected void runImpl()
  1633.          player.broadcastPacket(new PrivateStoreMsgBuy(player));
  1634.      }
  1635.      
  1636. -    private static class Item
  1637. +    public static class Item
  1638.      {
  1639. -        private final int _itemId, _count, _price;
  1640. +        private final int _itemId, _count, _price, _enchant;
  1641.          
  1642. -        public Item(int id, int num, int pri)
  1643. +        public Item(int id, int num, int pri, int enchant)
  1644.          {
  1645.              _itemId = id;
  1646.              _count = num;
  1647.              _price = pri;
  1648. +            _enchant = enchant;
  1649.          }
  1650.          
  1651.          public boolean addToTradeList(TradeList list)
  1652. @@ -139,10 +130,29 @@ public boolean addToTradeList(TradeList list)
  1653.              list.addItemByItemId(_itemId, _count, _price);
  1654.              return true;
  1655.          }
  1656. +
  1657. +        public int getItemId()
  1658. +        {
  1659. +            return _itemId;
  1660. +        }
  1661. +
  1662. +        public int getCount()
  1663. +        {
  1664. +            return _count;
  1665. +        }
  1666. +
  1667. +        public int getPrice()
  1668. +        {
  1669. +            return _price;
  1670. +        }
  1671.          
  1672.          public long getCost()
  1673.          {
  1674.              return _count * _price;
  1675.          }
  1676. +
  1677. +        public int getEnchant() {
  1678. +            return _enchant;
  1679. +        }
  1680.      }
  1681.  }
  1682. \ No newline at end of file
  1683. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListSell.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListSell.java
  1684. index 8c64905b..7ecc9a4e 100644
  1685. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListSell.java
  1686. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/SetPrivateStoreListSell.java
  1687. @@ -4,15 +4,13 @@
  1688.  import com.l2jmega.gameserver.model.actor.instance.Player;
  1689.  import com.l2jmega.gameserver.model.actor.instance.Player.StoreType;
  1690.  import com.l2jmega.gameserver.model.tradelist.TradeList;
  1691. -import com.l2jmega.gameserver.model.zone.ZoneId;
  1692.  import com.l2jmega.gameserver.network.SystemMessageId;
  1693.  import com.l2jmega.gameserver.network.serverpackets.PrivateStoreManageListSell;
  1694.  import com.l2jmega.gameserver.network.serverpackets.PrivateStoreMsgSell;
  1695. -import com.l2jmega.gameserver.taskmanager.AttackStanceTaskManager;
  1696.  
  1697.  public final class SetPrivateStoreListSell extends L2GameClientPacket
  1698.  {
  1699. -    private static final int BATCH_LENGTH = 12; // length of the one item
  1700. +    private static final int BATCH_LENGTH = 20; // length of the one item
  1701.      
  1702.      private boolean _packageSale;
  1703.      private Item[] _items = null;
  1704. @@ -29,8 +27,8 @@ protected void readImpl()
  1705.          for (int i = 0; i < count; i++)
  1706.          {
  1707.              int itemId = readD();
  1708. -            long cnt = readD();
  1709. -            int price = readD();
  1710. +            long cnt = (int)readQ();
  1711. +            int price = (int)readQ();
  1712.              
  1713.              if (itemId < 1 || cnt < 1 || price < 0)
  1714.              {
  1715. @@ -47,36 +45,24 @@ protected void runImpl()
  1716.          Player player = getClient().getActiveChar();
  1717.          if (player == null)
  1718.              return;
  1719. -        
  1720. -        if (_items == null)
  1721. -        {
  1722. -            player.sendPacket(SystemMessageId.NOT_ENOUGH_ITEMS);
  1723. -            player.setStoreType(StoreType.NONE);
  1724. -            player.broadcastUserInfo();
  1725. -            player.sendPacket(new PrivateStoreManageListSell(player, _packageSale));
  1726. +
  1727. +        // Integrity check.
  1728. +        if (!player.getInventory().canPassSellProcess(_items))
  1729.              return;
  1730. -        }
  1731. -        
  1732. +
  1733. +        final TradeList tradeList = player.getSellList();
  1734. +        tradeList.clear();
  1735. +
  1736.          if (!player.getAccessLevel().allowTransaction())
  1737.          {
  1738.              player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
  1739.              return;
  1740.          }
  1741. -        
  1742. -        if (AttackStanceTaskManager.getInstance().isInAttackStance(player) || (player.isCastingNow() || player.isCastingSimultaneouslyNow()) || player.isInDuel())
  1743. -        {
  1744. -            player.sendPacket(SystemMessageId.YOU_ARE_NOT_AUTHORIZED_TO_DO_THAT);
  1745. -            player.sendPacket(new PrivateStoreManageListSell(player, _packageSale));
  1746. -            return;
  1747. -        }
  1748. -        
  1749. -        if (player.isInsideZone(ZoneId.NO_STORE))
  1750. -        {
  1751. -            player.sendPacket(SystemMessageId.NO_PRIVATE_STORE_HERE);
  1752. -            player.sendPacket(new PrivateStoreManageListSell(player, _packageSale));
  1753. +
  1754. +        // Check multiple conditions. Message is sent directly from the method.
  1755. +        if (!player.canOpenPrivateStore(false))
  1756.              return;
  1757. -        }
  1758. -        
  1759. +
  1760.          // Check maximum number of allowed slots for pvt shops
  1761.          if (_items.length > player.getPrivateSellStoreLimit())
  1762.          {
  1763. @@ -84,9 +70,6 @@ protected void runImpl()
  1764.              player.sendPacket(new PrivateStoreManageListSell(player, _packageSale));
  1765.              return;
  1766.          }
  1767. -        
  1768. -        TradeList tradeList = player.getSellList();
  1769. -        tradeList.clear();
  1770.          tradeList.setPackaged(_packageSale);
  1771.          
  1772.          int totalCost = player.getAdena();
  1773. @@ -114,7 +97,7 @@ protected void runImpl()
  1774.          player.broadcastPacket(new PrivateStoreMsgSell(player));
  1775.      }
  1776.      
  1777. -    private static class Item
  1778. +    public static class Item
  1779.      {
  1780.          private final int _itemId, _count, _price;
  1781.          
  1782. @@ -133,8 +116,23 @@ public boolean addToTradeList(TradeList list)
  1783.              list.addItem(_itemId, _count, _price);
  1784.              return true;
  1785.          }
  1786. +
  1787. +        public int getItemId()
  1788. +        {
  1789. +            return _itemId;
  1790. +        }
  1791. +
  1792. +        public int getCount()
  1793. +        {
  1794. +            return _count;
  1795. +        }
  1796. +
  1797. +        public int getPrice()
  1798. +        {
  1799. +            return _price;
  1800. +        }
  1801.          
  1802. -        public long getPrice()
  1803. +        public long getCost()
  1804.          {
  1805.              return _count * _price;
  1806.          }
  1807. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java
  1808. index f8f4aa4b..5630c10b 100644
  1809. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java
  1810. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/clientpackets/UseItem.java
  1811. @@ -8,6 +8,7 @@
  1812.  import com.l2jmega.gameserver.model.L2Skill;
  1813.  import com.l2jmega.gameserver.model.actor.instance.Pet;
  1814.  import com.l2jmega.gameserver.model.actor.instance.Player;
  1815. +import com.l2jmega.gameserver.model.base.ClassRace;
  1816.  import com.l2jmega.gameserver.model.holder.IntIntHolder;
  1817.  import com.l2jmega.gameserver.model.item.instance.ItemInstance;
  1818.  import com.l2jmega.gameserver.model.item.kind.Item;
  1819. @@ -38,6 +39,7 @@ protected void readImpl()
  1820.      @Override
  1821.      protected void runImpl()
  1822.      {
  1823. +        //_ctrlPressed = false;
  1824.          final Player activeChar = getClient().getActiveChar();
  1825.          if (activeChar == null)
  1826.              return;
  1827. @@ -158,6 +160,13 @@ protected void runImpl()
  1828.                  return;
  1829.              }
  1830.              
  1831. +            //if ((((activeChar.getClassId().getId()) == 124) || ((activeChar.getClassId().getId()) == 123)) && ((item.getItem().getBodyPart()) == 256)) //blocking Kama shield
  1832. +            if ((activeChar.getRace() == ClassRace.MYSTIC_ELF) && ((item.getItem().getBodyPart()) == 256))
  1833. +            {
  1834. +            activeChar.sendPacket(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION);    
  1835. +            return;
  1836. +            }
  1837. +            
  1838.              switch (item.getItem().getBodyPart())
  1839.              {
  1840.                  case Item.SLOT_LR_HAND:
  1841. @@ -176,15 +185,29 @@ protected void runImpl()
  1842.                      
  1843.                      break;
  1844.                  }
  1845. +                case Item.SLOT_DECO:
  1846. +                {
  1847. +                    if (!item.isEquipped() && (activeChar.getInventory().getTalismanSlots() == 0))
  1848. +                    {
  1849. +                        activeChar.sendPacket(SystemMessageId.CANNOT_EQUIP_ITEM_DUE_TO_BAD_CONDITION);
  1850. +                        return;
  1851. +                    }
  1852. +                }
  1853.              }
  1854.              
  1855.              if (activeChar.isCursedWeaponEquipped() && item.getItemId() == 6408) // Don't allow to put formal wear
  1856.                  return;
  1857.              
  1858.              if (activeChar.isAttackingNow())
  1859. -                ThreadPool.schedule(() -> activeChar.useEquippableItem(item, false), activeChar.getAttackEndTime() - System.currentTimeMillis());
  1860. -            else
  1861. -                activeChar.useEquippableItem(item, true);
  1862. +                ThreadPool.schedule(() -> {
  1863. +                    final ItemInstance itemToTest = activeChar.getInventory().getItemByObjectId(_objectId);
  1864. +                    if(itemToTest == null)
  1865. +                        return;
  1866. +                
  1867. +                    activeChar.useEquippableItem(itemToTest, false);
  1868. +                }, activeChar.getAttackEndTime() - System.currentTimeMillis());
  1869. +            else
  1870. +                activeChar.useEquippableItem(item, true);
  1871.          }
  1872.          else
  1873.          {
  1874. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/BuyList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/BuyList.java
  1875. index 443391c3..8515d54d 100644
  1876. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/BuyList.java
  1877. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/BuyList.java
  1878. @@ -23,8 +23,11 @@ public BuyList(NpcBuyList list, int currentMoney, double taxRate)
  1879.      @Override
  1880.      protected final void writeImpl()
  1881.      {
  1882. -        writeC(0x11);
  1883. -        writeD(_money);
  1884. +        writeC(0xFE);
  1885. +        writeH(0xB7);
  1886. +        writeD(0x00);
  1887. +        
  1888. +        writeQ(_money);
  1889.          writeD(_listId);
  1890.          writeH(_list.size());
  1891.          
  1892. @@ -32,21 +35,43 @@ protected final void writeImpl()
  1893.          {
  1894.              if (product.getCount() > 0 || !product.hasLimitedStock())
  1895.              {
  1896. -                writeH(product.getItem().getType1());
  1897.                  writeD(product.getItemId());
  1898.                  writeD(product.getItemId());
  1899. -                writeD((product.getCount() < 0) ? 0 : product.getCount());
  1900. +                writeD(0);
  1901. +                writeQ((product.getCount() < 0) ? 0 : product.getCount());
  1902.                  writeH(product.getItem().getType2());
  1903. -                writeH(0x00); // TODO: ItemInstance getCustomType1()
  1904. +                writeH(product.getItem().getType1());
  1905. +                writeH(0x00);
  1906.                  writeD(product.getItem().getBodyPart());
  1907. -                writeH(0x00); // TODO: ItemInstance getEnchantLevel()
  1908. -                writeH(0x00); // TODO: ItemInstance getCustomType2()
  1909. +                
  1910. +                writeH(0x00);    // Enchant
  1911. +                writeH(0x00);    // Custom Type
  1912. +                writeD(0x00);    // Augment
  1913. +                writeD(-1);        // Mana
  1914. +                writeD(-9999);    // Time
  1915. +                writeH(0x00);    // Element Type
  1916. +                writeH(0x00);    // Element Power
  1917. +                
  1918. +                for (byte i = 0; i < 6; i++)
  1919. +                {
  1920. +                    writeH(0x00);
  1921. +                }
  1922. +                
  1923. +                                // Enchant Effects
  1924. +                writeH(0x00);
  1925.                  writeH(0x00);
  1926. +                writeH(0x00);
  1927. +                
  1928.                  
  1929.                  if (product.getItemId() >= 3960 && product.getItemId() <= 4026)
  1930. -                    writeD((int) (product.getPrice() * Config.RATE_SIEGE_GUARDS_PRICE * (1 + _taxRate)));
  1931. +                    writeQ((int) (product.getPrice() * Config.RATE_SIEGE_GUARDS_PRICE * (1 + _taxRate)));
  1932.                  else
  1933. -                    writeD((int) (product.getPrice() * (1 + _taxRate)));
  1934. +                    writeQ((int) (product.getPrice() * (1 + _taxRate)));
  1935. +                                // T1
  1936. +            //    for (byte i = 0; i < 8; i++)
  1937. +            //    {
  1938. +            //        writeH(0x00);
  1939. +            //    }
  1940.              }
  1941.          }
  1942.      }
  1943. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/BuyListSeed.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/BuyListSeed.java
  1944. index 6037b86c..84ae846d 100644
  1945. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/BuyListSeed.java
  1946. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/BuyListSeed.java
  1947. @@ -28,9 +28,9 @@ public BuyListSeed(int currentMoney, int castleId)
  1948.      @Override
  1949.      protected final void writeImpl()
  1950.      {
  1951. -        writeC(0xE8);
  1952. +        writeC(0xE9);
  1953.          
  1954. -        writeD(_money);
  1955. +        writeQ(_money);
  1956.          writeD(_manorId);
  1957.          
  1958.          if (!_list.isEmpty())
  1959. @@ -38,13 +38,30 @@ protected final void writeImpl()
  1960.              writeH(_list.size());
  1961.              for (SeedProduction s : _list)
  1962.              {
  1963. -                writeH(0x04);
  1964.                  writeD(s.getId());
  1965.                  writeD(s.getId());
  1966. -                writeD(s.getAmount());
  1967. -                writeH(0x04);
  1968. +                writeD(0x00);
  1969. +                writeQ(s.getAmount());
  1970. +                writeH(0x05);
  1971. +                writeH(0x00); // Custom Type 1
  1972. +                writeH(0x00); // Equipped
  1973. +                writeD(0x00); // Body Part
  1974. +                writeH(0x00); // Enchant
  1975. +                writeH(0x00); // Custom Type
  1976. +                writeD(0x00); // Augment
  1977. +                writeD(-1); // Mana
  1978. +                writeD(-9999); // Time
  1979. +                writeH(0x00); // Element Type
  1980. +                writeH(0x00); // Element Power
  1981. +                for (byte i = 0; i < 6; i++)
  1982. +                {
  1983. +                    writeH(0x00);
  1984. +                }
  1985. +                // Enchant Effects
  1986.                  writeH(0x00);
  1987. -                writeD(s.getPrice());
  1988. +                writeH(0x00);
  1989. +                writeH(0x00);
  1990. +                writeQ(s.getPrice());
  1991.              }
  1992.          }
  1993.      }
  1994. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/CreatureSay.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/CreatureSay.java
  1995. index 0a96858d..5c0e56dd 100644
  1996. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/CreatureSay.java
  1997. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/CreatureSay.java
  1998. @@ -49,16 +49,17 @@ protected final void writeImpl()
  1999.              writeS(_charName);
  2000.          else
  2001.              writeD(_charId);
  2002. -        writeD(_npcString); // High Five NPCString ID
  2003. +    //    writeD(_npcString); // High Five NPCString ID
  2004.          if (_text != null)
  2005.              writeS(_text);
  2006.          else
  2007.          {
  2008. -            if (_parameters != null)
  2009. -            {
  2010. -                for (String s : _parameters)
  2011. -                    writeS(s);
  2012. -            }
  2013. +            writeD(_npcString);
  2014. +        //    if (_parameters != null)
  2015. +        //    {
  2016. +        //        for (String s : _parameters)
  2017. +        //            writeS(s);
  2018. +        //    }
  2019.          }
  2020.      }
  2021.  }
  2022. \ No newline at end of file
  2023. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DeleteObject.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DeleteObject.java
  2024. index 90b38f94..ce925160 100644
  2025. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DeleteObject.java
  2026. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DeleteObject.java
  2027. @@ -22,8 +22,8 @@ public DeleteObject(WorldObject obj, boolean sit)
  2028.      @Override
  2029.      protected final void writeImpl()
  2030.      {
  2031. -        writeC(0x12);
  2032. +        writeC(0x08);
  2033.          writeD(_objectId);
  2034. -        writeD(_isSeated ? 0x00 : 0x01); // 0 - stand up and delete, 1 - delete
  2035. +        //writeD(_isSeated ? 0x00 : 0x01); // 0 - stand up and delete, 1 - delete
  2036.      }
  2037.  }
  2038. \ No newline at end of file
  2039. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DoorInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DoorInfo.java
  2040. index c6648e3b..a243045b 100644
  2041. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DoorInfo.java
  2042. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DoorInfo.java
  2043. @@ -7,25 +7,32 @@ public class DoorInfo extends L2GameServerPacket
  2044.  {
  2045.      private final Door _door;
  2046.      private final Player _activeChar;
  2047. +    private int _damageGrade;
  2048.      
  2049.      public DoorInfo(Door door, Player activeChar)
  2050.      {
  2051.          _door = door;
  2052.          _activeChar = activeChar;
  2053. +        _damageGrade = door.getDamage();
  2054.      }
  2055.      
  2056.      @Override
  2057.      protected final void writeImpl()
  2058.      {
  2059. -        writeC(0x4c);
  2060. -        writeD(_door.getObjectId());
  2061. +        
  2062. +        //writeC(0x4c);
  2063. +        writeC(0x9f);
  2064.          writeD(_door.getDoorId());
  2065. -        writeD(_door.isAutoAttackable(_activeChar) ? 0 : 1); // ??? (can attack)
  2066. +        writeD(_door.getObjectId());
  2067. +        writeD(1);
  2068. +        writeD(1);
  2069.          writeD(1); // ??? (can target)
  2070.          writeD(_door.isOpened() ? 0 : 1);
  2071. -        writeD(_door.getMaxHp());
  2072. +        writeD(_door.isAutoAttackable(_activeChar) ? 0 : 1); // ??? (can attack)
  2073.          writeD((int) _door.getCurrentHp());
  2074. -        writeD(0); // ??? (show HP)
  2075. -        writeD(0); // ??? (Damage)
  2076. +        writeD(_door.getMaxHp());
  2077. +        writeD(1); // ??? (show HP)
  2078. +        writeD(_damageGrade);
  2079. +        //writeD(0); // ??? (Damage)
  2080.      }
  2081.  }
  2082. \ No newline at end of file
  2083. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DoorStatusUpdate.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DoorStatusUpdate.java
  2084. index 184b7192..27942e19 100644
  2085. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DoorStatusUpdate.java
  2086. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DoorStatusUpdate.java
  2087. @@ -23,7 +23,7 @@ protected final void writeImpl()
  2088.          writeD(_door.getDamage());
  2089.          writeD(_door.isAutoAttackable(_activeChar) ? 1 : 0);
  2090.          writeD(_door.getDoorId());
  2091. -        writeD(_door.getMaxHp());
  2092.          writeD((int) _door.getCurrentHp());
  2093. +        writeD(_door.getMaxHp());
  2094.      }
  2095.  }
  2096. \ No newline at end of file
  2097. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DropItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DropItem.java
  2098. index 57e0f911..1f092547 100644
  2099. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DropItem.java
  2100. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/DropItem.java
  2101. @@ -16,7 +16,7 @@ public DropItem(ItemInstance item, int playerObjId)
  2102.      @Override
  2103.      protected final void writeImpl()
  2104.      {
  2105. -        writeC(0x0c);
  2106. +        writeC(0x16);
  2107.          writeD(_charObjId);
  2108.          writeD(_item.getObjectId());
  2109.          writeD(_item.getItemId());
  2110. @@ -30,7 +30,7 @@ protected final void writeImpl()
  2111.              writeD(0x01);
  2112.          else
  2113.              writeD(0x00);
  2114. -        writeD(_item.getCount());
  2115. +        writeQ(Long.valueOf(_item.getCount()));
  2116.          
  2117.          writeD(1); // unknown
  2118.      }
  2119. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/EnchantResult.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/EnchantResult.java
  2120. index 4a90ea67..b8f4aec0 100644
  2121. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/EnchantResult.java
  2122. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/EnchantResult.java
  2123. @@ -18,7 +18,7 @@ private EnchantResult(int result)
  2124.      @Override
  2125.      protected final void writeImpl()
  2126.      {
  2127. -        writeC(0x81);
  2128. +        writeC(0x87);
  2129.          writeD(_result);
  2130.      }
  2131.  }
  2132. \ No newline at end of file
  2133. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmCancelItem.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmCancelItem.java
  2134. index 895d2f5f..14e4ca68 100644
  2135. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmCancelItem.java
  2136. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmCancelItem.java
  2137. @@ -26,7 +26,7 @@ public ExConfirmCancelItem(ItemInstance item, int price)
  2138.      protected void writeImpl()
  2139.      {
  2140.          writeC(0xfe);
  2141. -        writeH(0x56);
  2142. +        writeH(0x57);
  2143.          writeD(_itemObjId);
  2144.          writeD(_itemId);
  2145.          writeD(_itemAug1);
  2146. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmVariationGemstone.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmVariationGemstone.java
  2147. index a306d689..241f5104 100644
  2148. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmVariationGemstone.java
  2149. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmVariationGemstone.java
  2150. @@ -14,9 +14,9 @@ public class ExConfirmVariationGemstone extends L2GameServerPacket
  2151.      public ExConfirmVariationGemstone(int gemstoneObjId, int count)
  2152.      {
  2153.          _gemstoneObjId = gemstoneObjId;
  2154. -        _unk1 = 1;
  2155. +        _unk1 = 0;
  2156.          _gemstoneCount = count;
  2157. -        _unk2 = 1;
  2158. +        _unk2 = 0;
  2159.          _unk3 = 1;
  2160.      }
  2161.      
  2162. @@ -24,10 +24,11 @@ public ExConfirmVariationGemstone(int gemstoneObjId, int count)
  2163.      protected void writeImpl()
  2164.      {
  2165.          writeC(0xfe);
  2166. -        writeH(0x54);
  2167. +        writeH(0x55);
  2168.          writeD(_gemstoneObjId);
  2169. +        writeD(0x00);
  2170. +        writeQ(_gemstoneCount);
  2171.          writeD(_unk1);
  2172. -        writeD(_gemstoneCount);
  2173.          writeD(_unk2);
  2174.          writeD(_unk3);
  2175.      }
  2176. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmVariationRefiner.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmVariationRefiner.java
  2177. index 308cfac9..75f6d3e1 100644
  2178. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmVariationRefiner.java
  2179. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExConfirmVariationRefiner.java
  2180. @@ -24,11 +24,11 @@ public ExConfirmVariationRefiner(int refinerItemObjId, int lifeStoneId, int gems
  2181.      protected void writeImpl()
  2182.      {
  2183.          writeC(0xfe);
  2184. -        writeH(0x53);
  2185. +        writeH(0x54);
  2186.          writeD(_refinerItemObjId);
  2187.          writeD(_lifestoneItemId);
  2188.          writeD(_gemstoneItemId);
  2189. -        writeD(_gemstoneCount);
  2190. +        writeQ(_gemstoneCount);
  2191.          writeD(_unk2);
  2192.      }
  2193.  }
  2194. \ No newline at end of file
  2195. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelAskStart.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelAskStart.java
  2196. index a13e4c85..74cf16e6 100644
  2197. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelAskStart.java
  2198. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelAskStart.java
  2199. @@ -19,7 +19,7 @@ public ExDuelAskStart(String requestor, int partyDuel)
  2200.      protected void writeImpl()
  2201.      {
  2202.          writeC(0xfe);
  2203. -        writeH(0x4b);
  2204. +        writeH(0x4c);
  2205.          
  2206.          writeS(_requestorName);
  2207.          writeD(_partyDuel);
  2208. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelEnd.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelEnd.java
  2209. index b205c31c..096c4b16 100644
  2210. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelEnd.java
  2211. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelEnd.java
  2212. @@ -17,7 +17,7 @@ public ExDuelEnd(int unk1)
  2213.      protected void writeImpl()
  2214.      {
  2215.          writeC(0xfe);
  2216. -        writeH(0x4e);
  2217. +        writeH(0x4f);
  2218.          
  2219.          writeD(_unk1);
  2220.      }
  2221. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelReady.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelReady.java
  2222. index b80e5dff..7958b431 100644
  2223. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelReady.java
  2224. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelReady.java
  2225. @@ -17,7 +17,7 @@ public ExDuelReady(int unk1)
  2226.      protected void writeImpl()
  2227.      {
  2228.          writeC(0xfe);
  2229. -        writeH(0x4c);
  2230. +        writeH(0x4d);
  2231.          
  2232.          writeD(_unk1);
  2233.      }
  2234. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelStart.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelStart.java
  2235. index 3063f085..b3fb0efd 100644
  2236. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelStart.java
  2237. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExDuelStart.java
  2238. @@ -17,7 +17,7 @@ public ExDuelStart(int unk1)
  2239.      protected void writeImpl()
  2240.      {
  2241.          writeC(0xfe);
  2242. -        writeH(0x4d);
  2243. +        writeH(0x4e);
  2244.          
  2245.          writeD(_unk1);
  2246.      }
  2247. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExEnchantSkillInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExEnchantSkillInfo.java
  2248. index 1d696e88..e440d4d2 100644
  2249. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExEnchantSkillInfo.java
  2250. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExEnchantSkillInfo.java
  2251. @@ -46,22 +46,29 @@ public void addRequirement(int type, int id, int count, int unk)
  2252.      protected void writeImpl()
  2253.      {
  2254.          writeC(0xfe);
  2255. -        writeH(0x18);
  2256. -        
  2257. -        writeD(_id);
  2258. -        writeD(_level);
  2259. -        writeD(_spCost);
  2260. -        writeQ(_xpCost);
  2261. -        writeD(_rate);
  2262. +        writeH(0x2a);
  2263.          
  2264. +        writeD(0);
  2265.          writeD(_reqs.size());
  2266.          
  2267. +
  2268. +        
  2269. +
  2270. +        
  2271.          for (Req temp : _reqs)
  2272.          {
  2273. -            writeD(temp.type);
  2274. -            writeD(temp.id);
  2275. -            writeD(temp.count);
  2276. -            writeD(temp.unk);
  2277. +        writeD(_level);
  2278. +        writeD(_rate);    
  2279. +        writeD(_spCost);
  2280. +        writeQ(_xpCost);
  2281. +        writeQ(0);
  2282. +        writeD(0); // req type?
  2283. +        writeD(0); // required itemId
  2284. +        writeD(0); // ?    
  2285. +        //    writeD(temp.type);
  2286. +        //    writeD(temp.id);
  2287. +        //    writeD(temp.count);
  2288. +        //    writeD(temp.unk);
  2289.          }
  2290.      }
  2291.  }
  2292. \ No newline at end of file
  2293. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExEnchantSkillList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExEnchantSkillList.java
  2294. index d59dea0a..d0517afb 100644
  2295. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExEnchantSkillList.java
  2296. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExEnchantSkillList.java
  2297. @@ -17,15 +17,19 @@ public ExEnchantSkillList(List<EnchantSkillNode> skills)
  2298.      protected void writeImpl()
  2299.      {
  2300.          writeC(0xfe);
  2301. -        writeH(0x17);
  2302. -        
  2303. +        writeH(0x29);
  2304. +        writeD(0x00);
  2305.          writeD(_skills.size());
  2306.          for (EnchantSkillNode esn : _skills)
  2307.          {
  2308.              writeD(esn.getId());
  2309. +            //int superval = (esn.getValue());
  2310. +            //if (superval > 101)
  2311. +            //writeD(superval -1);
  2312. +            //else
  2313.              writeD(esn.getValue());
  2314. -            writeD(esn.getSp());
  2315. -            writeQ(esn.getExp());
  2316. +            //writeD(esn.getSp());
  2317. +            //writeQ(esn.getExp());
  2318.          }
  2319.      }
  2320.  }
  2321. \ No newline at end of file
  2322. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingEnd.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingEnd.java
  2323. index fb60f678..2909f598 100644
  2324. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingEnd.java
  2325. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingEnd.java
  2326. @@ -15,7 +15,7 @@ public ExFishingEnd(boolean win, int playerId)
  2327.      protected void writeImpl()
  2328.      {
  2329.          writeC(0xfe);
  2330. -        writeH(0x14);
  2331. +        writeH(0x1f);
  2332.          writeD(_playerId);
  2333.          writeC((_win) ? 1 : 0);
  2334.      }
  2335. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingHpRegen.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingHpRegen.java
  2336. index 29b7d768..c1165458 100644
  2337. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingHpRegen.java
  2338. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingHpRegen.java
  2339. @@ -27,7 +27,7 @@ public ExFishingHpRegen(Creature character, int time, int fishHP, int HPmode, in
  2340.      protected void writeImpl()
  2341.      {
  2342.          writeC(0xfe);
  2343. -        writeH(0x16);
  2344. +        writeH(0x28);
  2345.          
  2346.          writeD(_activeChar.getObjectId());
  2347.          writeD(_time);
  2348. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingStart.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingStart.java
  2349. index dff1b62a..79864807 100644
  2350. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingStart.java
  2351. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingStart.java
  2352. @@ -27,7 +27,7 @@ public ExFishingStart(Creature character, int fishType, Location loc, boolean is
  2353.      protected void writeImpl()
  2354.      {
  2355.          writeC(0xfe);
  2356. -        writeH(0x13);
  2357. +        writeH(0x1e);
  2358.          writeD(_activeChar.getObjectId());
  2359.          writeD(_fishType); // fish type
  2360.          writeD(_loc.getX()); // x position
  2361. @@ -35,5 +35,7 @@ protected void writeImpl()
  2362.          writeD(_loc.getZ()); // z position
  2363.          writeC(_isNightLure ? 0x01 : 0x00); // night lure
  2364.          writeC(Config.ALT_FISH_CHAMPIONSHIP_ENABLED ? 0x01 : 0x00); // show fish rank result button
  2365. +        writeC((_fishType >= 7 && _fishType <= 9) ? 0x01 : 0x00); // 0 = day lure  1 = night lure
  2366. +        writeC(0x00);
  2367.      }
  2368.  }
  2369. \ No newline at end of file
  2370. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingStartCombat.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingStartCombat.java
  2371. index cf97701a..5ad6a618 100644
  2372. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingStartCombat.java
  2373. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExFishingStartCombat.java
  2374. @@ -26,7 +26,7 @@ public ExFishingStartCombat(Creature character, int time, int hp, int mode, int
  2375.      protected void writeImpl()
  2376.      {
  2377.          writeC(0xfe);
  2378. -        writeH(0x15);
  2379. +        writeH(0x27);
  2380.          
  2381.          writeD(_activeChar.getObjectId());
  2382.          writeD(_time);
  2383. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExGetBossRecord.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExGetBossRecord.java
  2384. index 794ba6d9..e8c73f4a 100644
  2385. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExGetBossRecord.java
  2386. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExGetBossRecord.java
  2387. @@ -23,7 +23,7 @@ public ExGetBossRecord(int ranking, int totalScore, Map<Integer, Integer> list)
  2388.      protected void writeImpl()
  2389.      {
  2390.          writeC(0xfe);
  2391. -        writeH(0x33);
  2392. +        writeH(0x34);
  2393.          writeD(_ranking);
  2394.          writeD(_totalPoints);
  2395.          if (_bossRecordInfo == null)
  2396. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExHeroList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExHeroList.java
  2397. index ef5b313d..5ade481a 100644
  2398. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExHeroList.java
  2399. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExHeroList.java
  2400. @@ -23,7 +23,7 @@ public ExHeroList()
  2401.      protected void writeImpl()
  2402.      {
  2403.          writeC(0xfe);
  2404. -        writeH(0x23);
  2405. +        writeH(0x79);
  2406.          writeD(_heroList.size());
  2407.          
  2408.          for (StatsSet hero : _heroList)
  2409. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExPutEnchantTargetItemResult.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExPutEnchantTargetItemResult.java
  2410. new file mode 100644
  2411. index 00000000..2ef39ab6
  2412. --- /dev/null
  2413. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExPutEnchantTargetItemResult.java
  2414. @@ -0,0 +1,54 @@
  2415. +/*
  2416. + * This program is free software: you can redistribute it and/or modify it under
  2417. + * the terms of the GNU General Public License as published by the Free Software
  2418. + * Foundation, either version 3 of the License, or (at your option) any later
  2419. + * version.
  2420. + *
  2421. + * This program is distributed in the hope that it will be useful, but WITHOUT
  2422. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  2423. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  2424. + * details.
  2425. + *
  2426. + * You should have received a copy of the GNU General Public License along with
  2427. + * this program. If not, see <http://www.gnu.org/licenses/>.
  2428. + */
  2429. +package com.l2jmega.gameserver.network.serverpackets;
  2430. +
  2431. +/**
  2432. + *
  2433. + * @author nBd
  2434. + */
  2435. +public class ExPutEnchantTargetItemResult extends L2GameServerPacket
  2436. +{
  2437. +    private static final String _S__81_EXPUTENCHANTTARGETITEMRESULT = " 81 ExPutEnchantTargetItemResult";
  2438. +    
  2439. +    private int _result;
  2440. +    
  2441. +    /**
  2442. +     *
  2443. +     */
  2444. +    public ExPutEnchantTargetItemResult(int result)
  2445. +    {
  2446. +        _result = result;
  2447. +    }
  2448. +    
  2449. +    /**
  2450. +     * @see com.l2jmega.gameserver.network.serverpackets.L2GameServerPacket#getType()
  2451. +     */
  2452. +    @Override
  2453. +    public String getType()
  2454. +    {
  2455. +        return _S__81_EXPUTENCHANTTARGETITEMRESULT;
  2456. +    }
  2457. +    
  2458. +    /**
  2459. +     * @see com.l2jmega.gameserver.network.serverpackets.L2GameServerPacket#writeImpl()
  2460. +     */
  2461. +    @Override
  2462. +    protected void writeImpl()
  2463. +    {
  2464. +        writeC(0xfe);
  2465. +        writeH(0x81);
  2466. +        writeD(_result);
  2467. +    }
  2468. +}
  2469. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExServerPrimitive.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExServerPrimitive.java
  2470. index f50dff4a..ad40418b 100644
  2471. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExServerPrimitive.java
  2472. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExServerPrimitive.java
  2473. @@ -396,7 +396,7 @@ public void addLine(Color color, Location location, Location location2)
  2474.      protected void writeImpl()
  2475.      {
  2476.          writeC(0xFE);
  2477. -        writeH(0x24);
  2478. +        writeH(0x11);
  2479.          writeS(_name);
  2480.          writeD(_x);
  2481.          writeD(_y);
  2482. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowAdventurerGuideBook.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowAdventurerGuideBook.java
  2483. index 9f95bbad..053126ad 100644
  2484. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowAdventurerGuideBook.java
  2485. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowAdventurerGuideBook.java
  2486. @@ -16,6 +16,6 @@ private ExShowAdventurerGuideBook()
  2487.      protected void writeImpl()
  2488.      {
  2489.          writeC(0xFE);
  2490. -        writeH(0x37);
  2491. +        writeH(0x38);
  2492.      }
  2493.  }
  2494. \ No newline at end of file
  2495. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowCropInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowCropInfo.java
  2496. index 90eeba7d..cbc0600c 100644
  2497. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowCropInfo.java
  2498. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowCropInfo.java
  2499. @@ -25,7 +25,7 @@ public ExShowCropInfo(int manorId, boolean nextPeriod, boolean hideButtons)
  2500.      protected void writeImpl()
  2501.      {
  2502.          writeC(0xFE);
  2503. -        writeH(0x1D);
  2504. +        writeH(0x24);
  2505.          writeC(_hideButtons ? 0x01 : 0x00);
  2506.          writeD(_manorId);
  2507.          writeD(0);
  2508. @@ -39,9 +39,9 @@ protected void writeImpl()
  2509.          for (CropProcure crop : _crops)
  2510.          {
  2511.              writeD(crop.getId());
  2512. -            writeD(crop.getAmount());
  2513. -            writeD(crop.getStartAmount());
  2514. -            writeD(crop.getPrice());
  2515. +            writeQ(crop.getAmount());
  2516. +            writeQ(crop.getStartAmount());
  2517. +            writeQ(crop.getPrice());
  2518.              writeC(crop.getReward());
  2519.              
  2520.              final Seed seed = CastleManorManager.getInstance().getSeedByCrop(crop.getId());
  2521. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowCropSetting.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowCropSetting.java
  2522. index e22905cf..bf41e11e 100644
  2523. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowCropSetting.java
  2524. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowCropSetting.java
  2525. @@ -39,7 +39,7 @@ public ExShowCropSetting(int manorId)
  2526.      public void writeImpl()
  2527.      {
  2528.          writeC(0xFE); // Id
  2529. -        writeH(0x20); // SubId
  2530. +        writeH(0x2b); // SubId
  2531.          
  2532.          writeD(_manorId); // manor id
  2533.          writeD(_seeds.size()); // size
  2534. @@ -63,28 +63,28 @@ public void writeImpl()
  2535.              if (_current.containsKey(s.getCropId()))
  2536.              {
  2537.                  cp = _current.get(s.getCropId());
  2538. -                writeD(cp.getStartAmount()); // buy
  2539. -                writeD(cp.getPrice()); // price
  2540. +                writeQ(cp.getStartAmount()); // buy
  2541. +                writeQ(cp.getPrice()); // price
  2542.                  writeC(cp.getReward()); // reward
  2543.              }
  2544.              else
  2545.              {
  2546. -                writeD(0);
  2547. -                writeD(0);
  2548. +                writeQ(0);
  2549. +                writeQ(0);
  2550.                  writeC(0);
  2551.              }
  2552.              // Next period
  2553.              if (_next.containsKey(s.getCropId()))
  2554.              {
  2555.                  cp = _next.get(s.getCropId());
  2556. -                writeD(cp.getStartAmount()); // buy
  2557. -                writeD(cp.getPrice()); // price
  2558. +                writeQ(cp.getStartAmount()); // buy
  2559. +                writeQ(cp.getPrice()); // price
  2560.                  writeC(cp.getReward()); // reward
  2561.              }
  2562.              else
  2563.              {
  2564. -                writeD(0);
  2565. -                writeD(0);
  2566. +                writeQ(0);
  2567. +                writeQ(0);
  2568.                  writeC(0);
  2569.              }
  2570.          }
  2571. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowManorDefaultInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowManorDefaultInfo.java
  2572. index 240da3a5..72d48b44 100644
  2573. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowManorDefaultInfo.java
  2574. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowManorDefaultInfo.java
  2575. @@ -20,7 +20,7 @@ public ExShowManorDefaultInfo(boolean hideButtons)
  2576.      protected void writeImpl()
  2577.      {
  2578.          writeC(0xFE);
  2579. -        writeH(0x1E);
  2580. +        writeH(0x25);
  2581.          writeC(_hideButtons ? 0x01 : 0x00);
  2582.          writeD(_crops.size());
  2583.          for (Seed crop : _crops)
  2584. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowProcureCropDetail.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowProcureCropDetail.java
  2585. index e5b61956..618634d8 100644
  2586. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowProcureCropDetail.java
  2587. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowProcureCropDetail.java
  2588. @@ -30,7 +30,7 @@ public ExShowProcureCropDetail(int cropId)
  2589.      public void writeImpl()
  2590.      {
  2591.          writeC(0xFE);
  2592. -        writeH(0x22);
  2593. +        writeH(0x78);
  2594.          
  2595.          writeD(_cropId);
  2596.          writeD(_castleCrops.size());
  2597. @@ -40,8 +40,8 @@ public void writeImpl()
  2598.              final CropProcure crop = entry.getValue();
  2599.              
  2600.              writeD(entry.getKey());
  2601. -            writeD(crop.getAmount());
  2602. -            writeD(crop.getPrice());
  2603. +            writeQ(crop.getAmount());
  2604. +            writeQ(crop.getPrice());
  2605.              writeC(crop.getReward());
  2606.          }
  2607.      }
  2608. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowQuestMark.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowQuestMark.java
  2609. index d5d8a462..eca6633b 100644
  2610. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowQuestMark.java
  2611. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowQuestMark.java
  2612. @@ -16,7 +16,7 @@ public ExShowQuestMark(int questId)
  2613.      protected void writeImpl()
  2614.      {
  2615.          writeC(0xfe);
  2616. -        writeH(0x1a);
  2617. +        writeH(0x21);
  2618.          writeD(_questId);
  2619.      }
  2620.  }
  2621. \ No newline at end of file
  2622. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExSendManorList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExSendManorList.java
  2623. index efb4b557..e75268e2 100644
  2624. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExSendManorList.java
  2625. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExSendManorList.java
  2626. @@ -29,7 +29,7 @@ private ExSendManorList()
  2627.      protected void writeImpl()
  2628.      {
  2629.          writeC(0xFE);
  2630. -        writeH(0x1B);
  2631. +        writeH(0x22);
  2632.          writeD(_manorList.length);
  2633.          for (int i = 0; i < _manorList.length; i++)
  2634.          {
  2635.  
  2636. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSeedInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSeedInfo.java
  2637. index e92c3807..63204f04 100644
  2638. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSeedInfo.java
  2639. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSeedInfo.java
  2640. @@ -25,7 +25,7 @@ public ExShowSeedInfo(int manorId, boolean nextPeriod, boolean hideButtons)
  2641.      protected void writeImpl()
  2642.      {
  2643.          writeC(0xFE);
  2644. -        writeH(0x1C);
  2645. +        writeH(0x23);
  2646.          writeC(_hideButtons ? 0x01 : 0x00);
  2647.          writeD(_manorId);
  2648.          writeD(0);
  2649. @@ -40,9 +40,9 @@ protected void writeImpl()
  2650.          for (SeedProduction seed : _seeds)
  2651.          {
  2652.              writeD(seed.getId()); // Seed id
  2653. -            writeD(seed.getAmount()); // Left to buy
  2654. -            writeD(seed.getStartAmount()); // Started amount
  2655. -            writeD(seed.getPrice()); // Sell Price
  2656. +            writeQ(seed.getAmount()); // Left to buy
  2657. +            writeQ(seed.getStartAmount()); // Started amount
  2658. +            writeQ(seed.getPrice()); // Sell Price
  2659.              
  2660.              final Seed s = CastleManorManager.getInstance().getSeed(seed.getId());
  2661.              if (s == null)
  2662. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSeedSetting.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSeedSetting.java
  2663. index c92e38e9..fcdbd70d 100644
  2664. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSeedSetting.java
  2665. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSeedSetting.java
  2666. @@ -40,7 +40,7 @@ public ExShowSeedSetting(int manorId)
  2667.      public void writeImpl()
  2668.      {
  2669.          writeC(0xFE);
  2670. -        writeH(0x1F);
  2671. +        writeH(0x26);
  2672.          
  2673.          writeD(_manorId);
  2674.          writeD(_seeds.size());
  2675. @@ -64,25 +64,25 @@ public void writeImpl()
  2676.              if (_current.containsKey(s.getSeedId()))
  2677.              {
  2678.                  sp = _current.get(s.getSeedId());
  2679. -                writeD(sp.getStartAmount()); // sales
  2680. -                writeD(sp.getPrice()); // price
  2681. +                writeQ(sp.getStartAmount()); // sales
  2682. +                writeQ(sp.getPrice()); // price
  2683.              }
  2684.              else
  2685.              {
  2686. -                writeD(0);
  2687. -                writeD(0);
  2688. +                writeQ(0);
  2689. +                writeQ(0);
  2690.              }
  2691.              // Next period
  2692.              if (_next.containsKey(s.getSeedId()))
  2693.              {
  2694.                  sp = _next.get(s.getSeedId());
  2695. -                writeD(sp.getStartAmount()); // sales
  2696. -                writeD(sp.getPrice()); // price
  2697. +                writeQ(sp.getStartAmount()); // sales
  2698. +                writeQ(sp.getPrice()); // price
  2699.              }
  2700.              else
  2701.              {
  2702. -                writeD(0);
  2703. -                writeD(0);
  2704. +                writeQ(0);
  2705. +                writeQ(0);
  2706.              }
  2707.          }
  2708.      }
  2709. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSellCropList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSellCropList.java
  2710. index 764eaf83..efbe87f9 100644
  2711. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSellCropList.java
  2712. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ExShowSellCropList.java
  2713. @@ -39,7 +39,7 @@ public ExShowSellCropList(PcInventory inventory, int manorId)
  2714.      public void writeImpl()
  2715.      {
  2716.          writeC(0xFE);
  2717. -        writeH(0x21);
  2718. +        writeH(0x2c);
  2719.          
  2720.          writeD(_manorId);
  2721.          writeD(_cropsItems.size());
  2722. @@ -60,18 +60,18 @@ public void writeImpl()
  2723.              {
  2724.                  final CropProcure crop = _castleCrops.get(item.getItemId());
  2725.                  writeD(_manorId);
  2726. -                writeD(crop.getAmount());
  2727. -                writeD(crop.getPrice());
  2728. +                writeQ(crop.getAmount());
  2729. +                writeQ(crop.getPrice());
  2730.                  writeC(crop.getReward());
  2731.              }
  2732.              else
  2733.              {
  2734.                  writeD(0xFFFFFFFF);
  2735. -                writeD(0);
  2736. -                writeD(0);
  2737. +                writeQ(0);
  2738. +                writeQ(0);
  2739.                  writeC(0);
  2740.              }
  2741. -            writeD(item.getCount());
  2742. +            writeQ(item.getCount());
  2743.          }
  2744.      }
  2745.  }
  2746. \ No newline at end of file
  2747. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ItemList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ItemList.java
  2748. index 3cf42e2b..84b0d7f5 100644
  2749. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ItemList.java
  2750. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ItemList.java
  2751. @@ -1,45 +1,88 @@
  2752.  package com.l2jmega.gameserver.network.serverpackets;
  2753.  
  2754. +import java.util.HashSet;
  2755.  import java.util.Set;
  2756.  
  2757.  import com.l2jmega.gameserver.model.actor.instance.Player;
  2758.  import com.l2jmega.gameserver.model.item.instance.ItemInstance;
  2759.  import com.l2jmega.gameserver.model.item.kind.Item;
  2760.  
  2761. +//1B - packet
  2762. +//00 00 - windows
  2763. +//07 00 - count
  2764. +//01 00 - item typer
  2765. +//B4 A4 00 10 -objid
  2766. +//7B 04 00 00 - ItemID
  2767. +//01 00 00 00 - count
  2768. +//01 00 - itemtype 1
  2769. +//00 00 - custtype
  2770. +//01 00 - is equipped
  2771. +//00 08 00 00 - body part
  2772. +//00 00 -enchant level
  2773. +//00 00 -custtype 2
  2774. +//00 00 00 00 - aug id
  2775. +//FF FF FF FF - shadowtime
  2776. +
  2777.  public class ItemList extends L2GameServerPacket
  2778.  {
  2779. -    private final Set<ItemInstance> _items;
  2780. +    private Set<ItemInstance> _items = new HashSet<>();
  2781.      private final boolean _showWindow;
  2782. -    
  2783.      public ItemList(Player cha, boolean showWindow)
  2784.      {
  2785. -        _items = cha.getInventory().getItems();
  2786. +        _items.addAll(cha.getInventory().getItems());
  2787. +
  2788.          _showWindow = showWindow;
  2789.      }
  2790. -    
  2791. +
  2792.      @Override
  2793.      protected final void writeImpl()
  2794.      {
  2795. -        writeC(0x1b);
  2796. +        writeC(0x11);
  2797.          writeH(_showWindow ? 0x01 : 0x00);
  2798.          writeH(_items.size());
  2799. -        
  2800. +
  2801.          for (ItemInstance temp : _items)
  2802.          {
  2803.              Item item = temp.getItem();
  2804. -            
  2805. -            writeH(item.getType1());
  2806. +
  2807. +            //writeH(item.getType1());
  2808.              writeD(temp.getObjectId());
  2809.              writeD(temp.getItemId());
  2810. -            writeD(temp.getCount());
  2811. +            //writeD(0); //writeD(0);writeD(0);writeD(0);
  2812. +            //writeD(item.getBodyPart());
  2813. +            writeD(0);
  2814. +            writeQ(Long.valueOf(temp.getCount()));
  2815. +            //writeQ(0);
  2816.              writeH(item.getType2());
  2817.              writeH(temp.getCustomType1());
  2818.              writeH(temp.isEquipped() ? 0x01 : 0x00);
  2819. +            //writeD(2048);
  2820.              writeD(item.getBodyPart());
  2821. +            //writeD(temp.getItem().getBodyPart());
  2822. +            //writeD(temp.getItem().getBodyPart());
  2823.              writeH(temp.getEnchantLevel());
  2824.              writeH(temp.getCustomType2());
  2825.              writeD((temp.isAugmented()) ? temp.getAugmentation().getAugmentationId() : 0x00);
  2826. +            //writeH((temp.isAugmented()) ? temp.getAugmentation().getAugmentationId() : 0x00);
  2827.              writeD(temp.getMana());
  2828. +            writeD(0);
  2829. +
  2830. +            writeH(0);//elemttpe
  2831. +            writeH(0);
  2832. +
  2833. +            writeH(0);//elements
  2834. +            writeH(0);
  2835. +            writeH(0);
  2836. +            writeH(0);
  2837. +            writeH(0);
  2838. +            writeH(0);
  2839. +
  2840. +            //writeD(0);
  2841. +            writeH(0x00);//enchanteffects
  2842. +            writeH(0x00);
  2843. +            writeH(0x00);
  2844. +
  2845. +            //writeH(0x00); //invblock?
  2846.          }
  2847.      }
  2848.  }
  2849. \ No newline at end of file
  2850. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/MultiSellList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/MultiSellList.java
  2851. index b8b5db07..7882fdeb 100644
  2852. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/MultiSellList.java
  2853. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/MultiSellList.java
  2854. @@ -37,7 +37,8 @@ protected void writeImpl()
  2855.          writeD(_list.getId()); // list id
  2856.          writeD(1 + (_index / PAGE_SIZE)); // page
  2857.          writeD(_finished ? 1 : 0); // finished
  2858. -        writeD(PAGE_SIZE); // size of pages
  2859. +        writeD(0x28);
  2860. +    //    writeD(PAGE_SIZE); // size of pages
  2861.          writeD(_size); // list lenght
  2862.          
  2863.          while (_size-- > 0)
  2864. @@ -45,15 +46,25 @@ protected void writeImpl()
  2865.              Entry ent = _list.getEntries().get(_index++);
  2866.              
  2867.              writeD(ent.getId());
  2868. -            writeD(0x00); // C6
  2869. -            writeD(0x00); // C6
  2870.              writeC(ent.isStackable() ? 1 : 0);
  2871. +            writeH(0x00); // C6
  2872. +            writeD(0x00); // C6
  2873. +            writeD(0x00); // T1
  2874. +            writeH(65534); // T1
  2875. +            writeH(0x00); // T1
  2876. +            writeH(0x00); // T1
  2877. +            writeH(0x00); // T1
  2878. +            writeH(0x00); // T1
  2879. +            writeH(0x00); // T1
  2880. +            writeH(0x00); // T1
  2881. +            writeH(0x00); // T1
  2882.              writeH(ent.getProducts().size());
  2883.              writeH(ent.getIngredients().size());
  2884.              
  2885.              for (Ingredient ing : ent.getProducts())
  2886.              {
  2887. -                writeH(ing.getItemId());
  2888. +                //writeH(ing.getItemId());
  2889. +                writeD(ing.getItemId());
  2890.                  if (ing.getTemplate() != null)
  2891.                  {
  2892.                      writeD(ing.getTemplate().getBodyPart());
  2893. @@ -64,20 +75,37 @@ protected void writeImpl()
  2894.                      writeD(0);
  2895.                      writeH(65535);
  2896.                  }
  2897. -                writeD(ing.getItemCount());
  2898. +                writeQ(ing.getItemCount());
  2899.                  writeH(ing.getEnchantLevel());
  2900.                  writeD(0x00); // TODO: i.getAugmentId()
  2901.                  writeD(0x00); // TODO: i.getManaLeft()
  2902. +                writeH(0x00);
  2903. +                writeH(0x00);
  2904. +                writeH(0x00);
  2905. +                writeH(0x00);
  2906. +                writeH(0x00);
  2907. +                writeH(0x00);
  2908. +                writeH(0x00);
  2909. +                writeH(0x00);
  2910.              }
  2911.              
  2912.              for (Ingredient ing : ent.getIngredients())
  2913.              {
  2914. -                writeH(ing.getItemId());
  2915. +                //writeH(ing.getItemId());
  2916. +                writeD(ing.getItemId());
  2917.                  writeH(ing.getTemplate() != null ? ing.getTemplate().getType2() : 65535);
  2918. -                writeD(ing.getItemCount());
  2919. +                writeQ(ing.getItemCount());
  2920.                  writeH(ing.getEnchantLevel());
  2921.                  writeD(0x00); // TODO: i.getAugmentId()
  2922.                  writeD(0x00); // TODO: i.getManaLeft()
  2923. +                writeH(0x00);
  2924. +                writeH(0x00);
  2925. +                writeH(0x00);
  2926. +                writeH(0x00);
  2927. +                writeH(0x00);
  2928. +                writeH(0x00);
  2929. +                writeH(0x00);
  2930. +                writeH(0x00);
  2931.              }
  2932.          }
  2933.      }
  2934. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetDelete.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetDelete.java
  2935. index ba45f42c..3266ebc4 100644
  2936. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetDelete.java
  2937. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetDelete.java
  2938. @@ -14,7 +14,7 @@ public PetDelete(int summonType, int objId)
  2939.      @Override
  2940.      protected final void writeImpl()
  2941.      {
  2942. -        writeC(0xb6);
  2943. +        writeC(0xb7);
  2944.          writeD(_summonType);
  2945.          writeD(_objId);
  2946.      }
  2947. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetInfo.java
  2948. index 0c27da73..d3e32795 100644
  2949. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetInfo.java
  2950. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetInfo.java
  2951. @@ -33,7 +33,7 @@ else if (_summon instanceof Servitor)
  2952.      @Override
  2953.      protected final void writeImpl()
  2954.      {
  2955. -        writeC(0xb1);
  2956. +        writeC(0xb2);
  2957.          writeD(_summon.getSummonType());
  2958.          writeD(_summon.getObjectId());
  2959.          writeD(_summon.getTemplate().getIdTemplate() + 1000000);
  2960. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetInventoryUpdate.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetInventoryUpdate.java
  2961. index 043b721b..91a58764 100644
  2962. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetInventoryUpdate.java
  2963. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetInventoryUpdate.java
  2964. @@ -60,7 +60,7 @@ public void addItems(List<ItemInstance> items)
  2965.      @Override
  2966.      protected final void writeImpl()
  2967.      {
  2968. -        writeC(0xb3);
  2969. +        writeC(0xb4);
  2970.          writeH(_items.size());
  2971.          
  2972.          for (ItemInfo temp : _items)
  2973. @@ -68,16 +68,34 @@ protected final void writeImpl()
  2974.              Item item = temp.getItem();
  2975.              
  2976.              writeH(temp.getChange().ordinal());
  2977. -            writeH(item.getType1());
  2978. +            //writeH(item.getType1());
  2979.              writeD(temp.getObjectId());
  2980.              writeD(item.getItemId());
  2981. -            writeD(temp.getCount());
  2982. +            writeD(0x00);
  2983. +            writeQ(temp.getCount());
  2984.              writeH(item.getType2());
  2985.              writeH(temp.getCustomType1());
  2986.              writeH(temp.getEquipped());
  2987.              writeD(item.getBodyPart());
  2988.              writeH(temp.getEnchant());
  2989.              writeH(temp.getCustomType2());
  2990. +            writeD(0x00);
  2991. +            writeD(0x00);
  2992. +            writeD(0x00);
  2993. +            
  2994. +            writeH(0x00);
  2995. +            writeH(0x00);
  2996. +            
  2997. +            writeH(0x00);
  2998. +            writeH(0x00);
  2999. +            writeH(0x00);
  3000. +            writeH(0x00);
  3001. +            writeH(0x00);
  3002. +            writeH(0x00);
  3003. +            
  3004. +            writeH(0x00);
  3005. +            writeH(0x00);
  3006. +            writeH(0x00);
  3007.          }
  3008.      }
  3009.  }
  3010. \ No newline at end of file
  3011. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetItemList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetItemList.java
  3012. index 055090dd..7381a8da 100644
  3013. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetItemList.java
  3014. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetItemList.java
  3015. @@ -18,7 +18,7 @@ public PetItemList(Pet character)
  3016.      @Override
  3017.      protected final void writeImpl()
  3018.      {
  3019. -        writeC(0xB2);
  3020. +        writeC(0xB3);
  3021.          writeH(_items.size());
  3022.          
  3023.          for (ItemInstance temp : _items)
  3024. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetStatusShow.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetStatusShow.java
  3025. index b9b1f8d0..f608c65a 100644
  3026. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetStatusShow.java
  3027. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetStatusShow.java
  3028. @@ -17,7 +17,7 @@ public PetStatusShow(Summon summon)
  3029.      @Override
  3030.      protected final void writeImpl()
  3031.      {
  3032. -        writeC(0xB0);
  3033. +        writeC(0xB1);
  3034.          writeD(_summonType);
  3035.      }
  3036.  }
  3037. \ No newline at end of file
  3038. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetStatusUpdate.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetStatusUpdate.java
  3039. index b7c906d0..eed18d58 100644
  3040. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetStatusUpdate.java
  3041. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PetStatusUpdate.java
  3042. @@ -32,7 +32,7 @@ else if (_summon instanceof Servitor)
  3043.      @Override
  3044.      protected final void writeImpl()
  3045.      {
  3046. -        writeC(0xb5);
  3047. +        writeC(0xb6);
  3048.          writeD(_summon.getSummonType());
  3049.          writeD(_summon.getObjectId());
  3050.          writeD(_summon.getX());
  3051. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PledgeStatusChanged.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PledgeStatusChanged.java
  3052. index 098a5c4c..fd94d2f9 100644
  3053. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PledgeStatusChanged.java
  3054. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PledgeStatusChanged.java
  3055. @@ -23,6 +23,12 @@ protected final void writeImpl()
  3056.          writeD(_clan.getCrestId());
  3057.          writeD(_clan.getAllyId());
  3058.          writeD(_clan.getAllyCrestId());
  3059. +        //writeD(0);
  3060. +        //writeD(_clan.getLevel());
  3061. +    //    writeD(_clan.getCrestId());
  3062. +    //    writeD(_clan.getAllyId());
  3063. +    //    writeD(_clan.getAllyCrestId());
  3064. +        //writeD(0);
  3065.          writeD(0);
  3066.          writeD(0);
  3067.      }
  3068. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreListBuy.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreListBuy.java
  3069. index a27d6c49..1c2db0d8 100644
  3070. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreListBuy.java
  3071. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreListBuy.java
  3072. @@ -23,26 +23,46 @@ public PrivateStoreListBuy(Player player, Player storePlayer)
  3073.      @Override
  3074.      protected final void writeImpl()
  3075.      {
  3076. -        writeC(0xb8);
  3077. +        writeC(0xbe);
  3078.          writeD(_storePlayer.getObjectId());
  3079. -        writeD(_playerAdena);
  3080. +        writeQ(_playerAdena);
  3081.          writeD(_items.size());
  3082.          
  3083.          for (TradeItem item : _items)
  3084.          {
  3085.              writeD(item.getObjectId());
  3086.              writeD(item.getItem().getItemId());
  3087. +            writeD(0x00);
  3088. +            //writeD(item.getItem().getBodyPart());
  3089. +            writeQ(item.getCount()); // give max possible sell amount
  3090. +            writeH(item.getItem().getType2());
  3091. +            writeH(0x00);
  3092. +            writeH(0x00);
  3093. +            writeD(item.getItem().getBodyPart());
  3094.              writeH(item.getEnchant());
  3095. -            writeD(item.getCount()); // give max possible sell amount
  3096. +            writeH(0x00);
  3097.              
  3098. -            writeD(item.getItem().getReferencePrice());
  3099. -            writeH(0);
  3100. +            writeD(0x00);
  3101. +            writeD(0x00);
  3102. +            writeD(0x00);
  3103.              
  3104. -            writeD(item.getItem().getBodyPart());
  3105. -            writeH(item.getItem().getType2());
  3106. -            writeD(item.getPrice());// buyers price
  3107. +            writeH(0x00);
  3108. +            writeH(0x00);
  3109. +            for (byte i = 0; i < 6; i++)
  3110. +            {
  3111. +                writeH(0x00);
  3112. +            }
  3113.              
  3114. -            writeD(item.getCount()); // maximum possible tradecount
  3115. +            writeH(0x00);
  3116. +            writeH(0x00);
  3117. +            writeH(0x00);
  3118. +            
  3119. +            writeD(item.getObjectId());
  3120. +            writeQ(item.getPrice());// buyers price
  3121. +            writeQ(item.getItem().getReferencePrice());
  3122. +            writeQ(item.getCount()); // maximum possible tradecount
  3123. +            
  3124. +
  3125.          }
  3126.      }
  3127.  }
  3128. \ No newline at end of file
  3129. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreListSell.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreListSell.java
  3130. index f4a7d0ef..36a4a701 100644
  3131. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreListSell.java
  3132. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreListSell.java
  3133. @@ -23,24 +23,44 @@ public PrivateStoreListSell(Player player, Player storePlayer)
  3134.      @Override
  3135.      protected final void writeImpl()
  3136.      {
  3137. -        writeC(0x9b);
  3138. +        writeC(0xa1);
  3139.          writeD(_storePlayer.getObjectId());
  3140.          writeD(_packageSale ? 1 : 0);
  3141. -        writeD(_playerAdena);
  3142. +        writeQ(_playerAdena);
  3143.          writeD(_items.size());
  3144.          
  3145.          for (TradeItem item : _items)
  3146.          {
  3147. -            writeD(item.getItem().getType2());
  3148.              writeD(item.getObjectId());
  3149.              writeD(item.getItem().getItemId());
  3150. -            writeD(item.getCount());
  3151. +            writeD(0x00);
  3152. +            //writeD(item.getItem().getBodyPart());
  3153. +            writeQ(item.getCount());
  3154. +            writeH(item.getItem().getType2());
  3155.              writeH(0x00);
  3156. -            writeH(item.getEnchant());
  3157.              writeH(0x00);
  3158.              writeD(item.getItem().getBodyPart());
  3159. -            writeD(item.getPrice()); // your price
  3160. -            writeD(item.getItem().getReferencePrice()); // store price
  3161. +            writeH(item.getEnchant());
  3162. +            writeH(0x00);
  3163. +            
  3164. +            writeD(0x00);
  3165. +            writeD(0x00);
  3166. +            writeD(0x00);
  3167. +            
  3168. +            writeH(0x00);
  3169. +            writeH(0x00);
  3170. +            for (byte i = 0; i < 6; i++)
  3171. +            {
  3172. +                writeH(0x00);
  3173. +            }
  3174. +            
  3175. +            writeH(0x00);
  3176. +            writeH(0x00);
  3177. +            writeH(0x00);
  3178. +            
  3179. +            writeQ(item.getPrice()); // your price
  3180. +            writeQ(item.getItem().getReferencePrice()); // store price
  3181. +
  3182.          }
  3183.      }
  3184.  }
  3185. \ No newline at end of file
  3186. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreManageListBuy.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreManageListBuy.java
  3187. index 7c021309..5c81f864 100644
  3188. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreManageListBuy.java
  3189. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreManageListBuy.java
  3190. @@ -17,41 +17,84 @@ public PrivateStoreManageListBuy(Player player)
  3191.      {
  3192.          _objId = player.getObjectId();
  3193.          _playerAdena = player.getAdena();
  3194. -        _itemList = player.getInventory().getUniqueItems(false, true);
  3195. +        _itemList = player.getInventory().getUniqueItems(false, true, true);
  3196.          _buyList = player.getBuyList().getItems();
  3197.      }
  3198.      
  3199.      @Override
  3200.      protected final void writeImpl()
  3201.      {
  3202. -        writeC(0xb7);
  3203. +        writeC(0xbd);
  3204.          writeD(_objId);
  3205. -        writeD(_playerAdena);
  3206. +        writeQ(_playerAdena);
  3207.          
  3208.          writeD(_itemList.length); // inventory items for potential buy
  3209.          for (ItemInstance item : _itemList)
  3210.          {
  3211. +            writeD(item.getObjectId());
  3212.              writeD(item.getItemId());
  3213. -            writeH(item.getEnchantLevel());
  3214. -            writeD(item.getCount());
  3215. -            writeD(item.getReferencePrice());
  3216. +            writeD(0x00);
  3217. +            //writeD(item.getItem().getBodyPart());
  3218. +            writeQ(item.getCount());
  3219. +            writeH(item.getItem().getType2());
  3220. +            writeH(0x00);
  3221.              writeH(0x00);
  3222.              writeD(item.getItem().getBodyPart());
  3223. -            writeH(item.getItem().getType2());
  3224. +            writeH(item.getEnchantLevel());
  3225. +            writeH(0x00);
  3226. +            
  3227. +            writeD(0x00);
  3228. +            writeD(0x00);
  3229. +            writeD(0x00);
  3230. +            
  3231. +            writeH(0x00);
  3232. +            writeH(0x00);
  3233. +            for (byte i = 0; i < 6; i++)
  3234. +            {
  3235. +                writeH(0x00);
  3236. +            }
  3237. +            
  3238. +            writeH(0x00);
  3239. +            writeH(0x00);
  3240. +            writeH(0x00);
  3241. +            
  3242. +            writeQ(item.getReferencePrice());
  3243. +            
  3244.          }
  3245.          
  3246.          writeD(_buyList.size()); // count for all items already added for buy
  3247.          for (TradeItem item : _buyList)
  3248.          {
  3249. +            writeD(item.getObjectId());
  3250.              writeD(item.getItem().getItemId());
  3251. -            writeH(item.getEnchant());
  3252. -            writeD(item.getCount());
  3253. -            writeD(item.getItem().getReferencePrice());
  3254. -            writeH(0x00);
  3255.              writeD(item.getItem().getBodyPart());
  3256. +            writeQ(item.getCount());
  3257. +        
  3258.              writeH(item.getItem().getType2());
  3259. -            writeD(item.getPrice());// your price
  3260. -            writeD(item.getItem().getReferencePrice());// fixed store price
  3261. +            writeH(0x00);
  3262. +            writeH(0x00);
  3263. +            writeD(item.getItem().getBodyPart());
  3264. +            writeH(item.getEnchant());
  3265. +            writeH(0x00);
  3266. +            
  3267. +            writeD(0x00);
  3268. +            writeD(0x00);
  3269. +            writeD(0x00);
  3270. +            
  3271. +            writeH(0x00);
  3272. +            writeH(0x00);
  3273. +            for (byte i = 0; i < 6; i++)
  3274. +            {
  3275. +                writeH(0x00);
  3276. +            }
  3277. +            
  3278. +            writeH(0x00);
  3279. +            writeH(0x00);
  3280. +            writeH(0x00);
  3281. +            
  3282. +            writeQ(item.getPrice());// your price
  3283. +            writeQ(item.getItem().getReferencePrice());// fixed store price
  3284. +            writeQ(item.getCount());
  3285.          }
  3286.      }
  3287.  }
  3288. \ No newline at end of file
  3289. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreManageListSell.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreManageListSell.java
  3290. index 592efbb9..5de3c1b8 100644
  3291. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreManageListSell.java
  3292. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreManageListSell.java
  3293. @@ -21,45 +21,86 @@ public PrivateStoreManageListSell(Player player, boolean isPackageSale)
  3294.          player.getSellList().updateItems();
  3295.          
  3296.          _packageSale = (player.getSellList().isPackaged()) ? true : isPackageSale;
  3297. -        _itemList = player.getInventory().getAvailableItems(player.getSellList());
  3298. +        _itemList = player.getInventory().getAvailableItems(player.getSellList(), false);
  3299.          _sellList = player.getSellList().getItems();
  3300.      }
  3301.      
  3302.      @Override
  3303.      protected final void writeImpl()
  3304.      {
  3305. -        writeC(0x9a);
  3306. +        writeC(0xa0);
  3307.          writeD(_objId);
  3308.          writeD(_packageSale ? 1 : 0);
  3309. -        writeD(_playerAdena);
  3310. +        writeQ(_playerAdena);
  3311.          
  3312.          writeD(_itemList.length);
  3313.          for (TradeItem item : _itemList)
  3314.          {
  3315. -            writeD(item.getItem().getType2());
  3316. +
  3317.              writeD(item.getObjectId());
  3318.              writeD(item.getItem().getItemId());
  3319. -            writeD(item.getCount());
  3320. +            writeD(0x00);
  3321. +            //writeD(item.getItem().getBodyPart());
  3322. +            writeQ(item.getCount());
  3323. +            writeH(item.getItem().getType2());
  3324.              writeH(0x00);
  3325. -            writeH(item.getEnchant());
  3326.              writeH(0x00);
  3327.              writeD(item.getItem().getBodyPart());
  3328. -            writeD(item.getPrice());
  3329. +            writeH(item.getEnchant());
  3330. +            writeH(0x00);
  3331. +            
  3332. +            writeD(0x00);
  3333. +            writeD(0x00);
  3334. +            writeD(0x00);
  3335. +            
  3336. +            
  3337. +            
  3338. +            writeH(0x00);
  3339. +            writeH(0x00);
  3340. +            for (byte i = 0; i < 6; i++)
  3341. +            {
  3342. +                writeH(0x00);
  3343. +            }
  3344. +            
  3345. +            writeH(0x00);
  3346. +            writeH(0x00);
  3347. +            writeH(0x00);
  3348. +            writeQ(item.getPrice());
  3349.          }
  3350.          
  3351.          writeD(_sellList.size());
  3352.          for (TradeItem item : _sellList)
  3353.          {
  3354. -            writeD(item.getItem().getType2());
  3355. +            
  3356.              writeD(item.getObjectId());
  3357.              writeD(item.getItem().getItemId());
  3358. -            writeD(item.getCount());
  3359. +            writeD(item.getItem().getBodyPart());
  3360. +            writeQ(item.getCount());
  3361. +            writeH(item.getItem().getType2());
  3362. +            writeH(0x00);//cust
  3363.              writeH(0x00);
  3364. +            writeD(item.getItem().getBodyPart());
  3365.              writeH(item.getEnchant());
  3366.              writeH(0x00);
  3367. -            writeD(item.getItem().getBodyPart());
  3368. -            writeD(item.getPrice());
  3369. -            writeD(item.getItem().getReferencePrice());
  3370. +            
  3371. +            writeD(0x00);
  3372. +            writeD(0x00);
  3373. +            writeD(0x00);
  3374. +
  3375. +            
  3376. +            writeH(0x00);
  3377. +            writeH(0x00);
  3378. +            for (byte i = 0; i < 6; i++)
  3379. +            {
  3380. +                writeH(0x00);
  3381. +            }
  3382. +            
  3383. +            writeH(0x00);
  3384. +            writeH(0x00);
  3385. +            writeH(0x00);
  3386. +            
  3387. +            writeQ(item.getPrice());
  3388. +            writeQ(item.getItem().getReferencePrice());
  3389.          }
  3390.      }
  3391.  }
  3392. \ No newline at end of file
  3393. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreMsgBuy.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreMsgBuy.java
  3394. index f38b8869..a608deb4 100644
  3395. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreMsgBuy.java
  3396. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreMsgBuy.java
  3397. @@ -17,7 +17,7 @@ public PrivateStoreMsgBuy(Player player)
  3398.      @Override
  3399.      protected final void writeImpl()
  3400.      {
  3401. -        writeC(0xb9);
  3402. +        writeC(0xbf);
  3403.          writeD(_activeChar.getObjectId());
  3404.          writeS(_storeMsg);
  3405.      }
  3406. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreMsgSell.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreMsgSell.java
  3407. index 0592cd22..79a9c3bf 100644
  3408. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreMsgSell.java
  3409. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/PrivateStoreMsgSell.java
  3410. @@ -17,7 +17,7 @@ public PrivateStoreMsgSell(Player player)
  3411.      @Override
  3412.      protected final void writeImpl()
  3413.      {
  3414. -        writeC(0x9c);
  3415. +        writeC(0xa2);
  3416.          writeD(_activeChar.getObjectId());
  3417.          writeS(_storeMsg);
  3418.      }
  3419. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeBookItemList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeBookItemList.java
  3420. index 62928806..d2eefff6 100644
  3421. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeBookItemList.java
  3422. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeBookItemList.java
  3423. @@ -21,7 +21,7 @@ public RecipeBookItemList(Player player, boolean isDwarven)
  3424.      @Override
  3425.      protected final void writeImpl()
  3426.      {
  3427. -        writeC(0xD6);
  3428. +        writeC(0xDc);
  3429.          
  3430.          writeD((_isDwarven) ? 0x00 : 0x01);
  3431.          writeD(_maxMp);
  3432. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeItemMakeInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeItemMakeInfo.java
  3433. index b4f30b38..2d49a66a 100644
  3434. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeItemMakeInfo.java
  3435. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeItemMakeInfo.java
  3436. @@ -30,7 +30,7 @@ protected final void writeImpl()
  3437.          Recipe recipe = RecipeData.getInstance().getRecipeList(_id);
  3438.          if (recipe != null)
  3439.          {
  3440. -            writeC(0xD7);
  3441. +            writeC(0xDD);
  3442.              
  3443.              writeD(_id);
  3444.              writeD((recipe.isDwarven()) ? 0 : 1);
  3445. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopItemInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopItemInfo.java
  3446. index 97a625fb..318788bc 100644
  3447. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopItemInfo.java
  3448. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopItemInfo.java
  3449. @@ -16,7 +16,7 @@ public RecipeShopItemInfo(Player player, int recipeId)
  3450.      @Override
  3451.      protected final void writeImpl()
  3452.      {
  3453. -        writeC(0xda);
  3454. +        writeC(0xe0);
  3455.          writeD(_player.getObjectId());
  3456.          writeD(_recipeId);
  3457.          writeD((int) _player.getCurrentMp());
  3458. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopManageList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopManageList.java
  3459. index e21e338b..d32e499f 100644
  3460. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopManageList.java
  3461. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopManageList.java
  3462. @@ -41,7 +41,7 @@ public RecipeShopManageList(Player seller, boolean isDwarven)
  3463.      @Override
  3464.      protected final void writeImpl()
  3465.      {
  3466. -        writeC(0xd8);
  3467. +        writeC(0xde);
  3468.          writeD(_seller.getObjectId());
  3469.          writeD(_seller.getAdena());
  3470.          writeD(_isDwarven ? 0x00 : 0x01);
  3471. @@ -71,7 +71,7 @@ protected final void writeImpl()
  3472.              {
  3473.                  writeD(item.getId());
  3474.                  writeD(0x00);
  3475. -                writeD(item.getValue());
  3476. +                writeQ(item.getValue());
  3477.              }
  3478.          }
  3479.      }
  3480. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopMsg.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopMsg.java
  3481. index 82bfefee..65f20ae3 100644
  3482. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopMsg.java
  3483. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopMsg.java
  3484. @@ -14,7 +14,7 @@ public RecipeShopMsg(Player player)
  3485.      @Override
  3486.      protected final void writeImpl()
  3487.      {
  3488. -        writeC(0xdb);
  3489. +        writeC(0xe1);
  3490.          writeD(_activeChar.getObjectId());
  3491.          writeS(_activeChar.getCreateList().getStoreName());
  3492.      }
  3493. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopSellList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopSellList.java
  3494. index ae36d28e..81e3d850 100644
  3495. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopSellList.java
  3496. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/RecipeShopSellList.java
  3497. @@ -23,11 +23,11 @@ protected final void writeImpl()
  3498.          final ManufactureList createList = _manufacturer.getCreateList();
  3499.          if (createList != null)
  3500.          {
  3501. -            writeC(0xd9);
  3502. +            writeC(0xdf);
  3503.              writeD(_manufacturer.getObjectId());
  3504.              writeD((int) _manufacturer.getCurrentMp());
  3505.              writeD(_manufacturer.getMaxMp());
  3506. -            writeD(_buyer.getAdena());
  3507. +            writeQ(_buyer.getAdena());
  3508.              
  3509.              final List<ManufactureItem> list = createList.getList();
  3510.              writeD(list.size());
  3511. @@ -36,7 +36,7 @@ protected final void writeImpl()
  3512.              {
  3513.                  writeD(item.getId());
  3514.                  writeD(0x00); // unknown
  3515. -                writeD(item.getValue());
  3516. +                writeQ(item.getValue());
  3517.              }
  3518.          }
  3519.      }
  3520. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/Ride.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/Ride.java
  3521. index ebb23891..d58f66ae 100644
  3522. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/Ride.java
  3523. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/Ride.java
  3524. @@ -1,35 +1,79 @@
  3525. +/*
  3526. + * This program is free software: you can redistribute it and/or modify it under
  3527. + * the terms of the GNU General Public License as published by the Free Software
  3528. + * Foundation, either version 3 of the License, or (at your option) any later
  3529. + * version.
  3530. + *
  3531. + * This program is distributed in the hope that it will be useful, but WITHOUT
  3532. + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  3533. + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
  3534. + * details.
  3535. + *
  3536. + * You should have received a copy of the GNU General Public License along with
  3537. + * this program. If not, see <http://www.gnu.org/licenses/>.
  3538. + */
  3539.  package com.l2jmega.gameserver.network.serverpackets;
  3540.  
  3541. -public class Ride extends L2GameServerPacket
  3542. +import com.l2jmega.gameserver.model.actor.instance.Player;
  3543. +
  3544. +public final class Ride extends L2GameServerPacket
  3545.  {
  3546. +    private static final String _S__8c_Ride = " 8c Ride";
  3547.      public static final int ACTION_MOUNT = 1;
  3548.      public static final int ACTION_DISMOUNT = 0;
  3549. -    
  3550.      private final int _id;
  3551.      private final int _bRide;
  3552. -    private int _rideType;
  3553. +    private final int _rideType;
  3554.      private final int _rideClassID;
  3555. +    private final int _x, _y, _z;
  3556.      
  3557. -    public Ride(int id, int action, int rideClassId)
  3558. +    public Ride(Player cha, boolean mount, int rideClassId)
  3559.      {
  3560. -        _id = id; // charobjectID
  3561. -        _bRide = action; // 1 for mount ; 2 for dismount
  3562. +        _id = cha.getObjectId();
  3563. +        _bRide = mount ? 1 : 0;
  3564.          _rideClassID = rideClassId + 1000000; // npcID
  3565.          
  3566. +        _x = cha.getX();
  3567. +        _y = cha.getY();
  3568. +        _z = cha.getZ();
  3569. +        
  3570.          switch (rideClassId)
  3571.          {
  3572. -            case 12526:
  3573. -            case 12527: // Striders
  3574. -            case 12528:
  3575. +            case 0: // dismount
  3576. +                _rideType = 0;
  3577. +                break;
  3578. +            case 12526: // Wind
  3579. +            case 12527: // Star
  3580. +            case 12528: // Twilight
  3581. +            case 16038: // red strider of wind
  3582. +            case 16039: // red strider of star
  3583. +            case 16040: // red strider of dusk
  3584.                  _rideType = 1;
  3585.                  break;
  3586. -            
  3587.              case 12621: // Wyvern
  3588.                  _rideType = 2;
  3589.                  break;
  3590. +            case 16037: // Great Snow Wolf
  3591. +            case 16041: // Fenrir Wolf
  3592. +            case 16042: // White Fenrir Wolf
  3593. +                _rideType = 3;
  3594. +                break;
  3595. +            case 13130: // Light Purple Maned Horse
  3596. +            case 13146: // Tawny-Maned Lion
  3597. +            case 13147: // Steam Sledge
  3598. +                _rideType = 4;
  3599. +                break;
  3600. +            default:
  3601. +                throw new IllegalArgumentException("Unsupported mount NpcId: " + rideClassId);
  3602.          }
  3603.      }
  3604.      
  3605. +    @Override
  3606. +    public void runImpl()
  3607. +    {
  3608. +        
  3609. +    }
  3610. +    
  3611.      public int getMountType()
  3612.      {
  3613.          return _rideType;
  3614. @@ -38,10 +82,22 @@ public int getMountType()
  3615.      @Override
  3616.      protected final void writeImpl()
  3617.      {
  3618. -        writeC(0x86);
  3619. +        writeC(0x8c);
  3620.          writeD(_id);
  3621.          writeD(_bRide);
  3622.          writeD(_rideType);
  3623.          writeD(_rideClassID);
  3624. +        writeD(_x);
  3625. +        writeD(_y);
  3626. +        writeD(_z);
  3627. +    }
  3628. +    
  3629. +    /* (non-Javadoc)
  3630. +     * @see com.l2jmega.gameserver.serverpackets.ServerBasePacket#getType()
  3631. +     */
  3632. +    @Override
  3633. +    public String getType()
  3634. +    {
  3635. +        return _S__8c_Ride;
  3636.      }
  3637. -}
  3638. \ No newline at end of file
  3639. +}
  3640. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SSQStatus.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SSQStatus.java
  3641. index 7a503737..99acad12 100644
  3642. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SSQStatus.java
  3643. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SSQStatus.java
  3644. @@ -28,7 +28,7 @@ protected final void writeImpl()
  3645.          final int totalDawnMembers = SevenSigns.getInstance().getTotalMembers(CabalType.DAWN);
  3646.          final int totalDuskMembers = SevenSigns.getInstance().getTotalMembers(CabalType.DUSK);
  3647.          
  3648. -        writeC(0xf5);
  3649. +        writeC(0xfb);
  3650.          
  3651.          writeC(_page);
  3652.          writeC(SevenSigns.getInstance().getCurrentPeriod().ordinal());
  3653. @@ -68,8 +68,8 @@ protected final void writeImpl()
  3654.                  writeC(SevenSigns.getInstance().getPlayerCabal(_objectId).ordinal());
  3655.                  writeC(SevenSigns.getInstance().getPlayerSeal(_objectId).ordinal());
  3656.                  
  3657. -                writeD(SevenSigns.getInstance().getPlayerStoneContrib(_objectId)); // Seal Stones Turned-In
  3658. -                writeD(SevenSigns.getInstance().getPlayerAdenaCollect(_objectId)); // Ancient Adena to Collect
  3659. +                writeQ(SevenSigns.getInstance().getPlayerStoneContrib(_objectId)); // Seal Stones Turned-In
  3660. +                writeQ(SevenSigns.getInstance().getPlayerAdenaCollect(_objectId)); // Ancient Adena to Collect
  3661.                  
  3662.                  double dawnStoneScore = SevenSigns.getInstance().getCurrentStoneScore(CabalType.DAWN);
  3663.                  int dawnFestivalScore = SevenSigns.getInstance().getCurrentFestivalScore(CabalType.DAWN);
  3664. @@ -103,16 +103,16 @@ protected final void writeImpl()
  3665.                  }
  3666.                  
  3667.                  /* DUSK */
  3668. -                writeD(duskStoneScoreProp); // Seal Stone Score
  3669. -                writeD(duskFestivalScore); // Festival Score
  3670. -                writeD(duskTotalScore); // Total Score
  3671. +                writeQ(duskStoneScoreProp); // Seal Stone Score
  3672. +                writeQ(duskFestivalScore); // Festival Score
  3673. +                writeQ(duskTotalScore); // Total Score
  3674.                  
  3675.                  writeC(duskPercent); // Dusk %
  3676.                  
  3677.                  /* DAWN */
  3678. -                writeD(dawnStoneScoreProp); // Seal Stone Score
  3679. -                writeD(dawnFestivalScore); // Festival Score
  3680. -                writeD(dawnTotalScore); // Total Score
  3681. +                writeQ(dawnStoneScoreProp); // Seal Stone Score
  3682. +                writeQ(dawnFestivalScore); // Festival Score
  3683. +                writeQ(dawnTotalScore); // Total Score
  3684.                  
  3685.                  writeC(dawnPercent); // Dawn %
  3686.                  break;
  3687. @@ -133,7 +133,7 @@ protected final void writeImpl()
  3688.                      int dawnScore = SevenSignsFestival.getInstance().getHighestScore(CabalType.DAWN, festivalId);
  3689.                      
  3690.                      // Dusk Score \\
  3691. -                    writeD(duskScore);
  3692. +                    writeQ(duskScore);
  3693.                      
  3694.                      StatsSet highScoreData = SevenSignsFestival.getInstance().getHighestScoreData(CabalType.DUSK, festivalId);
  3695.                      String[] partyMembers = highScoreData.getString("members").split(",");
  3696. @@ -151,7 +151,7 @@ protected final void writeImpl()
  3697.                      }
  3698.                      
  3699.                      // Dawn Score \\
  3700. -                    writeD(dawnScore);
  3701. +                    writeQ(dawnScore);
  3702.                      
  3703.                      highScoreData = SevenSignsFestival.getInstance().getHighestScoreData(CabalType.DAWN, festivalId);
  3704.                      partyMembers = highScoreData.getString("members").split(",");
  3705. @@ -239,30 +239,30 @@ protected final void writeImpl()
  3706.                              {
  3707.                                  case NORMAL:
  3708.                                      writeC(CabalType.NORMAL.ordinal());
  3709. -                                    writeH(SystemMessageId.COMPETITION_TIE_SEAL_NOT_AWARDED.getId());
  3710. +                                    writeD(SystemMessageId.COMPETITION_TIE_SEAL_NOT_AWARDED.getId());
  3711.                                      break;
  3712.                                  case DAWN:
  3713.                                      if (dawnPercent >= 35)
  3714.                                      {
  3715.                                          writeC(CabalType.DAWN.ordinal());
  3716. -                                        writeH(SystemMessageId.SEAL_NOT_OWNED_35_MORE_VOTED.getId());
  3717. +                                        writeD(SystemMessageId.SEAL_NOT_OWNED_35_MORE_VOTED.getId());
  3718.                                      }
  3719.                                      else
  3720.                                      {
  3721.                                          writeC(CabalType.NORMAL.ordinal());
  3722. -                                        writeH(SystemMessageId.SEAL_NOT_OWNED_35_LESS_VOTED.getId());
  3723. +                                        writeD(SystemMessageId.SEAL_NOT_OWNED_35_LESS_VOTED.getId());
  3724.                                      }
  3725.                                      break;
  3726.                                  case DUSK:
  3727.                                      if (duskPercent >= 35)
  3728.                                      {
  3729.                                          writeC(CabalType.DUSK.ordinal());
  3730. -                                        writeH(SystemMessageId.SEAL_NOT_OWNED_35_MORE_VOTED.getId());
  3731. +                                        writeD(SystemMessageId.SEAL_NOT_OWNED_35_MORE_VOTED.getId());
  3732.                                      }
  3733.                                      else
  3734.                                      {
  3735.                                          writeC(CabalType.NORMAL.ordinal());
  3736. -                                        writeH(SystemMessageId.SEAL_NOT_OWNED_35_LESS_VOTED.getId());
  3737. +                                        writeD(SystemMessageId.SEAL_NOT_OWNED_35_LESS_VOTED.getId());
  3738.                                      }
  3739.                                      break;
  3740.                              }
  3741. @@ -275,12 +275,12 @@ protected final void writeImpl()
  3742.                                      if (dawnPercent >= 10)
  3743.                                      {
  3744.                                          writeC(CabalType.DAWN.ordinal());
  3745. -                                        writeH(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3746. +                                        writeD(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3747.                                      }
  3748.                                      else
  3749.                                      {
  3750.                                          writeC(CabalType.NORMAL.ordinal());
  3751. -                                        writeH(SystemMessageId.COMPETITION_TIE_SEAL_NOT_AWARDED.getId());
  3752. +                                        writeD(SystemMessageId.COMPETITION_TIE_SEAL_NOT_AWARDED.getId());
  3753.                                      }
  3754.                                      break;
  3755.                                  
  3756. @@ -288,12 +288,12 @@ protected final void writeImpl()
  3757.                                      if (dawnPercent >= 10)
  3758.                                      {
  3759.                                          writeC(sealOwner.ordinal());
  3760. -                                        writeH(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3761. +                                        writeD(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3762.                                      }
  3763.                                      else
  3764.                                      {
  3765.                                          writeC(CabalType.NORMAL.ordinal());
  3766. -                                        writeH(SystemMessageId.SEAL_OWNED_10_LESS_VOTED.getId());
  3767. +                                        writeD(SystemMessageId.SEAL_OWNED_10_LESS_VOTED.getId());
  3768.                                      }
  3769.                                      break;
  3770.                                  
  3771. @@ -301,17 +301,17 @@ protected final void writeImpl()
  3772.                                      if (duskPercent >= 35)
  3773.                                      {
  3774.                                          writeC(CabalType.DUSK.ordinal());
  3775. -                                        writeH(SystemMessageId.SEAL_NOT_OWNED_35_MORE_VOTED.getId());
  3776. +                                        writeD(SystemMessageId.SEAL_NOT_OWNED_35_MORE_VOTED.getId());
  3777.                                      }
  3778.                                      else if (dawnPercent >= 10)
  3779.                                      {
  3780.                                          writeC(CabalType.DAWN.ordinal());
  3781. -                                        writeH(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3782. +                                        writeD(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3783.                                      }
  3784.                                      else
  3785.                                      {
  3786.                                          writeC(CabalType.NORMAL.ordinal());
  3787. -                                        writeH(SystemMessageId.SEAL_OWNED_10_LESS_VOTED.getId());
  3788. +                                        writeD(SystemMessageId.SEAL_OWNED_10_LESS_VOTED.getId());
  3789.                                      }
  3790.                                      break;
  3791.                              }
  3792. @@ -324,12 +324,12 @@ else if (dawnPercent >= 10)
  3793.                                      if (duskPercent >= 10)
  3794.                                      {
  3795.                                          writeC(CabalType.DUSK.ordinal());
  3796. -                                        writeH(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3797. +                                        writeD(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3798.                                      }
  3799.                                      else
  3800.                                      {
  3801.                                          writeC(CabalType.NORMAL.ordinal());
  3802. -                                        writeH(SystemMessageId.COMPETITION_TIE_SEAL_NOT_AWARDED.getId());
  3803. +                                        writeD(SystemMessageId.COMPETITION_TIE_SEAL_NOT_AWARDED.getId());
  3804.                                      }
  3805.                                      break;
  3806.                                  
  3807. @@ -337,17 +337,17 @@ else if (dawnPercent >= 10)
  3808.                                      if (dawnPercent >= 35)
  3809.                                      {
  3810.                                          writeC(CabalType.DAWN.ordinal());
  3811. -                                        writeH(SystemMessageId.SEAL_NOT_OWNED_35_MORE_VOTED.getId());
  3812. +                                        writeD(SystemMessageId.SEAL_NOT_OWNED_35_MORE_VOTED.getId());
  3813.                                      }
  3814.                                      else if (duskPercent >= 10)
  3815.                                      {
  3816.                                          writeC(sealOwner.ordinal());
  3817. -                                        writeH(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3818. +                                        writeD(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3819.                                      }
  3820.                                      else
  3821.                                      {
  3822.                                          writeC(CabalType.NORMAL.ordinal());
  3823. -                                        writeH(SystemMessageId.SEAL_OWNED_10_LESS_VOTED.getId());
  3824. +                                        writeD(SystemMessageId.SEAL_OWNED_10_LESS_VOTED.getId());
  3825.                                      }
  3826.                                      break;
  3827.                                  
  3828. @@ -355,12 +355,12 @@ else if (duskPercent >= 10)
  3829.                                      if (duskPercent >= 10)
  3830.                                      {
  3831.                                          writeC(sealOwner.ordinal());
  3832. -                                        writeH(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3833. +                                        writeD(SystemMessageId.SEAL_OWNED_10_MORE_VOTED.getId());
  3834.                                      }
  3835.                                      else
  3836.                                      {
  3837.                                          writeC(CabalType.NORMAL.ordinal());
  3838. -                                        writeH(SystemMessageId.SEAL_OWNED_10_LESS_VOTED.getId());
  3839. +                                        writeD(SystemMessageId.SEAL_OWNED_10_LESS_VOTED.getId());
  3840.                                      }
  3841.                                      break;
  3842.                              }
  3843. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SellList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SellList.java
  3844. index 1133799b..993cae75 100644
  3845. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SellList.java
  3846. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SellList.java
  3847. @@ -18,24 +18,42 @@ public SellList(int adena, List<ItemInstance> items)
  3848.      @Override
  3849.      protected final void writeImpl()
  3850.      {
  3851. -        writeC(0x10);
  3852. -        writeD(_money);
  3853. -        writeD(0x00);
  3854. +        writeC(0xFE);
  3855. +        writeH(0xB7);
  3856. +        writeD(0x01);
  3857.          writeH(_items.size());
  3858.          
  3859.          for (ItemInstance item : _items)
  3860.          {
  3861. -            writeH(item.getItem().getType1());
  3862. -            writeD(item.getObjectId());
  3863. -            writeD(item.getItemId());
  3864. -            writeD(item.getCount());
  3865. -            writeH(item.getItem().getType2());
  3866. -            writeH(item.getCustomType1());
  3867. -            writeD(item.getItem().getBodyPart());
  3868. -            writeH(item.getEnchantLevel());
  3869. -            writeH(item.getCustomType2());
  3870. -            writeH(0x00);
  3871. -            writeD(item.getItem().getReferencePrice() / 2);
  3872. +                writeD(item.getObjectId());
  3873. +                writeD(item.getItemId());
  3874. +                writeD(item.getItem().getBodyPart());
  3875. +                writeQ((item.getCount() < 0) ? 0 : item.getCount());
  3876. +                writeH(item.getItem().getType2());
  3877. +                writeH(0x00);
  3878. +                writeH(0x00);
  3879. +                writeD(item.getItem().getBodyPart());
  3880. +                writeH(0x00);
  3881. +                writeH(0x00);
  3882. +                
  3883. +                writeD(0x00);
  3884. +                writeD(-1);
  3885. +                writeD(-9999);
  3886. +
  3887. +                writeH(0x00);
  3888. +                writeH(0x00);
  3889. +                for (byte i = 0; i < 6; i++)
  3890. +                {
  3891. +                    writeH(0x00);
  3892. +                }
  3893. +                
  3894. +                                // Enchant Effects
  3895. +                writeH(0x00);
  3896. +                writeH(0x00);
  3897. +                writeH(0x00);
  3898. +                writeQ(item.getItem().getReferencePrice() / 2);
  3899.          }
  3900. +        writeH(0x00);
  3901. +        writeC(0x01);
  3902.      }
  3903.  }
  3904. \ No newline at end of file
  3905. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SellListProcure.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SellListProcure.java
  3906. index 697786ac..40ca933d 100644
  3907. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SellListProcure.java
  3908. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SellListProcure.java
  3909. @@ -30,8 +30,8 @@ public SellListProcure(Player player, int castleId)
  3910.      @Override
  3911.      protected final void writeImpl()
  3912.      {
  3913. -        writeC(0xE9);
  3914. -        writeD(_money);
  3915. +        writeC(0xEF);
  3916. +        writeQ(_money);
  3917.          writeD(0x00);
  3918.          writeH(_sellList.size());
  3919.          
  3920. @@ -42,10 +42,10 @@ protected final void writeImpl()
  3921.              writeH(item.getItem().getType1());
  3922.              writeD(item.getObjectId());
  3923.              writeD(item.getItemId());
  3924. -            writeD(itemEntry.getValue());
  3925. +            writeQ(itemEntry.getValue());
  3926.              writeH(item.getItem().getType2());
  3927.              writeH(0);
  3928. -            writeD(0);
  3929. +            writeQ(0);
  3930.          }
  3931.      }
  3932.  }
  3933. \ No newline at end of file
  3934. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SendTradeDone.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SendTradeDone.java
  3935. index 79c4ecc9..9d18e4f2 100644
  3936. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SendTradeDone.java
  3937. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SendTradeDone.java
  3938. @@ -12,7 +12,7 @@ public SendTradeDone(int num)
  3939.      @Override
  3940.      protected final void writeImpl()
  3941.      {
  3942. -        writeC(0x22);
  3943. +        writeC(0x1c);
  3944.          writeD(_num);
  3945.      }
  3946.  }
  3947. \ No newline at end of file
  3948. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SendTradeRequest.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SendTradeRequest.java
  3949. index 1ae4bb5a..ea49b57b 100644
  3950. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SendTradeRequest.java
  3951. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SendTradeRequest.java
  3952. @@ -12,7 +12,7 @@ public SendTradeRequest(int senderID)
  3953.      @Override
  3954.      protected final void writeImpl()
  3955.      {
  3956. -        writeC(0x5e);
  3957. +        writeC(0x70);
  3958.          writeD(_senderID);
  3959.      }
  3960.  }
  3961. \ No newline at end of file
  3962. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShopPreviewInfo.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShopPreviewInfo.java
  3963. index 0135758e..7280892a 100644
  3964. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShopPreviewInfo.java
  3965. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShopPreviewInfo.java
  3966. @@ -22,14 +22,18 @@ public ShopPreviewInfo(Map<Integer, Integer> itemlist)
  3967.      @Override
  3968.      protected final void writeImpl()
  3969.      {
  3970. -        writeC(0xf0);
  3971. -        writeD(Inventory.PAPERDOLL_TOTALSLOTS);
  3972. +        writeC(0xf6);
  3973. +        writeD(29); //totalslots
  3974. +        //writeD(Inventory.PAPERDOLL_TOTALSLOTS);
  3975.          // Slots
  3976. +        writeD(0x00); //under
  3977.          writeD(getFromList(Inventory.PAPERDOLL_REAR)); // unverified
  3978.          writeD(getFromList(Inventory.PAPERDOLL_LEAR)); // unverified
  3979. +        //writeD(0x00); //lrear
  3980.          writeD(getFromList(Inventory.PAPERDOLL_NECK)); // unverified
  3981.          writeD(getFromList(Inventory.PAPERDOLL_RFINGER)); // unverified
  3982.          writeD(getFromList(Inventory.PAPERDOLL_LFINGER)); // unverified
  3983. +    //    writeD(0x00); //lrfinger
  3984.          writeD(getFromList(Inventory.PAPERDOLL_HEAD)); // unverified
  3985.          writeD(getFromList(Inventory.PAPERDOLL_RHAND)); // good
  3986.          writeD(getFromList(Inventory.PAPERDOLL_LHAND)); // good
  3987. @@ -38,10 +42,23 @@ protected final void writeImpl()
  3988.          writeD(getFromList(Inventory.PAPERDOLL_LEGS)); // good
  3989.          writeD(getFromList(Inventory.PAPERDOLL_FEET)); // good
  3990.          writeD(getFromList(Inventory.PAPERDOLL_BACK)); // unverified
  3991. +        writeD(getFromList(Inventory.PAPERDOLL_RHAND)); //lrhand
  3992. +        writeD(0x00); //fullarmor
  3993.          writeD(getFromList(Inventory.PAPERDOLL_FACE)); // unverified
  3994. +        writeD(0x00); //alldress
  3995.          writeD(getFromList(Inventory.PAPERDOLL_HAIR)); // unverified
  3996.          writeD(getFromList(Inventory.PAPERDOLL_HAIRALL)); // unverified
  3997. -        writeD(getFromList(Inventory.PAPERDOLL_UNDER)); // unverified
  3998. +        writeD(0x00); //rbracelet
  3999. +        writeD(0x00); //lbracelet
  4000. +        writeD(0x00); //decos
  4001. +        writeD(0x00);
  4002. +        writeD(0x00);
  4003. +        writeD(0x00);
  4004. +        writeD(0x00);
  4005. +        writeD(0x00);
  4006. +        writeD(0x00);//belt
  4007. +        writeD(0x00);
  4008. +        //writeD(getFromList(Inventory.PAPERDOLL_UNDER)); // unverified
  4009.      }
  4010.      
  4011.      private int getFromList(int key)
  4012. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShopPreviewList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShopPreviewList.java
  4013. index d2b83c63..9e003f31 100644
  4014. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShopPreviewList.java
  4015. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShopPreviewList.java
  4016. @@ -25,12 +25,12 @@ public ShopPreviewList(NpcBuyList list, int currentMoney, int expertiseIndex)
  4017.      @Override
  4018.      protected final void writeImpl()
  4019.      {
  4020. -        writeC(0xef);
  4021. +        writeC(0xf5);
  4022.          writeC(0xc0); // ?
  4023.          writeC(0x13); // ?
  4024.          writeC(0x00); // ?
  4025.          writeC(0x00); // ?
  4026. -        writeD(_money); // current money
  4027. +        writeQ(_money); // current money
  4028.          writeD(_listId);
  4029.          
  4030.          int newlength = 0;
  4031. @@ -49,11 +49,12 @@ protected final void writeImpl()
  4032.                  writeH(product.getItem().getType2()); // item type2
  4033.                  
  4034.                  if (product.getItem().getType1() != Item.TYPE1_ITEM_QUESTITEM_ADENA)
  4035. +                    //writeH(product.getItem().getBodyPart()); // slot
  4036.                      writeH(product.getItem().getBodyPart()); // slot
  4037.                  else
  4038.                      writeH(0x00); // slot
  4039.                      
  4040. -                writeD(Config.WEAR_PRICE);
  4041. +                writeQ(Config.WEAR_PRICE);
  4042.              }
  4043.          }
  4044.      }
  4045. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShortCutInit.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShortCutInit.java
  4046. index a70c433e..16cde98c 100644
  4047. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShortCutInit.java
  4048. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/ShortCutInit.java
  4049. @@ -32,51 +32,14 @@ protected final void writeImpl()
  4050.              {
  4051.                  case L2ShortCut.TYPE_ITEM: // 1
  4052.                      writeD(sc.getId());
  4053. -                    writeD(sc.getCharacterType());
  4054. -                    writeD(sc.getSharedReuseGroup());
  4055. -                    
  4056. -                    if (sc.getSharedReuseGroup() < 0)
  4057. -                    {
  4058. -                        writeD(0x00); // Remaining time
  4059. -                        writeD(0x00); // Cooldown time
  4060. -                    }
  4061. -                    else
  4062. -                    {
  4063. -                        final ItemInstance item = _activeChar.getInventory().getItemByObjectId(sc.getId());
  4064. -                        if (item == null || !item.isEtcItem())
  4065. -                        {
  4066. -                            writeD(0x00); // Remaining time
  4067. -                            writeD(0x00); // Cooldown time
  4068. -                        }
  4069. -                        else
  4070. -                        {
  4071. -                            final IntIntHolder[] skills = item.getEtcItem().getSkills();
  4072. -                            if (skills == null)
  4073. -                            {
  4074. -                                writeD(0x00); // Remaining time
  4075. -                                writeD(0x00); // Cooldown time
  4076. -                            }
  4077. -                            else
  4078. -                            {
  4079. -                                for (IntIntHolder skillInfo : skills)
  4080. -                                {
  4081. -                                    final L2Skill itemSkill = skillInfo.getSkill();
  4082. -                                    if (_activeChar.getReuseTimeStamp().containsKey(itemSkill.getReuseHashCode()))
  4083. -                                    {
  4084. -                                        writeD((int) (_activeChar.getReuseTimeStamp().get(itemSkill.getReuseHashCode()).getRemaining() / 1000L));
  4085. -                                        writeD((int) (itemSkill.getReuseDelay() / 1000L));
  4086. -                                    }
  4087. -                                    else
  4088. -                                    {
  4089. -                                        writeD(0x00); // Remaining time
  4090. -                                        writeD(0x00); // Cooldown time
  4091. -                                    }
  4092. -                                }
  4093. -                            }
  4094. -                        }
  4095. -                    }
  4096. -                    
  4097. -                    writeD(0x00); // Augmentation
  4098. +                    writeD(0x01);
  4099. +                    writeD(-1);
  4100. +                    writeD(0x00);
  4101. +                    writeD(0x00);
  4102. +                    writeH(0x00);
  4103. +                    writeH(0x00);
  4104. +                    //writeD(sc.getCharacterType());
  4105. +                    //writeD(sc.getSharedReuseGroup());
  4106.                      break;
  4107.                  
  4108.                  case L2ShortCut.TYPE_SKILL: // 2
  4109. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SystemMessage.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SystemMessage.java
  4110. index 5615ae9d..1408fba9 100644
  4111. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SystemMessage.java
  4112. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/SystemMessage.java
  4113. @@ -111,6 +111,11 @@ public final SystemMessage addItemNumber(final int number)
  4114.          append(new SMParam(TYPE_ITEM_NUMBER, number));
  4115.          return this;
  4116.      }
  4117. +    public final SystemMessage addItemNumberL(final long number)
  4118. +    {
  4119. +        append(new SMParam(TYPE_ITEM_NUMBER, number));
  4120. +        return this;
  4121. +    }
  4122.      
  4123.      public final SystemMessage addCharName(final Creature cha)
  4124.      {
  4125. @@ -168,7 +173,7 @@ public final SystemMessageId getSystemMessageId()
  4126.      @Override
  4127.      protected final void writeImpl()
  4128.      {
  4129. -        writeC(0x64);
  4130. +        writeC(0x62);
  4131.          
  4132.          writeD(_smId.getId());
  4133.          writeD(_paramIndex);
  4134. @@ -186,6 +191,9 @@ protected final void writeImpl()
  4135.                      break;
  4136.                  
  4137.                  case TYPE_ITEM_NUMBER:
  4138. +                writeQ((Integer) param.getObject());
  4139. +                break;
  4140. +                
  4141.                  case TYPE_ITEM_NAME:
  4142.                  case TYPE_CASTLE_NAME:
  4143.                  case TYPE_NUMBER:
  4144. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeItemUpdate.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeItemUpdate.java
  4145. index c2af70db..2f0c47c0 100644
  4146. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeItemUpdate.java
  4147. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeItemUpdate.java
  4148. @@ -1,22 +1,20 @@
  4149.  package com.l2jmega.gameserver.network.serverpackets;
  4150.  
  4151. -import java.util.List;
  4152.  import java.util.Set;
  4153.  
  4154.  import com.l2jmega.gameserver.model.actor.instance.Player;
  4155.  import com.l2jmega.gameserver.model.item.instance.ItemInstance;
  4156.  import com.l2jmega.gameserver.model.tradelist.TradeItem;
  4157. -import com.l2jmega.gameserver.model.tradelist.TradeList;
  4158.  
  4159.  public class TradeItemUpdate extends L2GameServerPacket
  4160.  {
  4161.      private final Set<ItemInstance> _items;
  4162. -    private final List<TradeItem> _currentTrade;
  4163. +    private final TradeItem _item;
  4164.      
  4165. -    public TradeItemUpdate(TradeList trade, Player activeChar)
  4166. +    public TradeItemUpdate(TradeItem item, Player activeChar)
  4167.      {
  4168.          _items = activeChar.getInventory().getItems();
  4169. -        _currentTrade = trade.getItems();
  4170. +        _item = item;
  4171.      }
  4172.      
  4173.      private int getItemCount(int objectId)
  4174. @@ -31,31 +29,28 @@ private int getItemCount(int objectId)
  4175.      @Override
  4176.      protected final void writeImpl()
  4177.      {
  4178. -        writeC(0x74);
  4179. -        writeH(_currentTrade.size());
  4180. -        
  4181. -        for (TradeItem item : _currentTrade)
  4182. +        writeC(0x81);
  4183. +        writeH(1);
  4184. +
  4185. +        int availableCount = getItemCount(_item.getObjectId()) - _item.getCount();
  4186. +        boolean stackable = _item.getItem().isStackable();
  4187. +
  4188. +        if (availableCount == 0)
  4189.          {
  4190. -            int availableCount = getItemCount(item.getObjectId()) - item.getCount();
  4191. -            boolean stackable = item.getItem().isStackable();
  4192. -            
  4193. -            if (availableCount == 0)
  4194. -            {
  4195. -                availableCount = 1;
  4196. -                stackable = false;
  4197. -            }
  4198. -            
  4199. +            availableCount = 1;
  4200. +            stackable = false;
  4201. +        }
  4202. +
  4203.              writeH(stackable ? 3 : 2);
  4204. -            writeH(item.getItem().getType1());
  4205. -            writeD(item.getObjectId());
  4206. -            writeD(item.getItem().getItemId());
  4207. -            writeD(availableCount);
  4208. -            writeH(item.getItem().getType2());
  4209. +            writeH(_item.getItem().getType1());
  4210. +            writeD(_item.getObjectId());
  4211. +            writeD(_item.getItem().getItemId());
  4212. +            writeQ(availableCount);
  4213. +            writeH(_item.getItem().getType2());
  4214.              writeH(0x00);
  4215. -            writeD(item.getItem().getBodyPart());
  4216. -            writeH(item.getEnchant());
  4217. +            writeQ(_item.getItem().getBodyPart());
  4218. +            writeH(_item.getEnchant());
  4219.              writeH(0x00);
  4220.              writeH(0x00);
  4221. -        }
  4222.      }
  4223.  }
  4224. \ No newline at end of file
  4225. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeOtherAdd.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeOtherAdd.java
  4226. index eb4d1550..8dbdff19 100644
  4227. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeOtherAdd.java
  4228. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeOtherAdd.java
  4229. @@ -17,14 +17,14 @@ public TradeOtherAdd(TradeItem item)
  4230.      @Override
  4231.      protected final void writeImpl()
  4232.      {
  4233. -        writeC(0x21);
  4234. +        writeC(0x1b);
  4235.          
  4236.          writeH(1); // item count
  4237.          
  4238.          writeH(_item.getItem().getType1()); // item type1
  4239.          writeD(_item.getObjectId());
  4240.          writeD(_item.getItem().getItemId());
  4241. -        writeD(_item.getCount());
  4242. +        writeQ(_item.getCount());
  4243.          writeH(_item.getItem().getType2()); // item type2
  4244.          writeH(0x00); // ?
  4245.          
  4246. @@ -32,5 +32,14 @@ protected final void writeImpl()
  4247.          writeH(_item.getEnchant()); // enchant level
  4248.          writeH(0x00); // ?
  4249.          writeH(0x00);
  4250. +        //t1
  4251. +        writeH(0x00);
  4252. +        writeH(0x00);
  4253. +        writeH(0x00);
  4254. +        writeH(0x00);
  4255. +        writeH(0x00);
  4256. +        writeH(0x00);
  4257. +        writeH(0x00);
  4258. +        writeH(0x00);
  4259.      }
  4260.  }
  4261. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeOwnAdd.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeOwnAdd.java
  4262. index 7c46dc3e..04ecf3ae 100644
  4263. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeOwnAdd.java
  4264. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeOwnAdd.java
  4265. @@ -14,14 +14,14 @@ public TradeOwnAdd(TradeItem item)
  4266.      @Override
  4267.      protected final void writeImpl()
  4268.      {
  4269. -        writeC(0x20);
  4270. +        writeC(0x1a);
  4271.          
  4272.          writeH(1); // item count
  4273.          
  4274.          writeH(_item.getItem().getType1());
  4275.          writeD(_item.getObjectId());
  4276.          writeD(_item.getItem().getItemId());
  4277. -        writeD(_item.getCount());
  4278. +        writeQ(_item.getCount());
  4279.          writeH(_item.getItem().getType2());
  4280.          writeH(0x00); // ?
  4281.          
  4282. @@ -29,5 +29,14 @@ protected final void writeImpl()
  4283.          writeH(_item.getEnchant());
  4284.          writeH(0x00); // ?
  4285.          writeH(0x00);
  4286. +        //t1
  4287. +        writeH(0x00);
  4288. +        writeH(0x00);
  4289. +        writeH(0x00);
  4290. +        writeH(0x00);
  4291. +        writeH(0x00);
  4292. +        writeH(0x00);
  4293. +        writeH(0x00);
  4294. +        writeH(0x00);
  4295.      }
  4296.  }
  4297. \ No newline at end of file
  4298. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradePressOtherOk.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradePressOtherOk.java
  4299. index b6e3e9da..7dff791c 100644
  4300. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradePressOtherOk.java
  4301. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradePressOtherOk.java
  4302. @@ -11,6 +11,6 @@ private TradePressOtherOk()
  4303.      @Override
  4304.      protected void writeImpl()
  4305.      {
  4306. -        writeC(0x7c);
  4307. +        writeC(0x82);
  4308.      }
  4309.  }
  4310. \ No newline at end of file
  4311. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradePressOwnOk.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradePressOwnOk.java
  4312. index 17e34c05..7fde7165 100644
  4313. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradePressOwnOk.java
  4314. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradePressOwnOk.java
  4315. @@ -11,6 +11,6 @@ private TradePressOwnOk()
  4316.      @Override
  4317.      protected void writeImpl()
  4318.      {
  4319. -        writeC(0x75);
  4320. +        writeC(0x53);
  4321.      }
  4322.  }
  4323. \ No newline at end of file
  4324. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeStart.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeStart.java
  4325. index 20969d83..3b298099 100644
  4326. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeStart.java
  4327. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/TradeStart.java
  4328. @@ -11,11 +11,12 @@ public class TradeStart extends L2GameServerPacket
  4329.  {
  4330.      private final Player _activeChar;
  4331.      private final ItemInstance[] _itemList;
  4332. +    //private long qcount;
  4333.      
  4334.      public TradeStart(Player player)
  4335.      {
  4336.          _activeChar = player;
  4337. -        _itemList = player.getInventory().getAvailableItems(true, false);
  4338. +        _itemList = player.getInventory().getAvailableItems(true, false, false);
  4339.      }
  4340.      
  4341.      @Override
  4342. @@ -24,7 +25,7 @@ protected final void writeImpl()
  4343.          if (_activeChar.getActiveTradeList() == null || _activeChar.getActiveTradeList().getPartner() == null)
  4344.              return;
  4345.          
  4346. -        writeC(0x1E);
  4347. +        writeC(0x14);
  4348.          writeD(_activeChar.getActiveTradeList().getPartner().getObjectId());
  4349.          writeH(_itemList.length);
  4350.          
  4351. @@ -35,16 +36,32 @@ protected final void writeImpl()
  4352.              
  4353.              Item item = temp.getItem();
  4354.              
  4355. -            writeH(item.getType1());
  4356.              writeD(temp.getObjectId());
  4357.              writeD(temp.getItemId());
  4358. -            writeD(temp.getCount());
  4359. +            writeD(0x00);
  4360. +            //writeD(item.getBodyPart());
  4361. +            writeQ(temp.getCount());
  4362.              writeH(item.getType2());
  4363. -            writeH(temp.getCustomType1());
  4364. +            writeH(0x00);
  4365. +            writeH(0x00);
  4366.              writeD(item.getBodyPart());
  4367.              writeH(temp.getEnchantLevel());
  4368.              writeH(temp.getCustomType2());
  4369. +            
  4370. +            writeD(0x00);    // Augment
  4371. +            writeD(-1);        // Mana
  4372. +            writeD(-9999);    // Time
  4373. +            writeH(0x00);
  4374.              writeH(0x00);
  4375. +            for (byte i = 0; i < 6; i++)
  4376. +            {
  4377. +                writeH(0x00);
  4378. +            }
  4379. +            // Enchant Effects
  4380. +            writeH(0x00);
  4381. +            writeH(0x00);
  4382. +            writeH(0x00);
  4383. +        
  4384.          }
  4385.      }
  4386.  }
  4387. \ No newline at end of file
  4388. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/WarehouseDepositList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/WarehouseDepositList.java
  4389. index 43395b4c..8eb20763 100644
  4390. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/WarehouseDepositList.java
  4391. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/WarehouseDepositList.java
  4392. @@ -25,7 +25,7 @@ public WarehouseDepositList(Player player, int type)
  4393.          _items = new ArrayList<>();
  4394.          
  4395.          final boolean isPrivate = _whType == PRIVATE;
  4396. -        for (ItemInstance temp : player.getInventory().getAvailableItems(true, isPrivate))
  4397. +        for (ItemInstance temp : player.getInventory().getAvailableItems(true, isPrivate, false))
  4398.          {
  4399.              if (temp != null && temp.isDepositable(isPrivate))
  4400.                  _items.add(temp);
  4401. @@ -37,7 +37,7 @@ protected final void writeImpl()
  4402.      {
  4403.          writeC(0x41);
  4404.          writeH(_whType);
  4405. -        writeD(_playerAdena);
  4406. +        writeQ(_playerAdena);
  4407.          writeH(_items.size());
  4408.          
  4409.          for (ItemInstance temp : _items)
  4410. @@ -47,24 +47,42 @@ protected final void writeImpl()
  4411.              
  4412.              Item item = temp.getItem();
  4413.              
  4414. -            writeH(item.getType1());
  4415. +            //writeH(item.getType1());
  4416.              writeD(temp.getObjectId());
  4417.              writeD(temp.getItemId());
  4418. -            writeD(temp.getCount());
  4419. +            writeD(0x00);
  4420. +            //writeD(item.getBodyPart());
  4421. +            writeQ(temp.getCount());
  4422.              writeH(item.getType2());
  4423.              writeH(temp.getCustomType1());
  4424. +            writeH(0x00);
  4425.              writeD(item.getBodyPart());
  4426.              writeH(temp.getEnchantLevel());
  4427.              writeH(temp.getCustomType2());
  4428. -            writeH(0x00);
  4429. -            writeD(temp.getObjectId());
  4430. +            
  4431.              if (temp.isAugmented())
  4432.              {
  4433. -                writeD(0x0000FFFF & temp.getAugmentation().getAugmentationId());
  4434. -                writeD(temp.getAugmentation().getAugmentationId() >> 16);
  4435. +                //writeD(0x0000FFFF & temp.getAugmentation().getAugmentationId());
  4436. +                //writeD(temp.getAugmentation().getAugmentationId() >> 16);
  4437. +                writeD(temp.getAugmentation().getAugmentationId());
  4438.              }
  4439.              else
  4440. -                writeQ(0x00);
  4441. +                writeD(0x00);
  4442. +            
  4443. +            writeD(0x00);
  4444. +            writeD(0x00);
  4445. +            
  4446. +            writeH(0x00);
  4447. +            writeH(0x00);
  4448. +            for (byte i = 0; i < 6; i++)
  4449. +            {
  4450. +                writeH(0x00);
  4451. +            }
  4452. +            // Enchant Effects
  4453. +            writeH(0x00);
  4454. +            writeH(0x00);
  4455. +            writeH(0x00);
  4456. +            writeD(temp.getObjectId());
  4457.          }
  4458.          _items.clear();
  4459.      }
  4460. diff --git a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/WarehouseWithdrawList.java b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/WarehouseWithdrawList.java
  4461. index 7adc533b..58603dcd 100644
  4462. --- a/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/WarehouseWithdrawList.java
  4463. +++ b/aCis_gameserver/java/net/sf/l2j/gameserver/network/serverpackets/WarehouseWithdrawList.java
  4464. @@ -32,31 +32,52 @@ protected final void writeImpl()
  4465.      {
  4466.          writeC(0x42);
  4467.          writeH(_whType);
  4468. -        writeD(_playerAdena);
  4469. +        writeQ(_playerAdena);
  4470.          writeH(_items.size());
  4471.          
  4472.          for (ItemInstance temp : _items)
  4473.          {
  4474.              Item item = temp.getItem();
  4475.              
  4476. -            writeH(item.getType1());
  4477. +            //writeH(item.getType1());
  4478.              writeD(temp.getObjectId());
  4479.              writeD(temp.getItemId());
  4480. -            writeD(temp.getCount());
  4481. +            writeD(0x00);
  4482. +            //writeD(item.getBodyPart());
  4483. +            writeQ(temp.getCount());
  4484.              writeH(item.getType2());
  4485.              writeH(temp.getCustomType1());
  4486. +            writeH(0x00);
  4487.              writeD(item.getBodyPart());
  4488.              writeH(temp.getEnchantLevel());
  4489.              writeH(temp.getCustomType2());
  4490. -            writeH(0x00);
  4491. -            writeD(temp.getObjectId());
  4492. +
  4493. +            
  4494. +            //writeD(temp.getObjectId());
  4495. +
  4496.              if (temp.isAugmented())
  4497.              {
  4498. -                writeD(0x0000FFFF & temp.getAugmentation().getAugmentationId());
  4499. -                writeD(temp.getAugmentation().getAugmentationId() >> 16);
  4500. +                //writeD(0x0000FFFF & temp.getAugmentation().getAugmentationId());
  4501. +                //writeD(temp.getAugmentation().getAugmentationId() >> 16);
  4502. +                writeD(temp.getAugmentation().getAugmentationId());
  4503.              }
  4504.              else
  4505. -                writeQ(0x00);
  4506. +                writeD(0x00);
  4507. +            
  4508. +            writeD(0x00);
  4509. +            writeD(0x00);
  4510. +            
  4511. +            writeH(0x00);
  4512. +            writeH(0x00);
  4513. +            for (byte i = 0; i < 6; i++)
  4514. +            {
  4515. +                writeH(0x00);
  4516. +            }
  4517. +            // Enchant Effects
  4518. +            writeH(0x00);
  4519. +            writeH(0x00);
  4520. +            writeH(0x00);
  4521. +            writeD(temp.getObjectId());
  4522.          }
  4523.      }
  4524.  }
  4525. \ No newline at end of file                
Add Comment
Please, Sign In to add comment