/** {@inheritDoc} dc */
  @Override
  protected void writeImpl(AionConnection con, ByteBuffer buf) {
    writeH(
        buf,
        mode); // Drop to storage animation (bit mask). 1 - min animation; 17 - Like "Drop" to inv
    // without message in chat; 25 - full anim with surrounding "new" border and message
    // in chat
    writeH(buf, size); // number of entries
    for (Item item : items) {
      writeGeneralInfo(buf, item);

      ItemTemplate itemTemplate = item.getItemTemplate();

      if (itemTemplate.getTemplateId() == ItemId.KINAH.value()) {
        writeKinah(buf, item);
        writeC(buf, 0);
      } else if (itemTemplate.isWeapon()) {
        writeWeaponInfo(buf, item);
        writeH(buf, item.isEquipped() ? 255 : item.getEquipmentSlot());
        writeC(buf, 0);
      } else if (itemTemplate.isArmor()) {
        writeArmorInfo(buf, item);
        writeH(buf, item.isEquipped() ? 255 : item.getEquipmentSlot());
        writeC(buf, 0);
      } else if (itemTemplate.isStigma()) {
        writeStigmaInfo(buf, item);
      } else {
        writeGeneralItemInfo(buf, item);
        writeH(buf, item.isEquipped() ? 255 : item.getEquipmentSlot());
        writeC(buf, 0);
      }
    }
  }