diff --git a/server/channelserver/handlers_mercenary.go b/server/channelserver/handlers_mercenary.go index 37ce9e628..ca3dd2a71 100644 --- a/server/channelserver/handlers_mercenary.go +++ b/server/channelserver/handlers_mercenary.go @@ -121,10 +121,30 @@ func handleMsgMhfSaveHunterNavi(s *Session, p mhfpacket.MHFPacket) { func handleMsgMhfMercenaryHuntdata(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfMercenaryHuntdata) - doAckBufSucceed(s, pkt.AckHandle, make([]byte, 0x0A)) + if pkt.Unk0 == 1 { + // Format: + // uint8 Hunts + // struct Hunt + // uint32 HuntID + // uint32 MonID + doAckBufSucceed(s, pkt.AckHandle, make([]byte, 1)) + } else { + doAckBufSucceed(s, pkt.AckHandle, make([]byte, 0)) + } } -func handleMsgMhfEnumerateMercenaryLog(s *Session, p mhfpacket.MHFPacket) {} +func handleMsgMhfEnumerateMercenaryLog(s *Session, p mhfpacket.MHFPacket) { + pkt := p.(*mhfpacket.MsgMhfEnumerateMercenaryLog) + bf := byteframe.NewByteFrame() + bf.WriteUint32(0) + // Format: + // struct Log + // uint32 Timestamp + // []byte Name (len 18) + // uint8 Unk + // uint8 Unk + doAckBufSucceed(s, pkt.AckHandle, bf.Data()) +} func handleMsgMhfCreateMercenary(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfCreateMercenary)