diff options
author | Andrei Karas <akaras@inbox.ru> | 2018-09-13 00:43:46 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2018-09-19 22:24:50 +0300 |
commit | 135ca4ad9ecd3ee0b7f548104d92d2a8d74c77a0 (patch) | |
tree | 6a6774d06fdd2f15ad0e9e538fd9bc274ea44237 /src/map/clif.c | |
parent | c479ff1aafe1765633ebdc310f86c1d9035a6a16 (diff) | |
download | hercules-135ca4ad9ecd3ee0b7f548104d92d2a8d74c77a0.tar.gz hercules-135ca4ad9ecd3ee0b7f548104d92d2a8d74c77a0.tar.bz2 hercules-135ca4ad9ecd3ee0b7f548104d92d2a8d74c77a0.tar.xz hercules-135ca4ad9ecd3ee0b7f548104d92d2a8d74c77a0.zip |
Update cart packet for 2018-09-12 RE.
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index f76a76efc..03a6ba507 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -2999,7 +2999,18 @@ static void clif_storageItems(struct map_session_data *sd, enum inventory_type t } -static void clif_cartlist(struct map_session_data *sd) +static void clif_cartList(struct map_session_data *sd) +{ +#if PACKETVER_RE_NUM >= 20180912 + clif->inventoryStart(sd, INVTYPE_CART, ""); +#endif + clif->cartItems(sd, INVTYPE_CART); +#if PACKETVER_RE_NUM >= 20180912 + clif->inventoryEnd(sd, INVTYPE_CART); +#endif +} + +static void clif_cartItems(struct map_session_data *sd, enum inventory_type type) { int i, normal = 0, equip = 0; struct item_data *id; @@ -3017,16 +3028,22 @@ static void clif_cartlist(struct map_session_data *sd) clif->item_normal(i+2,&itemlist_normal.list[normal++],&sd->status.cart[i],id); } - if( normal ) { - itemlist_normal.PacketType = cartlistnormalType; - itemlist_normal.PacketLength = 4 + (sizeof(struct NORMALITEM_INFO) * normal); + if (normal) { + itemlist_normal.PacketType = cartlistnormalType; + itemlist_normal.PacketLength = (sizeof(itemlist_normal) - sizeof(itemlist_normal.list)) + (sizeof(struct NORMALITEM_INFO) * normal); +#if PACKETVER_RE_NUM >= 20180912 + itemlist_normal.invType = type; +#endif clif->send(&itemlist_normal, itemlist_normal.PacketLength, &sd->bl, SELF); } - if( equip ) { - itemlist_equip.PacketType = cartlistequipType; - itemlist_equip.PacketLength = 4 + (sizeof(struct EQUIPITEM_INFO) * equip); + if (equip) { + itemlist_equip.PacketType = cartlistequipType; + itemlist_equip.PacketLength = (sizeof(itemlist_equip) - sizeof(itemlist_equip.list)) + (sizeof(struct EQUIPITEM_INFO) * equip); +#if PACKETVER_RE_NUM >= 20180912 + itemlist_equip.invType = type; +#endif clif->send(&itemlist_equip, itemlist_equip.PacketLength, &sd->bl, SELF); } @@ -8939,7 +8956,7 @@ static void clif_refresh(struct map_session_data *sd) clif->changemap(sd,sd->bl.m,sd->bl.x,sd->bl.y); clif->inventoryList(sd); if(pc_iscarton(sd)) { - clif->cartlist(sd); + clif->cartList(sd); clif->updatestatus(sd,SP_CARTINFO); } clif->updatestatus(sd,SP_WEIGHT); @@ -9975,7 +9992,7 @@ static void clif_parse_LoadEndAck(int fd, struct map_session_data *sd) // Send the cart inventory, counts & weight to the client. if(pc_iscarton(sd)) { - clif->cartlist(sd); + clif->cartList(sd); clif->updatestatus(sd, SP_CARTINFO); } @@ -22288,7 +22305,8 @@ void clif_defaults(void) clif->inventoryItems = clif_inventoryItems; clif->equipList = clif_equipList; clif->equipItems = clif_equipItems; - clif->cartlist = clif_cartlist; + clif->cartList = clif_cartList; + clif->cartItems = clif_cartItems; clif->favorite_item = clif_favorite_item; clif->clearcart = clif_clearcart; clif->item_identify_list = clif_item_identify_list; |