chore(merge): merge main into develop

Backports two softlock fixes and playtime regression fix from main.
Also removes handleMsgMhfEnterTournamentQuest from the nil-stub test
list — it's a real DB-backed handler and has its own dedicated test.
This commit is contained in:
Houmgaor
2026-03-23 22:50:27 +01:00
12 changed files with 40 additions and 27 deletions

View File

@@ -243,7 +243,13 @@ func handleMsgMhfGetUdShopCoin(s *Session, p mhfpacket.MHFPacket) {
doAckSimpleSucceed(s, pkt.AckHandle, bf.Data())
}
func handleMsgMhfUseUdShopCoin(s *Session, p mhfpacket.MHFPacket) {} // stub: unimplemented
func handleMsgMhfUseUdShopCoin(s *Session, p mhfpacket.MHFPacket) {
pkt := p.(*mhfpacket.MsgMhfUseUdShopCoin)
// TODO: full response format is not yet reverse-engineered.
// doAckBufFail sends a well-formed buf-type ACK with error code 1.
// The client's fail branch exits cleanly without reading response fields.
doAckBufFail(s, pkt.AckHandle, nil)
}
func handleMsgMhfGetEnhancedMinidata(s *Session, p mhfpacket.MHFPacket) {
pkt := p.(*mhfpacket.MsgMhfGetEnhancedMinidata)