Skip to content

Commit

Permalink
parse & handle PlayFreeGacha
Browse files Browse the repository at this point in the history
  • Loading branch information
sekaiwish committed Nov 22, 2023
1 parent ab6c86c commit 0550fb2
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
19 changes: 13 additions & 6 deletions network/mhfpacket/msg_mhf_play_free_gacha.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
package mhfpacket

import (
"errors"
import (
"errors"

"erupe-ce/network/clientctx"
"erupe-ce/network"
"erupe-ce/common/byteframe"
"erupe-ce/network"
"erupe-ce/network/clientctx"
)

// MsgMhfPlayFreeGacha represents the MSG_MHF_PLAY_FREE_GACHA
type MsgMhfPlayFreeGacha struct{}
type MsgMhfPlayFreeGacha struct {
AckHandle uint32
GachaID uint32
GachaType uint8
}

// Opcode returns the ID associated with this packet type.
func (m *MsgMhfPlayFreeGacha) Opcode() network.PacketID {
Expand All @@ -18,7 +22,10 @@ func (m *MsgMhfPlayFreeGacha) Opcode() network.PacketID {

// Parse parses the packet from binary
func (m *MsgMhfPlayFreeGacha) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
return errors.New("NOT IMPLEMENTED")
m.AckHandle = bf.ReadUint32()
m.GachaID = bf.ReadUint32()
m.GachaType = bf.ReadUint8()
return nil
}

// Build builds a binary packet from the current data.
Expand Down
5 changes: 4 additions & 1 deletion server/channelserver/handlers_shop_gacha.go
Original file line number Diff line number Diff line change
Expand Up @@ -718,5 +718,8 @@ func handleMsgMhfGetFpointExchangeList(s *Session, p mhfpacket.MHFPacket) {
}

func handleMsgMhfPlayFreeGacha(s *Session, p mhfpacket.MHFPacket) {
// not sure this is used anywhere, free gachas use the MSG_MHF_PLAY_NORMAL_GACHA method in captures
pkt := p.(*mhfpacket.MsgMhfPlayFreeGacha)
bf := byteframe.NewByteFrame()
bf.WriteUint32(1)
doAckSimpleSucceed(s, pkt.AckHandle, bf.Data())
}

0 comments on commit 0550fb2

Please sign in to comment.