75 namespace InventoryRecv
110 BLOCK_START(
"InventoryRecv::processPlayerEquipment")
114 msg.readInt16(
"len");
116 if ((equipment !=
nullptr) && (equipment->
getBackend() ==
nullptr))
122 int packetLen = 2 + 2 + 1 + 1 + 8;
123 if (
msg.getVersion() >= 20120925)
124 packetLen += 4 + 4 + 1;
126 packetLen += 1 + 2 + 2 + 1;
127 if (
msg.getVersion() >= 20071002)
129 if (
msg.getVersion() >= 20080102)
131 if (
msg.getVersion() >= 20100629)
133 if (
msg.getVersion() >= 20150226)
137 const int number = (
msg.getLength() - 4) / packetLen;
139 for (
int loop = 0; loop < number; loop++)
142 const int itemId =
msg.readItemId(
"item id");
144 msg.readUInt8(
"item type"));
146 if (
msg.getVersion() >= 20120925)
148 msg.readInt32(
"location");
149 equipType =
msg.readInt32(
"wear state");
153 msg.readUInt8(
"identified");
154 msg.readInt16(
"location");
155 equipType =
msg.readInt16(
"wear state");
156 msg.readUInt8(
"is damaged");
158 const uint8_t refine =
CAST_U8(
msg.readInt8(
"refine"));
161 cards[f] =
msg.readItemId(
"card");
162 if (
msg.getVersion() >= 20071002)
163 msg.readInt32(
"hire expire date (?)");
164 if (
msg.getVersion() >= 20080102)
165 msg.readInt16(
"equip type");
166 if (
msg.getVersion() >= 20100629)
167 msg.readInt16(
"item sprite number");
169 if (
msg.getVersion() >= 20150226)
172 for (
int f = 0; f < 5; f ++)
174 const uint16_t idx =
msg.readInt16(
"option index");
175 const uint16_t val =
msg.readInt16(
"option value");
176 msg.readUInt8(
"option param");
177 options->
add(idx, val);
181 if (
msg.getVersion() >= 20120925)
182 flags.
byte =
msg.readUInt8(
"flags");
185 if (inventory !=
nullptr)
210 BLOCK_END(
"InventoryRecv::processPlayerEquipment")
215 BLOCK_START(
"InventoryRecv::processPlayerInventoryAdd")
226 int amount =
msg.readInt16(
"count");
227 const int itemId =
msg.readItemId(
"item id");
228 const uint8_t identified =
msg.readUInt8(
"identified");
229 const uint8_t damaged =
msg.readUInt8(
"is damaged");
230 const uint8_t refine =
msg.readUInt8(
"refine");
234 cards[f] =
msg.readItemId(
"card");
236 if (
msg.getVersion() >= 20120925)
237 equipType =
msg.readInt32(
"location");
239 equipType =
msg.readInt16(
"location");
241 msg.readUInt8(
"item type"));
242 const unsigned char err =
msg.readUInt8(
"result");
243 if (
msg.getVersion() >= 20061218)
244 msg.readInt32(
"hire expire date");
245 if (
msg.getVersion() >= 20071002)
246 msg.readInt16(
"bind on equip");
248 if (
msg.getVersion() >= 20150226)
251 for (
int f = 0; f < 5; f ++)
253 const uint16_t idx =
msg.readInt16(
"option index");
254 const uint16_t val =
msg.readInt16(
"option value");
255 msg.readUInt8(
"option param");
256 options->
add(idx, val);
259 if (
msg.getVersion() >= 20160921)
262 msg.readInt16(
"look");
347 if (inventory !=
nullptr)
349 const Item *
const item = inventory->
getItem(index);
351 if ((item !=
nullptr) && item->
getId() == itemId)
371 BLOCK_END(
"InventoryRecv::processPlayerInventoryAdd")
376 BLOCK_START(
"InventoryRecv::processPlayerInventory")
386 if (inventory !=
nullptr)
389 msg.readInt16(
"len");
392 if (
msg.getVersion() >= 20120925)
398 if (
msg.getVersion() >= 20080102)
402 const int number = (
msg.getLength() - 4) / packetLen;
404 for (
int loop = 0; loop < number; loop++)
407 const int itemId =
msg.readItemId(
"item id");
409 msg.readUInt8(
"item type"));
410 if (
msg.getVersion() < 20120925)
411 msg.readUInt8(
"identified");
412 const int amount =
msg.readInt16(
"count");
413 if (
msg.getVersion() >= 20120925)
414 msg.readInt32(
"wear state / equip");
416 msg.readInt16(
"wear state / equip");
421 cards[f] =
msg.readItemId(
"card");
428 if (
msg.getVersion() >= 20080102)
429 msg.readInt32(
"hire expire date (?)");
431 if (
msg.getVersion() >= 20120925)
432 flags.
byte =
msg.readUInt8(
"flags");
436 if (inventory !=
nullptr)
452 BLOCK_END(
"InventoryRecv::processPlayerInventory")
457 BLOCK_START(
"InventoryRecv::processPlayerInventory")
460 msg.readInt16(
"len");
463 if (
msg.getVersion() >= 20120925)
469 if (
msg.getVersion() >= 20080102)
474 if (
msg.getVersion() >= 20120925)
476 msg.readString(24,
"storage name");
477 number = (
msg.getLength() - 4 - 24) / packetLen;
481 number = (
msg.getLength() - 4) / packetLen;
484 for (
int loop = 0; loop < number; loop++)
487 const int itemId =
msg.readItemId(
"item id");
489 msg.readUInt8(
"item type"));
490 if (
msg.getVersion() < 20120925)
491 msg.readUInt8(
"identified");
492 const int amount =
msg.readInt16(
"count");
493 if (
msg.getVersion() >= 20120925)
494 msg.readInt32(
"wear state / equip");
496 msg.readInt16(
"wear state / equip");
498 if (
msg.getVersion() >= 5)
501 cards[f] =
msg.readItemId(
"card");
508 if (
msg.getVersion() >= 20080102)
509 msg.readInt32(
"hire expire date (?)");
511 if (
msg.getVersion() >= 20120925)
512 flags.
byte =
msg.readUInt8(
"flags");
531 BLOCK_END(
"InventoryRecv::processPlayerInventory")
539 if (
msg.getVersion() >= 20120925)
540 equipType =
msg.readInt32(
"wear location");
542 equipType =
msg.readInt16(
"wear location");
543 if (
msg.getVersion() >= 20100629)
544 msg.readInt16(
"sprite");
545 const uint8_t flag =
msg.readUInt8(
"result");
563 BLOCK_END(
"InventoryRecv::processPlayerEquip")
569 msg.readInt16(
"index");
571 if (
msg.getVersion() >= 20120925)
572 equipType =
msg.readInt32(
"wear location");
574 equipType =
msg.readInt16(
"wear location");
575 const uint8_t flag =
msg.readUInt8(
"result");
587 if ((equipType & 0x8000) != 0)
589 BLOCK_END(
"InventoryRecv::processPlayerUnEquip")
594 BLOCK_START(
"InventoryRecv::processPlayerInventoryRemove2")
599 msg.readInt16(
"reason"));
601 const int amount =
msg.readInt16(
"amount");
603 if (inventory !=
nullptr)
648 item->increaseQuantity(-amount);
649 if (item->getQuantity() == 0)
654 BLOCK_END(
"InventoryRecv::processPlayerInventoryRemove2")
659 BLOCK_START(
"InventoryRecv::processPlayerStorageEquip")
660 msg.readInt16(
"len");
662 int packetLen = 2 + 2 + 1 + 1 + 8;
663 if (
msg.getVersion() >= 20120925)
664 packetLen += 4 + 4 + 1;
666 packetLen += 1 + 2 + 2 + 1;
667 if (
msg.getVersion() >= 20071002)
669 if (
msg.getVersion() >= 20080102)
671 if (
msg.getVersion() >= 20100629)
673 if (
msg.getVersion() >= 20150226)
678 if (
msg.getVersion() >= 20120925)
680 msg.readString(24,
"storage name");
681 number = (
msg.getLength() - 4 - 24) / packetLen;
685 number = (
msg.getLength() - 4) / packetLen;
688 for (
int loop = 0; loop < number; loop++)
691 const int itemId =
msg.readItemId(
"item id");
693 msg.readUInt8(
"item type"));
694 const int amount = 1;
695 if (
msg.getVersion() >= 20120925)
697 msg.readInt32(
"location");
698 msg.readInt32(
"wear state");
702 msg.readUInt8(
"identified");
703 msg.readInt16(
"location");
704 msg.readInt16(
"wear state");
705 msg.readUInt8(
"is damaged");
707 const uint8_t refine =
msg.readUInt8(
"refine level");
710 cards[f] =
msg.readItemId(
"card");
711 if (
msg.getVersion() >= 20071002)
712 msg.readInt32(
"hire expire date");
713 if (
msg.getVersion() >= 20080102)
714 msg.readInt16(
"bind on equip");
715 if (
msg.getVersion() >= 20100629)
716 msg.readInt16(
"sprite");
718 if (
msg.getVersion() >= 20150226)
721 for (
int f = 0; f < 5; f ++)
723 const uint16_t idx =
msg.readInt16(
"option index");
724 const uint16_t val =
msg.readInt16(
"option value");
725 msg.readUInt8(
"option param");
726 options->
add(idx, val);
731 if (
msg.getVersion() >= 20120925)
732 flags.
byte =
msg.readUInt8(
"flags");
752 BLOCK_END(
"InventoryRecv::processPlayerStorageEquip")
757 BLOCK_START(
"InventoryRecv::processPlayerStorageAdd")
760 const int amount =
msg.readInt32(
"amount");
761 const int itemId =
msg.readItemId(
"item id");
763 if (
msg.getVersion() >= 5)
764 itemType =
static_cast<ItemTypeT>(
msg.readUInt8(
"type"));
767 const unsigned char identified =
msg.readUInt8(
"identify");
769 const uint8_t refine =
msg.readUInt8(
"refine");
772 cards[f] =
msg.readItemId(
"card");
774 if (
msg.getVersion() >= 20150226)
777 for (
int f = 0; f < 5; f ++)
779 const uint16_t idx =
msg.readInt16(
"option index");
780 const uint16_t val =
msg.readInt16(
"option value");
781 msg.readUInt8(
"option param");
782 options->
add(idx, val);
789 item->setId(itemId, color);
790 item->increaseQuantity(amount);
812 BLOCK_END(
"InventoryRecv::processPlayerStorageAdd")
819 const Item *item1 =
nullptr;
825 const int count = (
msg.readInt16(
"len") - 4) / 2;
826 for (
int f = 0; f < count; f ++)
842 if (
msg.readUInt8(
"flag") != 0U)
856 cardId = card->
getId();
873 const int id =
msg.readItemId(
"item id");
874 const int seconds =
msg.readInt32(
"seconds");
879 strprintf(
_(
"Left %s rental time for item %s."),
880 timeStr.c_str(),
info.getName().c_str()));
889 const int id =
msg.readItemId(
"item id");
894 if (inventory !=
nullptr)
898 item->increaseQuantity(-item->getQuantity());
907 BLOCK_START(
"InventoryRecv::processPlayerStorageRemove")
910 const int amount =
msg.readInt32(
"amount");
915 item->increaseQuantity(-amount);
916 if (item->getQuantity() == 0)
920 BLOCK_END(
"InventoryRecv::processPlayerStorageRemove")
925 msg.readInt16(
"cart items used");
926 const int size =
msg.readInt16(
"max cart items");
928 msg.readInt32(
"cart weight"),
931 msg.readInt32(
"max cart weight"),
972 int amount =
msg.readInt32(
"count");
973 const int itemId =
msg.readItemId(
"item id");
975 if (
msg.getVersion() >= 5)
978 msg.readUInt8(
"item type"));
980 const uint8_t identified =
msg.readUInt8(
"identified");
982 const uint8_t refine =
msg.readUInt8(
"refine");
985 cards[f] =
msg.readItemId(
"card");
987 if (
msg.getVersion() >= 20150226)
990 for (
int f = 0; f < 5; f ++)
992 const uint16_t idx =
msg.readInt16(
"option index");
993 const uint16_t val =
msg.readInt16(
"option value");
994 msg.readUInt8(
"option param");
995 options->
add(idx, val);
1000 if ((inventory !=
nullptr) && inventory->
getSize() > 0)
1002 const Item *
const item = inventory->
getItem(index);
1004 if ((item !=
nullptr) && item->
getId() == itemId)
1038 BLOCK_END(
"InventoryRecv::processPlayerCartAdd")
1043 BLOCK_START(
"InventoryRecv::processPlayerCartEquip")
1044 msg.readInt16(
"len");
1046 int packetLen = 2 + 2 + 1 + 1 + 8;
1047 if (
msg.getVersion() >= 20120925)
1048 packetLen += 4 + 4 + 1;
1050 packetLen += 1 + 2 + 2 + 1;
1051 if (
msg.getVersion() >= 20071002)
1053 if (
msg.getVersion() >= 20080102)
1055 if (
msg.getVersion() >= 20100629)
1057 if (
msg.getVersion() >= 20150226)
1061 const int number = (
msg.getLength() - 4) / packetLen;
1062 for (
int loop = 0; loop < number; loop++)
1065 const int itemId =
msg.readItemId(
"item id");
1067 msg.readUInt8(
"item type"));
1068 const int amount = 1;
1069 if (
msg.getVersion() >= 20120925)
1071 msg.readInt32(
"location");
1072 msg.readInt32(
"wear state");
1076 msg.readUInt8(
"identified");
1077 msg.readInt16(
"location");
1078 msg.readInt16(
"wear state");
1079 msg.readUInt8(
"is damaged");
1081 const uint8_t refine =
msg.readUInt8(
"refine level");
1084 cards[f] =
msg.readItemId(
"card");
1085 if (
msg.getVersion() >= 20071002)
1086 msg.readInt32(
"hire expire date");
1087 if (
msg.getVersion() >= 20080102)
1088 msg.readInt16(
"bind on equip");
1089 if (
msg.getVersion() >= 20100629)
1090 msg.readInt16(
"sprite");
1092 if (
msg.getVersion() >= 20150226)
1095 for (
int f = 0; f < 5; f ++)
1097 const uint16_t idx =
msg.readInt16(
"option index");
1098 const uint16_t val =
msg.readInt16(
"option value");
1099 msg.readUInt8(
"option param");
1100 options->
add(idx, val);
1104 if (
msg.getVersion() >= 20120925)
1105 flags.
byte =
msg.readUInt8(
"flags");
1124 BLOCK_END(
"InventoryRecv::processPlayerCartEquip")
1129 BLOCK_START(
"InventoryRecv::processPlayerCartItems")
1132 msg.readInt16(
"len");
1135 if (
msg.getVersion() >= 20120925)
1141 if (
msg.getVersion() >= 20080102)
1145 const int number = (
msg.getLength() - 4) / packetLen;
1146 for (
int loop = 0; loop < number; loop++)
1149 const int itemId =
msg.readItemId(
"item id");
1151 msg.readUInt8(
"item type"));
1152 if (
msg.getVersion() < 20120925)
1153 msg.readUInt8(
"identified");
1154 const int amount =
msg.readInt16(
"count");
1155 if (
msg.getVersion() >= 20120925)
1156 msg.readInt32(
"wear state / equip");
1158 if (
msg.getVersion() >= 5)
1161 cards[f] =
msg.readItemId(
"card");
1168 if (
msg.getVersion() >= 20080102)
1169 msg.readInt32(
"hire expire date (?)");
1171 if (
msg.getVersion() >= 20120925)
1172 flags.
byte =
msg.readUInt8(
"flags");
1190 BLOCK_END(
"InventoryRecv::processPlayerCartItems")
1195 BLOCK_START(
"InventoryRecv::processPlayerCartRemove")
1197 const int amount =
msg.readInt32(
"amount");
1205 item->increaseQuantity(-amount);
1206 if (item->getQuantity() == 0)
1209 BLOCK_END(
"InventoryRecv::processPlayerCartRemove")
1217 const int count =
msg.readInt16(
"len") - 4;
1218 for (
int f = 0; f < count; f ++)
1219 msg.readInt16(
"inv index");
1226 msg.readInt16(
"inv index");
1227 msg.readUInt8(
"flag");
1232 const int flag =
msg.readInt16(
"flag");
1234 msg.readInt16(
"refine");
1236 const Item *item =
nullptr;
1238 std::string itemName;
1241 if (item !=
nullptr)
1248 itemName =
_(
"Unknown item");
1273 const int count = (
msg.readInt16(
"len") - 4) /
1275 for (
int f = 0; f < count; f ++)
1277 msg.readInt16(
"index");
1278 msg.readItemId(
"item id");
1279 msg.readUInt8(
"refine");
1280 for (
int d = 0; d <
maxCards; d ++)
1281 msg.readItemId(
"card");
1290 msg.readInt16(
"item index");
1291 msg.readUInt8(
"flag");
1298 const int count = (
msg.readInt16(
"len") - 4) /
1301 for (
int f = 0; f < count; f ++)
1303 msg.readInt16(
"item index");
1304 msg.readItemId(
"item id");
1305 msg.readUInt8(
"refine");
1306 for (
int d = 0; d <
maxCards; d ++)
1307 msg.readItemId(
"card");
1316 msg.readInt16(
"info");
1323 msg.readInt16(
"result");
1324 msg.readInt16(
"error count");
1331 const int count = (
msg.readInt16(
"len") - 6) /
itemIdLen;
1332 msg.readInt16(
"list type");
1333 for (
int f = 0; f < count; f ++)
1334 msg.readItemId(
"item id");
1341 msg.readInt16(
"position");
1342 msg.readBeingId(
"account id");
1349 msg.readInt16(
"item index");
1350 msg.readUInt8(
"favorite (0 - favorite)");
1355 switch (
msg.readUInt8(
"flag"))
1374 std::string itemName;
1376 if (item !=
nullptr)
1383 itemName =
_(
"Unknown item");
1391 BLOCK_START(
"InventoryRecv::processPlayerInventoryRemove")
1396 const int amount =
msg.readInt16(
"amount");
1397 if (inventory !=
nullptr)
1406 item->increaseQuantity(-amount);
1407 if (item->getQuantity() == 0)
1412 BLOCK_END(
"InventoryRecv::processPlayerInventoryRemove")
1419 const int count =
msg.readInt16(
"len") - 8;
1420 msg.readBeingId(
"account id");
1421 for (
int f = 0; f < count; f ++)
1422 msg.readUInt8(
"cart type");
1427 if (eAthenaSlot == 0)
1430 if ((eAthenaSlot & 0x8000) != 0)
1433 unsigned int mask = 1;
1435 while ((eAthenaSlot & mask) == 0U)
1449 const int count = (
msg.readInt16(
"len") - 4) / 2;
1450 for (
int f = 0; f < count; f ++)
1451 msg.readInt16(
"inv index");
1458 msg.readInt16(
"inv index");
1459 msg.readInt16(
"amount");
1460 msg.readUInt8(
"result");
1465 BLOCK_START(
"InventoryRecv::processPlayerInventoryUse")
1470 const int itemId =
msg.readItemId(
"item id");
1471 const BeingId id =
msg.readBeingId(
"account id");
1472 const int amount =
msg.readInt16(
"amount");
1473 const uint8_t flag =
msg.readUInt8(
"type");
1483 if (inventory !=
nullptr)
1488 item->setQuantity(amount);
1499 BLOCK_END(
"InventoryRecv::processPlayerInventoryUse")
1507 msg.readInt16(
"unknown");
1508 if (inventory !=
nullptr)
1525 const std::string name =
msg.readString(24,
"storage name");
1532 msg.readUInt8(
"type"));
1533 const std::string name =
msg.readString(24,
"inventory name");
1539 const int nameLen =
msg.readInt16(
"len") - 5;
1541 msg.readUInt8(
"type"));
1544 name =
msg.readString(nameLen,
"inventory name");
1549 const std::string &name)
1574 if (window !=
nullptr)
1578 if (inventory !=
nullptr)
1584 const uint8_t flag =
msg.readUInt8(
"flag");
1596 msg.readUInt8(
"type"));
1597 const uint8_t flag =
msg.readUInt8(
"flag");
1630 if (inventory ==
nullptr)
1636 const int index = (*it).slot;
1637 const int equipIndex = (*it).equipIndex;
1664 const int dataLen =
msg.readInt16(
"len") - 4;
1672 const int dataLen =
msg.readInt16(
"len") - 5;
1674 msg.readUInt8(
"type"));
1684 const int packetLen = 14 +
itemIdLen * 5;
1685 const int number = len / packetLen;
1719 for (
int loop = 0; loop < number; loop++)
1721 const int index =
msg.readInt16(
"item index") - offset;
1722 const int itemId =
msg.readItemId(
"item id");
1724 msg.readUInt8(
"item type"));
1725 const int amount =
msg.readInt16(
"amount");
1726 msg.readInt32(
"wear state / equip");
1729 cards[f] =
msg.readItemId(
"card");
1731 msg.readInt32(
"hire expire date (?)");
1733 flags.
byte =
msg.readUInt8(
"flags");
1753 const int dataLen =
msg.readInt16(
"len") - 4;
1761 const int dataLen =
msg.readInt16(
"len") - 5;
1763 msg.readUInt8(
"type"));
1773 const int packetLen = 47 +
itemIdLen * 5;
1774 const int number = len / packetLen;
1808 for (
int loop = 0; loop < number; loop++)
1810 const int index =
msg.readInt16(
"item index") - offset;
1811 const int itemId =
msg.readItemId(
"item id");
1813 msg.readUInt8(
"item type"));
1814 msg.readInt32(
"location");
1815 int equipType =
msg.readInt32(
"wear state");
1816 const uint8_t refine =
CAST_U8(
msg.readInt8(
"refine"));
1819 cards[f] =
msg.readItemId(
"card");
1820 msg.readInt32(
"hire expire date (?)");
1821 msg.readInt16(
"equip type");
1822 msg.readInt16(
"item sprite number");
1824 msg.readUInt8(
"option count"));
1825 for (
int f = 0; f < 5; f ++)
1827 const uint16_t idx =
msg.readInt16(
"option index");
1828 const uint16_t val =
msg.readInt16(
"option value");
1829 msg.readUInt8(
"option param");
1830 options->
add(idx, val);
1833 flags.
byte =
msg.readUInt8(
"flags");
1855 msg.readInt16(
"inv index");
1856 msg.readInt16(
"refine");
1858 msg.readItemId(
"card");
1859 for (
int f = 0; f < 5; f ++)
1861 msg.readInt16(
"option index");
1862 msg.readInt16(
"option value");
1863 msg.readUInt8(
"option param");
1870 msg.readInt16(
"inv index");
1871 msg.readUInt8(
"is damaged");
1872 msg.readInt16(
"refine");
1874 msg.readItemId(
"card");
1875 for (
int f = 0; f < 5; f ++)
1877 msg.readInt16(
"option index");
1878 msg.readInt16(
"option value");
1879 msg.readUInt8(
"option param");
1885 const int newSize =
msg.readInt16(
"expansion size") +
1897 msg.readUInt8(
"result");
1898 msg.readItemId(
"item id");
1904 msg.readUInt8(
"result");
1910 msg.readInt16(
"wear state");
1911 msg.readInt16(
"card slot");
1912 msg.readItemId(
"item id");
ActorManager * actorManager
const BeingId BeingId_zero
#define fromBool(val, name)
#define reportAlways(...)
Being * findBeing(const BeingId id) const
static void distributeEvent()
void setEquipment(const int index, const int inventoryIndex)
const Backend * getBackend() const
void setBackend(Backend *const backend)
void setCards(const int index, const int *const cards, const int size) const
void removeItemAt(const int index)
Item * getItem(const int index) const
void setOptions(const int index, const ItemOptionsList *const options)
virtual void setItem(const int index, const int id, const ItemTypeT type, const int quantity, const uint8_t refine, const ItemColor color, const Identified identified, const Damaged damaged, const Favorite favorite, const Equipm equipment, const Equipped equipped)
void resize(const unsigned int newSize)
static ItemColor getColorFromCards(const int *const cards)
static void playSfx(const int item, const ItemSoundEvent::Type sound)
void addCard(const int card)
std::string getName() const
void increaseQuantity(const int amount)
void pickedUp(const ItemInfo &itemInfo, const int amount, const ItemColor color, const BeingId floorItemId, const PickupT fail)
virtual int getProjectileSlot() const =0
virtual int getItemIndex() const =0
void addItem(const Item *const item, const int price)
unsigned int overweightPercent
unsigned int fixedInventorySize
void setCaption(const std::string &caption)
static const int STORAGE_OFFSET
static const int INVENTORY_OFFSET
DeleteItemReason ::T DeleteItemReasonT
const bool Equipped_false
const bool Favorite_false
#define FOR_EACH(type, iter, array)
Net::InventoryHandler * inventoryHandler
InventoryWindow * inventoryWindow
InventoryWindow * cartWindow
InventoryWindow * storageWindow
LocalPlayer * localPlayer
#define UNIMPLEMENTEDPACKETFIELD(field)
#define UNIMPLEMENTEDPACKET
bool msg(InputEvent &event)
bool pickup(InputEvent &event)
bool info(InputEvent &event)
void processSelectCart(Net::MessageIn &msg)
void processInventoryEndContinue(const NetInventoryTypeT invType)
void processPlayerStorage(Net::MessageIn &msg)
Ea::InventoryItems mCartItems
void processPlayerInventoryUse(Net::MessageIn &msg)
void processPlayerStorageRemove(Net::MessageIn &msg)
void processInventoryStartContinue(const NetInventoryTypeT type, const std::string &name)
void processPlayerStorageEquip(Net::MessageIn &msg)
void processPlayerCombinedInventory1(Net::MessageIn &msg)
void processInventoryExpansionAck(Net::MessageIn &msg)
void processEnchantEquipment(Net::MessageIn &msg)
void processInventoryEnd1(Net::MessageIn &msg)
void processInventoryStart2(Net::MessageIn &msg)
void processPlayerCombinedEquipment1(Net::MessageIn &msg)
void processPlayerRepairList(Net::MessageIn &msg)
void processPlayerUseCard(Net::MessageIn &msg)
void processPlayerInventoryRemove(Net::MessageIn &msg)
void processPlayerIdentifyList(Net::MessageIn &msg)
void processPlayerIdentified(Net::MessageIn &msg)
void processInventoryStart3(Net::MessageIn &msg)
void processItemDamaged(Net::MessageIn &msg)
void processPlayerItemRentalExpired(Net::MessageIn &msg)
void processPlayerStorageAdd(Net::MessageIn &msg)
void processOverWeightPercent(Net::MessageIn &msg)
void processFavoriteItem(Net::MessageIn &msg)
void processPlayerCombinedInventory2(Net::MessageIn &msg)
void processInventoryContinue(Net::MessageIn &msg, const int len, const NetInventoryTypeT invType)
int getSlot(const int eAthenaSlot)
void processInventoryExpansionResult(Net::MessageIn &msg)
void processBindItem(Net::MessageIn &msg)
void processPlayerCartRemove(Net::MessageIn &msg)
void processInventoryStart1(Net::MessageIn &msg)
void processPlayerCartAdd(Net::MessageIn &msg)
void processPlayerUnEquip(Net::MessageIn &msg)
void processPlayerEquipment(Net::MessageIn &msg)
void processPlayerCombinedEquipment2(Net::MessageIn &msg)
void processItemMoveFailed(Net::MessageIn &msg)
void processPlayerEquip(Net::MessageIn &msg)
void processEquipmentContinue(Net::MessageIn &msg, const int len, const NetInventoryTypeT invType)
void processMergeItem(Net::MessageIn &msg)
void processInventoryExpansionInfo(Net::MessageIn &msg)
void processPlayerInventoryRemove2(Net::MessageIn &msg)
void processInventoryEnd2(Net::MessageIn &msg)
const EquipSlot::Type EQUIP_POINTS[EquipSlot::VECTOREND]
void processPlayerCookingList(Net::MessageIn &msg)
void processCartAddError(Net::MessageIn &msg)
void processPlayerInventory(Net::MessageIn &msg)
void processPlayerRepairEffect(Net::MessageIn &msg)
Ea::InventoryItems mInventoryItems
void processPlayerCartItems(Net::MessageIn &msg)
void processPlayerStoragePassword(Net::MessageIn &msg)
void processPlayerRefine(Net::MessageIn &msg)
void processShowItemPreview2(Net::MessageIn &msg)
void processPlayerStoragePasswordResult(Net::MessageIn &msg)
void processPlayerRefineList(Net::MessageIn &msg)
void processPlayerCartEquip(Net::MessageIn &msg)
void processPlayerItemRentalTime(Net::MessageIn &msg)
void processCartInfo(Net::MessageIn &msg)
void processMergeItemResponse(Net::MessageIn &msg)
void processCartRemove(Net::MessageIn &msg)
void processPlayerInsertCard(Net::MessageIn &msg)
void processPlayerInventoryAdd(Net::MessageIn &msg)
void processShowItemPreview1(Net::MessageIn &msg)
InventoryItems mStorageItems
std::vector< InventoryItem > InventoryItems
const ItemInfo & getEmpty()
const ItemInfo & get(const int id)
void notify(const unsigned int message)
@ DELETE_ITEM_MATERIAL_CHANGE
@ DELETE_ITEM_FAIL_REFINE
Inventory * getInventory()
Equipment * getEquipment()
Inventory * getCartInventory()
void setAttribute(const AttributesT id, const int64_t value, const Notify notify)
const EquipSlot::Type EQUIP_POINTS[EquipSlot::VECTOREND]
NetInventoryType ::T NetInventoryTypeT
#define BLOCK_START(name)
std::string strprintf(const char *const format,...)
std::string timeDiffToString(int timeDiff)
unsigned char isIdentified
void add(const uint16_t index, const uint16_t value)