diff --git a/Erupe/network/mhfpacket/msg_mhf_add_guild_mission_count.go b/Erupe/network/mhfpacket/msg_mhf_add_guild_mission_count.go index 69c037331..86ea70b86 100644 --- a/Erupe/network/mhfpacket/msg_mhf_add_guild_mission_count.go +++ b/Erupe/network/mhfpacket/msg_mhf_add_guild_mission_count.go @@ -1,7 +1,7 @@ package mhfpacket -import ( - "errors" +import ( + "errors" "erupe-ce/network/clientctx" "erupe-ce/network" @@ -9,7 +9,11 @@ import ( ) // MsgMhfAddGuildMissionCount represents the MSG_MHF_ADD_GUILD_MISSION_COUNT -type MsgMhfAddGuildMissionCount struct{} +type MsgMhfAddGuildMissionCount struct { + AckHandle uint32 + MissionID uint32 + Count uint32 +} // Opcode returns the ID associated with this packet type. func (m *MsgMhfAddGuildMissionCount) Opcode() network.PacketID { @@ -18,7 +22,10 @@ func (m *MsgMhfAddGuildMissionCount) Opcode() network.PacketID { // Parse parses the packet from binary func (m *MsgMhfAddGuildMissionCount) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error { - return errors.New("NOT IMPLEMENTED") + m.AckHandle = bf.ReadUint32() + m.MissionID = bf.ReadUint32() + m.Count = bf.ReadUint32() + return nil } // Build builds a binary packet from the current data. diff --git a/Erupe/network/mhfpacket/msg_mhf_cancel_guild_mission_target.go b/Erupe/network/mhfpacket/msg_mhf_cancel_guild_mission_target.go index 60122f346..c6eaf00c6 100644 --- a/Erupe/network/mhfpacket/msg_mhf_cancel_guild_mission_target.go +++ b/Erupe/network/mhfpacket/msg_mhf_cancel_guild_mission_target.go @@ -1,7 +1,7 @@ package mhfpacket -import ( - "errors" +import ( + "errors" "erupe-ce/network/clientctx" "erupe-ce/network" @@ -9,7 +9,10 @@ import ( ) // MsgMhfCancelGuildMissionTarget represents the MSG_MHF_CANCEL_GUILD_MISSION_TARGET -type MsgMhfCancelGuildMissionTarget struct{} +type MsgMhfCancelGuildMissionTarget struct { + AckHandle uint32 + MissionID uint32 +} // Opcode returns the ID associated with this packet type. func (m *MsgMhfCancelGuildMissionTarget) Opcode() network.PacketID { @@ -18,7 +21,9 @@ func (m *MsgMhfCancelGuildMissionTarget) Opcode() network.PacketID { // Parse parses the packet from binary func (m *MsgMhfCancelGuildMissionTarget) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error { - return errors.New("NOT IMPLEMENTED") + m.AckHandle = bf.ReadUint32() + m.MissionID = bf.ReadUint32() + return nil } // Build builds a binary packet from the current data. diff --git a/Erupe/server/channelserver/handlers_guild.go b/Erupe/server/channelserver/handlers_guild.go index fd3781bd6..415b82de7 100644 --- a/Erupe/server/channelserver/handlers_guild.go +++ b/Erupe/server/channelserver/handlers_guild.go @@ -1596,6 +1596,20 @@ func handleMsgMhfGetGuildMissionRecord(s *Session, p mhfpacket.MHFPacket) { // No guild mission records = 0x190 empty bytes doAckBufSucceed(s, pkt.AckHandle, make([]byte, 0x190)) + +func handleMsgMhfAddGuildMissionCount(s *Session, p mhfpacket.MHFPacket) { + pkt := p.(*mhfpacket.MsgMhfAddGuildMissionCount) + doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4)) +} + +func handleMsgMhfSetGuildMissionTarget(s *Session, p mhfpacket.MHFPacket) { + pkt := p.(*mhfpacket.MsgMhfSetGuildMissionTarget) + doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4)) +} + +func handleMsgMhfCancelGuildMissionTarget(s *Session, p mhfpacket.MHFPacket) { + pkt := p.(*mhfpacket.MsgMhfCancelGuildMissionTarget) + doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4)) } type GuildMeal struct { @@ -1844,15 +1858,6 @@ func handleMsgMhfAddGuildWeeklyBonusExceptionalUser(s *Session, p mhfpacket.MHFP doAckSimpleSucceed(s, pkt.AckHandle, []byte{0x00, 0x00, 0x00, 0x00}) } -func handleMsgMhfAddGuildMissionCount(s *Session, p mhfpacket.MHFPacket) {} - -func handleMsgMhfSetGuildMissionTarget(s *Session, p mhfpacket.MHFPacket) { - pkt := p.(*mhfpacket.MsgMhfSetGuildMissionTarget) - doAckSimpleSucceed(s, pkt.AckHandle, make([]byte, 4)) -} - -func handleMsgMhfCancelGuildMissionTarget(s *Session, p mhfpacket.MHFPacket) {} - func handleMsgMhfGenerateUdGuildMap(s *Session, p mhfpacket.MHFPacket) {} func handleMsgMhfUpdateGuild(s *Session, p mhfpacket.MHFPacket) {}