fix EnumerateOrder & TournamentEvent struct

This commit is contained in:
wish
2024-06-25 21:49:41 +10:00
parent 4c485ef55a
commit 79dce0bc52
2 changed files with 14 additions and 12 deletions

View File

@@ -11,8 +11,8 @@ import (
// MsgMhfEnumerateOrder represents the MSG_MHF_ENUMERATE_ORDER // MsgMhfEnumerateOrder represents the MSG_MHF_ENUMERATE_ORDER
type MsgMhfEnumerateOrder struct { type MsgMhfEnumerateOrder struct {
AckHandle uint32 AckHandle uint32
CupID uint32 EventID uint32
TournamentID uint32 ClanID uint32
} }
// Opcode returns the ID associated with this packet type. // Opcode returns the ID associated with this packet type.
@@ -23,8 +23,8 @@ func (m *MsgMhfEnumerateOrder) Opcode() network.PacketID {
// Parse parses the packet from binary // Parse parses the packet from binary
func (m *MsgMhfEnumerateOrder) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error { func (m *MsgMhfEnumerateOrder) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
m.AckHandle = bf.ReadUint32() m.AckHandle = bf.ReadUint32()
m.CupID = bf.ReadUint32() m.EventID = bf.ReadUint32()
m.TournamentID = bf.ReadUint32() m.ClanID = bf.ReadUint32()
return nil return nil
} }

View File

@@ -68,7 +68,7 @@ func generateTournamentTimestamps(start uint32, debug bool) []uint32 {
type TournamentEvent struct { type TournamentEvent struct {
ID uint32 ID uint32
CupGroup uint16 CupGroup uint16
Limit int16 EventSubType int16
QuestFileID uint32 QuestFileID uint32
Name string Name string
} }
@@ -158,7 +158,7 @@ func handleMsgMhfEnumerateRanking(s *Session, p mhfpacket.MHFPacket) {
for _, event := range tournamentEvents { for _, event := range tournamentEvents {
bf.WriteUint32(event.ID) bf.WriteUint32(event.ID)
bf.WriteUint16(event.CupGroup) bf.WriteUint16(event.CupGroup)
bf.WriteInt16(event.Limit) bf.WriteInt16(event.EventSubType)
bf.WriteUint32(event.QuestFileID) bf.WriteUint32(event.QuestFileID)
ps.Uint8(bf, event.Name, true) ps.Uint8(bf, event.Name, true)
} }
@@ -187,10 +187,12 @@ type TournamentRank struct {
func handleMsgMhfEnumerateOrder(s *Session, p mhfpacket.MHFPacket) { func handleMsgMhfEnumerateOrder(s *Session, p mhfpacket.MHFPacket) {
pkt := p.(*mhfpacket.MsgMhfEnumerateOrder) pkt := p.(*mhfpacket.MsgMhfEnumerateOrder)
bf := byteframe.NewByteFrame() bf := byteframe.NewByteFrame()
bf.WriteUint32(pkt.CupID) bf.WriteUint32(pkt.EventID)
bf.WriteUint32(uint32(TimeAdjusted().Unix())) bf.WriteUint32(uint32(TimeAdjusted().Unix()))
tournamentRanks := []TournamentRank{} tournamentRanks := []TournamentRank{}
bf.WriteUint16(uint16(len(tournamentRanks)))
bf.WriteUint16(0) // Unk
for _, rank := range tournamentRanks { for _, rank := range tournamentRanks {
bf.WriteUint32(rank.CID) bf.WriteUint32(rank.CID)
bf.WriteUint32(rank.Rank) bf.WriteUint32(rank.Rank)