From 4896facf53cf6d6ea60dba22f72389721d502673 Mon Sep 17 00:00:00 2001 From: Dastgir Date: Mon, 18 Jan 2016 16:53:43 +0530 Subject: Extended ADD_QUEST to support new packet --- src/map/clif.c | 11 +++++++++++ src/map/packets_struct.h | 15 ++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/map/clif.c b/src/map/clif.c index e996db1f1..f0c090a03 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -16222,6 +16222,7 @@ void clif_quest_send_mission(struct map_session_data *sd) /// Notification about a new quest (ZC_ADD_QUEST). /// 02b3 .L .B .L .L .W { .L .W .24B }*3 +/// 09f9 .L .B .L .L .W { .L .L .L .L .L .W .24B }*3 void clif_quest_add(struct map_session_data *sd, struct quest *qd) { int i, len; @@ -16252,7 +16253,17 @@ void clif_quest_add(struct map_session_data *sd, struct quest *qd) struct mob_db *monster; monster = mob->db(qi->objectives[i].mob); + +#if PACKETVER >= 20150513 + packet->objectives[i].huntIdent = (qd->quest_id * 1000) + i; + packet->objectives[i].mobType = 0; // Info Needed +#endif packet->objectives[i].mob_id = qi->objectives[i].mob; +#if PACKETVER >= 20150513 + // Info Needed + packet->objectives[i].levelMin = 0; + packet->objectives[i].levelMax = 0; +#endif packet->objectives[i].huntCount = qd->count[i]; memcpy(packet->objectives[i].mobName, monster->jname, NAME_LENGTH); } diff --git a/src/map/packets_struct.h b/src/map/packets_struct.h index c8ed85947..309c5f007 100644 --- a/src/map/packets_struct.h +++ b/src/map/packets_struct.h @@ -357,7 +357,11 @@ enum packet_headers { clanLeave = 0x0989, ///< ZC_ACK_CLAN_LEAVE clanMessage = 0x098E, ///< ZC_NOTIFY_CLAN_CHAT #endif +#if PACKETVER >= 20150513 // [4144] 0x09f9 handled in client from 2014-10-29aRagexe and 2014-03-26cRagexeRE + questAddType = 0x9f9, +#else questAddType = 0x2b3, +#endif // PACKETVER < 20150513 }; #if !defined(sun) && (!defined(__NETBSD__) || __NetBSD_Version__ >= 600000000) // NetBSD 5 and Solaris don't like pragma pack but accept the packed attribute @@ -1610,9 +1614,18 @@ struct PACKET_ZC_NOTIFY_CLAN_CHAT { /** * PACKET_ZC_MISSION_HUNT (PACKETVER < 20150513) + * PACKET_ZC_MISSION_HUNT_EX (PACKETVER >= 20150513) */ struct packet_quest_hunt_sub { +#if PACKETVER >= 20150513 + uint32 huntIdent; + uint32 mobType; +#endif int32 mob_id; +#if PACKETVER >= 20150513 + int16 levelMin; + int16 levelMax; +#endif int16 huntCount; char mobName[NAME_LENGTH]; } __attribute__((packed)); @@ -1620,7 +1633,7 @@ struct packet_quest_hunt_sub { /** * Header for: * PACKET_ZC_ADD_QUEST (PACKETVER < 20150513) - * + * PACKET_ZC_ADD_QUEST_EX (PACKETVER >= 20150513) */ struct packet_quest_add_header { uint16 PacketType; -- cgit v1.2.3-60-g2f50