Add MsgMhfCheckWeeklyStamp

This commit is contained in:
Andrew Gutekanst
2020-01-21 20:21:12 -05:00
parent 76fe663ee1
commit b898614ddc
2 changed files with 26 additions and 4 deletions

View File

@@ -6,7 +6,12 @@ import (
) )
// MsgMhfCheckWeeklyStamp represents the MSG_MHF_CHECK_WEEKLY_STAMP // MsgMhfCheckWeeklyStamp represents the MSG_MHF_CHECK_WEEKLY_STAMP
type MsgMhfCheckWeeklyStamp struct{} type MsgMhfCheckWeeklyStamp struct {
AckHandle uint32
Unk0 uint8
Unk1 bool
Unk2 uint16 // Hardcoded 0 in the binary
}
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
func (m *MsgMhfCheckWeeklyStamp) Opcode() network.PacketID { func (m *MsgMhfCheckWeeklyStamp) Opcode() network.PacketID {
@@ -15,10 +20,14 @@ func (m *MsgMhfCheckWeeklyStamp) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfCheckWeeklyStamp) Parse(bf *byteframe.ByteFrame) error { func (m *MsgMhfCheckWeeklyStamp) Parse(bf *byteframe.ByteFrame) error {
panic("Not implemented") m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint8()
m.Unk1 = bf.ReadBool()
m.Unk2 = bf.ReadUint16()
return nil
} }
// Build builds a binary packet from the current data. // Build builds a binary packet from the current data.
func (m *MsgMhfCheckWeeklyStamp) Build(bf *byteframe.ByteFrame) error { func (m *MsgMhfCheckWeeklyStamp) Build(bf *byteframe.ByteFrame) error {
panic("Not implemented") panic("Not implemented")
} }

View File

@@ -651,7 +651,20 @@ func handleMsgMhfCheckMonthlyItem(s *Session, p mhfpacket.MHFPacket) {}
func handleMsgMhfAcquireMonthlyItem(s *Session, p mhfpacket.MHFPacket) {} func handleMsgMhfAcquireMonthlyItem(s *Session, p mhfpacket.MHFPacket) {}
func handleMsgMhfCheckWeeklyStamp(s *Session, p mhfpacket.MHFPacket) {} func handleMsgMhfCheckWeeklyStamp(s *Session, p mhfpacket.MHFPacket) {
pkt := p.(*mhfpacket.MsgMhfCheckWeeklyStamp)
resp := byteframe.NewByteFrame()
resp.WriteUint16(0x0100)
resp.WriteUint16(0x000E)
resp.WriteUint16(0x0001)
resp.WriteUint16(0x0000)
resp.WriteUint16(0x0001)
resp.WriteUint32(0)
resp.WriteUint32(0x5dddcbb3) // Timestamp
s.QueueAck(pkt.AckHandle, resp.Data())
}
func handleMsgMhfExchangeWeeklyStamp(s *Session, p mhfpacket.MHFPacket) {} func handleMsgMhfExchangeWeeklyStamp(s *Session, p mhfpacket.MHFPacket) {}