summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/map/clif.c12
-rw-r--r--src/map/packets_struct.h3
2 files changed, 9 insertions, 6 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 3e01230b2..2bb272cd2 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -17445,18 +17445,20 @@ void clif_scriptclear(struct map_session_data *sd, int npcid) {
clif->send(&p,sizeof(p), &sd->bl, SELF);
}
-
+/* Made Possible Thanks to Yommy! */
void clif_package_item_announce(struct map_session_data *sd, unsigned short nameid, unsigned short containerid) {
struct packet_package_item_announce p;
p.PacketType = package_item_announceType;
- p.PacketLength = 10+NAME_LENGTH;
+ p.PacketLength = 11+NAME_LENGTH;
p.type = 0x0;
- p.ItemID = containerid;
+ p.ItemID = nameid;
p.len = NAME_LENGTH;
safestrncpy(p.Name, sd->status.name, sizeof(p.Name));
- p.BoxItemID = nameid;
- clif->send(&p,p.PacketLength, &sd->bl, ALL_CLIENT);
+ p.unknown = 0x2; // some strange byte, IDA shows.. BYTE3(BoxItemIDLength) = 2;
+ p.BoxItemID = containerid;
+
+ clif->send(&p,sizeof(p), &sd->bl, ALL_CLIENT);
}
/* */
unsigned short clif_decrypt_cmd( int cmd, struct map_session_data *sd ) {
diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h
index 1a52040a8..d77784dc5 100644
--- a/src/map/packets_struct.h
+++ b/src/map/packets_struct.h
@@ -459,7 +459,7 @@ struct packet_script_clear {
short PacketType;
unsigned int NpcID;
} __attribute__((packed));
-
+/* made possible thanks to Yommy!! */
struct packet_package_item_announce {
short PacketType;
short PacketLength;
@@ -467,6 +467,7 @@ struct packet_package_item_announce {
unsigned short ItemID;
char len;
char Name[NAME_LENGTH];
+ char unknown;
unsigned short BoxItemID;
} __attribute__((packed));