From 7ddf63e0a1a35fd8e060e4e5531a9ceeaca2009f Mon Sep 17 00:00:00 2001 From: wish Date: Wed, 23 Nov 2022 06:56:30 +1100 Subject: [PATCH] fix vs quest items --- server/channelserver/handlers_quest.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/server/channelserver/handlers_quest.go b/server/channelserver/handlers_quest.go index e88262cbd..76e2db778 100644 --- a/server/channelserver/handlers_quest.go +++ b/server/channelserver/handlers_quest.go @@ -98,7 +98,7 @@ func handleMsgMhfEnumerateQuest(s *Session, p mhfpacket.MHFPacket) { return nil // Could be more or less strict with size limits } else { totalCount++ - if totalCount > pkt.Offset && len(bf.Data()) < 64000 { + if totalCount > pkt.Offset && len(bf.Data()) < 60000 { returnedCount++ bf.WriteBytes(data) return nil @@ -111,11 +111,19 @@ func handleMsgMhfEnumerateQuest(s *Session, p mhfpacket.MHFPacket) { doAckBufSucceed(s, pkt.AckHandle, make([]byte, 18)) return } + + vsQuestItems := []uint16{1580, 1581, 1582, 1583, 1584, 1585, 1587, 1588, 1589, 1595, 1596, 1597, 1598, 1599, 1600, 1601, 1602, 1603, 1604} + bf.WriteUint16(0) // Unk bf.WriteUint16(0) // Unk - bf.WriteUint16(0) // Unk + bf.WriteUint16(uint16(len(vsQuestItems))) bf.WriteUint32(0) // Unk bf.WriteUint16(0) // Unk + + for i := range vsQuestItems { + bf.WriteUint16(vsQuestItems[i]) + } + bf.WriteUint16(totalCount) bf.WriteUint16(pkt.Offset) bf.Seek(0, io.SeekStart)