From cc428d85d35ec012ab7fe0f5ab3a83aac24f2126 Mon Sep 17 00:00:00 2001 From: wish Date: Sat, 22 Jul 2023 13:49:30 +1000 Subject: [PATCH] read additional Find Party data into struct --- server/channelserver/handlers.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/server/channelserver/handlers.go b/server/channelserver/handlers.go index 04e08a8e8..81cd1838a 100644 --- a/server/channelserver/handlers.go +++ b/server/channelserver/handlers.go @@ -452,6 +452,9 @@ func handleMsgMhfTransitMessage(s *Session, p mhfpacket.MHFPacket) { StagePrefix string RankRestriction uint16 Targets []uint16 + Unk0 []uint16 + Unk1 []uint16 + QuestID []uint16 } findPartyParams := FindPartyParams{ StagePrefix: "sl2Ls210", @@ -501,6 +504,33 @@ func handleMsgMhfTransitMessage(s *Session, p mhfpacket.MHFPacket) { // Unk } } + case 3: // Unknown + values := int(bf.ReadUint8()) + for i := 0; i < values; i++ { + if _config.ErupeConfig.RealClientMode >= _config.Z1 { + findPartyParams.Unk0 = append(findPartyParams.Unk0, bf.ReadUint16()) + } else { + findPartyParams.Unk0 = append(findPartyParams.Unk0, uint16(bf.ReadInt8())) + } + } + case 4: // Looking for n or already have n + values := int(bf.ReadUint8()) + for i := 0; i < values; i++ { + if _config.ErupeConfig.RealClientMode >= _config.Z1 { + findPartyParams.Unk1 = append(findPartyParams.Unk1, bf.ReadUint16()) + } else { + findPartyParams.Unk1 = append(findPartyParams.Unk1, uint16(bf.ReadInt8())) + } + } + case 5: + values := int(bf.ReadUint8()) + for i := 0; i < values; i++ { + if _config.ErupeConfig.RealClientMode >= _config.Z1 { + findPartyParams.QuestID = append(findPartyParams.QuestID, bf.ReadUint16()) + } else { + findPartyParams.QuestID = append(findPartyParams.QuestID, uint16(bf.ReadInt8())) + } + } } } for _, c := range s.server.Channels {