diff --git a/server/channelserver/handlers_diva.go b/server/channelserver/handlers_diva.go index 0219d9e3b..48e6dcecf 100644 --- a/server/channelserver/handlers_diva.go +++ b/server/channelserver/handlers_diva.go @@ -2,6 +2,7 @@ package channelserver import ( "encoding/hex" + "erupe-ce/common/stringsupport" "time" "erupe-ce/common/byteframe" @@ -70,7 +71,7 @@ func handleMsgMhfGetUdSchedule(s *Session, p mhfpacket.MHFPacket) { var timestamps []uint32 if s.server.erupeConfig.DevMode && s.server.erupeConfig.DevModeOptions.DivaEvent >= 0 { if s.server.erupeConfig.DevModeOptions.DivaEvent == 0 { - doAckBufSucceed(s, pkt.AckHandle, make([]byte, 4)) + doAckBufSucceed(s, pkt.AckHandle, make([]byte, 36)) return } timestamps = generateDivaTimestamps(s, uint32(s.server.erupeConfig.DevModeOptions.DivaEvent), true) @@ -78,11 +79,6 @@ func handleMsgMhfGetUdSchedule(s *Session, p mhfpacket.MHFPacket) { timestamps = generateDivaTimestamps(s, start, false) } - if timestamps[0] > uint32(Time_Current_Adjusted().Unix()) { - doAckBufSucceed(s, pkt.AckHandle, make([]byte, 4)) - return - } - bf.WriteUint32(id) for _, timestamp := range timestamps { bf.WriteUint32(timestamp) @@ -96,6 +92,26 @@ func handleMsgMhfGetUdSchedule(s *Session, p mhfpacket.MHFPacket) { doAckBufSucceed(s, pkt.AckHandle, bf.Data()) } +func handleMsgMhfGetUdInfo(s *Session, p mhfpacket.MHFPacket) { + pkt := p.(*mhfpacket.MsgMhfGetUdInfo) + // Message that appears on the Diva Defense NPC and triggers the green exclamation mark + udInfos := []struct { + Text string + StartTime time.Time + EndTime time.Time + }{} + + resp := byteframe.NewByteFrame() + resp.WriteUint8(uint8(len(udInfos))) + for _, udInfo := range udInfos { + resp.WriteBytes(stringsupport.PaddedString(udInfo.Text, 1024, true)) + resp.WriteUint32(uint32(udInfo.StartTime.Unix())) + resp.WriteUint32(uint32(udInfo.EndTime.Unix())) + } + + doAckBufSucceed(s, pkt.AckHandle, resp.Data()) +} + func handleMsgMhfGetKijuInfo(s *Session, p mhfpacket.MHFPacket) { pkt := p.(*mhfpacket.MsgMhfGetKijuInfo) // Temporary canned response diff --git a/server/channelserver/handlers_event.go b/server/channelserver/handlers_event.go index 88cacc41d..b6765f998 100644 --- a/server/channelserver/handlers_event.go +++ b/server/channelserver/handlers_event.go @@ -233,32 +233,6 @@ func handleMsgMhfUseKeepLoginBoost(s *Session, p mhfpacket.MHFPacket) { doAckBufSucceed(s, pkt.AckHandle, resp.Data()) } -func handleMsgMhfGetUdInfo(s *Session, p mhfpacket.MHFPacket) { - pkt := p.(*mhfpacket.MsgMhfGetUdInfo) - // Message that appears on the Diva Defense NPC and triggers the green exclamation mark - udInfos := []struct { - Text string - StartTime time.Time - EndTime time.Time - }{ - /*{ - Text: " ~C17【Erupe】 is dead event!\n\n■Features\n~C18 Dont bother walking around!\n~C17 Take down your DB by doing \n~C17 nearly anything!", - StartTime: Time_static().Add(time.Duration(-5) * time.Minute), // Event started 5 minutes ago, - EndTime: Time_static().Add(time.Duration(24) * time.Hour), // Event ends in 5 minutes, - }, */ - } - - resp := byteframe.NewByteFrame() - resp.WriteUint8(uint8(len(udInfos))) - for _, udInfo := range udInfos { - resp.WriteBytes(fixedSizeShiftJIS(udInfo.Text, 1024)) - resp.WriteUint32(uint32(udInfo.StartTime.Unix())) - resp.WriteUint32(uint32(udInfo.EndTime.Unix())) - } - - doAckBufSucceed(s, pkt.AckHandle, resp.Data()) -} - func handleMsgMhfGetRestrictionEvent(s *Session, p mhfpacket.MHFPacket) {} func handleMsgMhfSetRestrictionEvent(s *Session, p mhfpacket.MHFPacket) {