package mhfpacket

import (
	"testing"

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

// TestBuildCoverage_NotImplemented_Extended exercises Build() on all remaining packet types
// whose Build method returns errors.New("NOT IMPLEMENTED") and was not already covered
// by TestBuildCoverage_NotImplemented.
func TestBuildCoverage_NotImplemented_Extended(t *testing.T) {
	tests := []struct {
		name string
		pkt  MHFPacket
	}{
		{"MsgMhfAcceptReadReward", &MsgMhfAcceptReadReward{}},
		{"MsgMhfAcquireDistItem", &MsgMhfAcquireDistItem{}},
		{"MsgMhfAcquireFesta", &MsgMhfAcquireFesta{}},
		{"MsgMhfAcquireFestaIntermediatePrize", &MsgMhfAcquireFestaIntermediatePrize{}},
		{"MsgMhfAcquireFestaPersonalPrize", &MsgMhfAcquireFestaPersonalPrize{}},
		{"MsgMhfAcquireGuildAdventure", &MsgMhfAcquireGuildAdventure{}},
		{"MsgMhfAcquireGuildTresure", &MsgMhfAcquireGuildTresure{}},
		{"MsgMhfAcquireGuildTresureSouvenir", &MsgMhfAcquireGuildTresureSouvenir{}},
		{"MsgMhfAcquireItem", &MsgMhfAcquireItem{}},
		{"MsgMhfAcquireMonthlyReward", &MsgMhfAcquireMonthlyReward{}},
		{"MsgMhfAcquireTitle", &MsgMhfAcquireTitle{}},
		{"MsgMhfAcquireTournament", &MsgMhfAcquireTournament{}},
		{"MsgMhfAddAchievement", &MsgMhfAddAchievement{}},
		{"MsgMhfAddGuildMissionCount", &MsgMhfAddGuildMissionCount{}},
		{"MsgMhfAddGuildWeeklyBonusExceptionalUser", &MsgMhfAddGuildWeeklyBonusExceptionalUser{}},
		{"MsgMhfAddRewardSongCount", &MsgMhfAddRewardSongCount{}},
		{"MsgMhfAddUdPoint", &MsgMhfAddUdPoint{}},
		{"MsgMhfAnswerGuildScout", &MsgMhfAnswerGuildScout{}},
		{"MsgMhfApplyBbsArticle", &MsgMhfApplyBbsArticle{}},
		{"MsgMhfApplyCampaign", &MsgMhfApplyCampaign{}},
		{"MsgMhfApplyDistItem", &MsgMhfApplyDistItem{}},
		{"MsgMhfArrangeGuildMember", &MsgMhfArrangeGuildMember{}},
		{"MsgMhfCancelGuildMissionTarget", &MsgMhfCancelGuildMissionTarget{}},
		{"MsgMhfCancelGuildScout", &MsgMhfCancelGuildScout{}},
		{"MsgMhfCaravanMyRank", &MsgMhfCaravanMyRank{}},
		{"MsgMhfCaravanMyScore", &MsgMhfCaravanMyScore{}},
		{"MsgMhfCaravanRanking", &MsgMhfCaravanRanking{}},
		{"MsgMhfChargeFesta", &MsgMhfChargeFesta{}},
		{"MsgMhfChargeGuildAdventure", &MsgMhfChargeGuildAdventure{}},
		{"MsgMhfCheckDailyCafepoint", &MsgMhfCheckDailyCafepoint{}},
		{"MsgMhfContractMercenary", &MsgMhfContractMercenary{}},
		{"MsgMhfCreateGuild", &MsgMhfCreateGuild{}},
		{"MsgMhfCreateJoint", &MsgMhfCreateJoint{}},
		{"MsgMhfCreateMercenary", &MsgMhfCreateMercenary{}},
		{"MsgMhfDebugPostValue", &MsgMhfDebugPostValue{}},
		{"MsgMhfDisplayedAchievement", &MsgMhfDisplayedAchievement{}},
		{"MsgMhfEnterTournamentQuest", &MsgMhfEnterTournamentQuest{}},
		{"MsgMhfEntryFesta", &MsgMhfEntryFesta{}},
		{"MsgMhfEntryRookieGuild", &MsgMhfEntryRookieGuild{}},
		{"MsgMhfEntryTournament", &MsgMhfEntryTournament{}},
		{"MsgMhfEnumerateAiroulist", &MsgMhfEnumerateAiroulist{}},
		{"MsgMhfEnumerateDistItem", &MsgMhfEnumerateDistItem{}},
		{"MsgMhfEnumerateEvent", &MsgMhfEnumerateEvent{}},
		{"MsgMhfEnumerateFestaIntermediatePrize", &MsgMhfEnumerateFestaIntermediatePrize{}},
		{"MsgMhfEnumerateFestaPersonalPrize", &MsgMhfEnumerateFestaPersonalPrize{}},
		{"MsgMhfEnumerateGuacot", &MsgMhfEnumerateGuacot{}},
		{"MsgMhfEnumerateGuild", &MsgMhfEnumerateGuild{}},
		{"MsgMhfEnumerateGuildItem", &MsgMhfEnumerateGuildItem{}},
		{"MsgMhfEnumerateGuildMember", &MsgMhfEnumerateGuildMember{}},
		{"MsgMhfEnumerateGuildMessageBoard", &MsgMhfEnumerateGuildMessageBoard{}},
		{"MsgMhfEnumerateGuildTresure", &MsgMhfEnumerateGuildTresure{}},
		{"MsgMhfEnumerateHouse", &MsgMhfEnumerateHouse{}},
		{"MsgMhfEnumerateMercenaryLog", &MsgMhfEnumerateMercenaryLog{}},
		{"MsgMhfEnumeratePrice", &MsgMhfEnumeratePrice{}},
		{"MsgMhfEnumerateRengokuRanking", &MsgMhfEnumerateRengokuRanking{}},
		{"MsgMhfEnumerateTitle", &MsgMhfEnumerateTitle{}},
		{"MsgMhfEnumerateUnionItem", &MsgMhfEnumerateUnionItem{}},
		{"MsgMhfExchangeKouryouPoint", &MsgMhfExchangeKouryouPoint{}},
		{"MsgMhfGetAchievement", &MsgMhfGetAchievement{}},
		{"MsgMhfGetAdditionalBeatReward", &MsgMhfGetAdditionalBeatReward{}},
		{"MsgMhfGetBbsSnsStatus", &MsgMhfGetBbsSnsStatus{}},
		{"MsgMhfGetBbsUserStatus", &MsgMhfGetBbsUserStatus{}},
		{"MsgMhfGetBoostRight", &MsgMhfGetBoostRight{}},
		{"MsgMhfGetBoxGachaInfo", &MsgMhfGetBoxGachaInfo{}},
		{"MsgMhfGetBreakSeibatuLevelReward", &MsgMhfGetBreakSeibatuLevelReward{}},
		{"MsgMhfGetCaAchievementHist", &MsgMhfGetCaAchievementHist{}},
		{"MsgMhfGetCaUniqueID", &MsgMhfGetCaUniqueID{}},
		{"MsgMhfGetDailyMissionMaster", &MsgMhfGetDailyMissionMaster{}},
		{"MsgMhfGetDailyMissionPersonal", &MsgMhfGetDailyMissionPersonal{}},
		{"MsgMhfGetDistDescription", &MsgMhfGetDistDescription{}},
		{"MsgMhfGetEarthStatus", &MsgMhfGetEarthStatus{}},
		{"MsgMhfGetEarthValue", &MsgMhfGetEarthValue{}},
		{"MsgMhfGetEnhancedMinidata", &MsgMhfGetEnhancedMinidata{}},
		{"MsgMhfGetEquipSkinHist", &MsgMhfGetEquipSkinHist{}},
		{"MsgMhfGetExtraInfo", &MsgMhfGetExtraInfo{}},
		{"MsgMhfGetFixedSeibatuRankingTable", &MsgMhfGetFixedSeibatuRankingTable{}},
		{"MsgMhfGetFpointExchangeList", &MsgMhfGetFpointExchangeList{}},
		{"MsgMhfGetGachaPlayHistory", &MsgMhfGetGachaPlayHistory{}},
		{"MsgMhfGetGuildManageRight", &MsgMhfGetGuildManageRight{}},
		{"MsgMhfGetGuildMissionList", &MsgMhfGetGuildMissionList{}},
		{"MsgMhfGetGuildMissionRecord", &MsgMhfGetGuildMissionRecord{}},
		{"MsgMhfGetGuildScoutList", &MsgMhfGetGuildScoutList{}},
		{"MsgMhfGetGuildTargetMemberNum", &MsgMhfGetGuildTargetMemberNum{}},
		{"MsgMhfGetGuildTresureSouvenir", &MsgMhfGetGuildTresureSouvenir{}},
		{"MsgMhfGetGuildWeeklyBonusActiveCount", &MsgMhfGetGuildWeeklyBonusActiveCount{}},
		{"MsgMhfGetGuildWeeklyBonusMaster", &MsgMhfGetGuildWeeklyBonusMaster{}},
		{"MsgMhfGetKeepLoginBoostStatus", &MsgMhfGetKeepLoginBoostStatus{}},
		{"MsgMhfGetKouryouPoint", &MsgMhfGetKouryouPoint{}},
		{"MsgMhfGetLobbyCrowd", &MsgMhfGetLobbyCrowd{}},
		{"MsgMhfGetPaperData", &MsgMhfGetPaperData{}},
		{"MsgMhfGetRandFromTable", &MsgMhfGetRandFromTable{}},
		{"MsgMhfGetRejectGuildScout", &MsgMhfGetRejectGuildScout{}},
		{"MsgMhfGetRengokuBinary", &MsgMhfGetRengokuBinary{}},
		{"MsgMhfGetRengokuRankingRank", &MsgMhfGetRengokuRankingRank{}},
		{"MsgMhfGetRestrictionEvent", &MsgMhfGetRestrictionEvent{}},
		{"MsgMhfGetRewardSong", &MsgMhfGetRewardSong{}},
		{"MsgMhfGetRyoudama", &MsgMhfGetRyoudama{}},
		{"MsgMhfGetSeibattle", &MsgMhfGetSeibattle{}},
		{"MsgMhfGetSenyuDailyCount", &MsgMhfGetSenyuDailyCount{}},
		{"MsgMhfGetStepupStatus", &MsgMhfGetStepupStatus{}},
		{"MsgMhfGetTenrouirai", &MsgMhfGetTenrouirai{}},
		{"MsgMhfGetTinyBin", &MsgMhfGetTinyBin{}},
		{"MsgMhfGetTrendWeapon", &MsgMhfGetTrendWeapon{}},
		{"MsgMhfGetUdBonusQuestInfo", &MsgMhfGetUdBonusQuestInfo{}},
		{"MsgMhfGetUdDailyPresentList", &MsgMhfGetUdDailyPresentList{}},
		{"MsgMhfGetUdGuildMapInfo", &MsgMhfGetUdGuildMapInfo{}},
		{"MsgMhfGetUdMonsterPoint", &MsgMhfGetUdMonsterPoint{}},
		{"MsgMhfGetUdMyPoint", &MsgMhfGetUdMyPoint{}},
		{"MsgMhfGetUdMyRanking", &MsgMhfGetUdMyRanking{}},
		{"MsgMhfGetUdNormaPresentList", &MsgMhfGetUdNormaPresentList{}},
		{"MsgMhfGetUdRanking", &MsgMhfGetUdRanking{}},
		{"MsgMhfGetUdRankingRewardList", &MsgMhfGetUdRankingRewardList{}},
		{"MsgMhfGetUdSelectedColorInfo", &MsgMhfGetUdSelectedColorInfo{}},
		{"MsgMhfGetUdShopCoin", &MsgMhfGetUdShopCoin{}},
		{"MsgMhfGetUdTacticsBonusQuest", &MsgMhfGetUdTacticsBonusQuest{}},
		{"MsgMhfGetUdTacticsFirstQuestBonus", &MsgMhfGetUdTacticsFirstQuestBonus{}},
		{"MsgMhfGetUdTacticsFollower", &MsgMhfGetUdTacticsFollower{}},
		{"MsgMhfGetUdTacticsLog", &MsgMhfGetUdTacticsLog{}},
		{"MsgMhfGetUdTacticsPoint", &MsgMhfGetUdTacticsPoint{}},
		{"MsgMhfGetUdTacticsRanking", &MsgMhfGetUdTacticsRanking{}},
		{"MsgMhfGetUdTacticsRemainingPoint", &MsgMhfGetUdTacticsRemainingPoint{}},
		{"MsgMhfGetUdTacticsRewardList", &MsgMhfGetUdTacticsRewardList{}},
		{"MsgMhfGetUdTotalPointInfo", &MsgMhfGetUdTotalPointInfo{}},
		{"MsgMhfGetWeeklySeibatuRankingReward", &MsgMhfGetWeeklySeibatuRankingReward{}},
		{"MsgMhfInfoFesta", &MsgMhfInfoFesta{}},
		{"MsgMhfInfoGuild", &MsgMhfInfoGuild{}},
		{"MsgMhfInfoScenarioCounter", &MsgMhfInfoScenarioCounter{}},
		{"MsgMhfInfoTournament", &MsgMhfInfoTournament{}},
		{"MsgMhfKickExportForce", &MsgMhfKickExportForce{}},
		{"MsgMhfListMail", &MsgMhfListMail{}},
		{"MsgMhfListMember", &MsgMhfListMember{}},
		{"MsgMhfLoadFavoriteQuest", &MsgMhfLoadFavoriteQuest{}},
		{"MsgMhfLoadHouse", &MsgMhfLoadHouse{}},
		{"MsgMhfLoadLegendDispatch", &MsgMhfLoadLegendDispatch{}},
		{"MsgMhfLoadMezfesData", &MsgMhfLoadMezfesData{}},
		{"MsgMhfLoadPlateMyset", &MsgMhfLoadPlateMyset{}},
		{"MsgMhfLoadRengokuData", &MsgMhfLoadRengokuData{}},
		{"MsgMhfLoadScenarioData", &MsgMhfLoadScenarioData{}},
		{"MsgMhfLoaddata", &MsgMhfLoaddata{}},
		{"MsgMhfMercenaryHuntdata", &MsgMhfMercenaryHuntdata{}},
		{"MsgMhfOperateGuild", &MsgMhfOperateGuild{}},
		{"MsgMhfOperateGuildMember", &MsgMhfOperateGuildMember{}},
		{"MsgMhfOperateGuildTresureReport", &MsgMhfOperateGuildTresureReport{}},
		{"MsgMhfOperateJoint", &MsgMhfOperateJoint{}},
		{"MsgMhfOperateWarehouse", &MsgMhfOperateWarehouse{}},
		{"MsgMhfOperationInvGuild", &MsgMhfOperationInvGuild{}},
		{"MsgMhfOprMember", &MsgMhfOprMember{}},
		{"MsgMhfOprtMail", &MsgMhfOprtMail{}},
		{"MsgMhfPaymentAchievement", &MsgMhfPaymentAchievement{}},
		{"MsgMhfPlayBoxGacha", &MsgMhfPlayBoxGacha{}},
		{"MsgMhfPlayFreeGacha", &MsgMhfPlayFreeGacha{}},
		{"MsgMhfPlayNormalGacha", &MsgMhfPlayNormalGacha{}},
		{"MsgMhfPlayStepupGacha", &MsgMhfPlayStepupGacha{}},
		{"MsgMhfPostBoostTime", &MsgMhfPostBoostTime{}},
		{"MsgMhfPostBoostTimeLimit", &MsgMhfPostBoostTimeLimit{}},
		{"MsgMhfPostBoostTimeQuestReturn", &MsgMhfPostBoostTimeQuestReturn{}},
		{"MsgMhfPostCafeDurationBonusReceived", &MsgMhfPostCafeDurationBonusReceived{}},
		{"MsgMhfPostGemInfo", &MsgMhfPostGemInfo{}},
		{"MsgMhfPostGuildScout", &MsgMhfPostGuildScout{}},
		{"MsgMhfPostRyoudama", &MsgMhfPostRyoudama{}},
		{"MsgMhfPostSeibattle", &MsgMhfPostSeibattle{}},
		{"MsgMhfPostTenrouirai", &MsgMhfPostTenrouirai{}},
		{"MsgMhfPostTinyBin", &MsgMhfPostTinyBin{}},
		{"MsgMhfPresentBox", &MsgMhfPresentBox{}},
		{"MsgMhfReadBeatLevel", &MsgMhfReadBeatLevel{}},
		{"MsgMhfReadBeatLevelAllRanking", &MsgMhfReadBeatLevelAllRanking{}},
		{"MsgMhfReadBeatLevelMyRanking", &MsgMhfReadBeatLevelMyRanking{}},
		{"MsgMhfReadGuildcard", &MsgMhfReadGuildcard{}},
		{"MsgMhfReadLastWeekBeatRanking", &MsgMhfReadLastWeekBeatRanking{}},
		{"MsgMhfReadMail", &MsgMhfReadMail{}},
		{"MsgMhfReadMercenaryM", &MsgMhfReadMercenaryM{}},
		{"MsgMhfReadMercenaryW", &MsgMhfReadMercenaryW{}},
		{"MsgMhfReceiveCafeDurationBonus", &MsgMhfReceiveCafeDurationBonus{}},
		{"MsgMhfReceiveGachaItem", &MsgMhfReceiveGachaItem{}},
		{"MsgMhfRegisterEvent", &MsgMhfRegisterEvent{}},
		{"MsgMhfRegistGuildAdventure", &MsgMhfRegistGuildAdventure{}},
		{"MsgMhfRegistGuildAdventureDiva", &MsgMhfRegistGuildAdventureDiva{}},
		{"MsgMhfRegistGuildCooking", &MsgMhfRegistGuildCooking{}},
		{"MsgMhfRegistGuildTresure", &MsgMhfRegistGuildTresure{}},
		{"MsgMhfRegistSpabiTime", &MsgMhfRegistSpabiTime{}},
		{"MsgMhfReleaseEvent", &MsgMhfReleaseEvent{}},
		{"MsgMhfResetAchievement", &MsgMhfResetAchievement{}},
		{"MsgMhfResetBoxGachaInfo", &MsgMhfResetBoxGachaInfo{}},
		{"MsgMhfResetTitle", &MsgMhfResetTitle{}},
		{"MsgMhfSaveDecoMyset", &MsgMhfSaveDecoMyset{}},
		{"MsgMhfSaveFavoriteQuest", &MsgMhfSaveFavoriteQuest{}},
		{"MsgMhfSaveHunterNavi", &MsgMhfSaveHunterNavi{}},
		{"MsgMhfSaveMercenary", &MsgMhfSaveMercenary{}},
		{"MsgMhfSaveMezfesData", &MsgMhfSaveMezfesData{}},
		{"MsgMhfSaveOtomoAirou", &MsgMhfSaveOtomoAirou{}},
		{"MsgMhfSavePartner", &MsgMhfSavePartner{}},
		{"MsgMhfSavePlateBox", &MsgMhfSavePlateBox{}},
		{"MsgMhfSavePlateData", &MsgMhfSavePlateData{}},
		{"MsgMhfSavePlateMyset", &MsgMhfSavePlateMyset{}},
		{"MsgMhfSaveRengokuData", &MsgMhfSaveRengokuData{}},
		{"MsgMhfSaveScenarioData", &MsgMhfSaveScenarioData{}},
		{"MsgMhfSavedata", &MsgMhfSavedata{}},
		{"MsgMhfSendMail", &MsgMhfSendMail{}},
		{"MsgMhfSetCaAchievement", &MsgMhfSetCaAchievement{}},
		{"MsgMhfSetCaAchievementHist", &MsgMhfSetCaAchievementHist{}},
		{"MsgMhfSetDailyMissionPersonal", &MsgMhfSetDailyMissionPersonal{}},
		{"MsgMhfSetEnhancedMinidata", &MsgMhfSetEnhancedMinidata{}},
		{"MsgMhfSetGuildManageRight", &MsgMhfSetGuildManageRight{}},
		{"MsgMhfSetGuildMissionTarget", &MsgMhfSetGuildMissionTarget{}},
		{"MsgMhfSetKiju", &MsgMhfSetKiju{}},
		{"MsgMhfSetRejectGuildScout", &MsgMhfSetRejectGuildScout{}},
		{"MsgMhfSetRestrictionEvent", &MsgMhfSetRestrictionEvent{}},
		{"MsgMhfSetUdTacticsFollower", &MsgMhfSetUdTacticsFollower{}},
		{"MsgMhfSexChanger", &MsgMhfSexChanger{}},
		{"MsgMhfStampcardPrize", &MsgMhfStampcardPrize{}},
		{"MsgMhfStartBoostTime", &MsgMhfStartBoostTime{}},
		{"MsgMhfStateCampaign", &MsgMhfStateCampaign{}},
		{"MsgMhfStateFestaG", &MsgMhfStateFestaG{}},
		{"MsgMhfStateFestaU", &MsgMhfStateFestaU{}},
		{"MsgMhfTransferItem", &MsgMhfTransferItem{}},
		{"MsgMhfTransitMessage", &MsgMhfTransitMessage{}},
		{"MsgMhfUnreserveSrg", &MsgMhfUnreserveSrg{}},
		{"MsgMhfUpdateBeatLevel", &MsgMhfUpdateBeatLevel{}},
		{"MsgMhfUpdateCafepoint", &MsgMhfUpdateCafepoint{}},
		{"MsgMhfUpdateEquipSkinHist", &MsgMhfUpdateEquipSkinHist{}},
		{"MsgMhfUpdateEtcPoint", &MsgMhfUpdateEtcPoint{}},
		{"MsgMhfUpdateForceGuildRank", &MsgMhfUpdateForceGuildRank{}},
		{"MsgMhfUpdateGuacot", &MsgMhfUpdateGuacot{}},
		{"MsgMhfUpdateGuild", &MsgMhfUpdateGuild{}},
		{"MsgMhfUpdateGuildIcon", &MsgMhfUpdateGuildIcon{}},
		{"MsgMhfUpdateGuildItem", &MsgMhfUpdateGuildItem{}},
		{"MsgMhfUpdateGuildMessageBoard", &MsgMhfUpdateGuildMessageBoard{}},
		{"MsgMhfUpdateGuildcard", &MsgMhfUpdateGuildcard{}},
		{"MsgMhfUpdateHouse", &MsgMhfUpdateHouse{}},
		{"MsgMhfUpdateInterior", &MsgMhfUpdateInterior{}},
		{"MsgMhfUpdateMyhouseInfo", &MsgMhfUpdateMyhouseInfo{}},
		{"MsgMhfUpdateUnionItem", &MsgMhfUpdateUnionItem{}},
		{"MsgMhfUpdateUseTrendWeaponLog", &MsgMhfUpdateUseTrendWeaponLog{}},
		{"MsgMhfUpdateWarehouse", &MsgMhfUpdateWarehouse{}},
		{"MsgMhfUseGachaPoint", &MsgMhfUseGachaPoint{}},
		{"MsgMhfUseKeepLoginBoost", &MsgMhfUseKeepLoginBoost{}},
		{"MsgMhfUseRewardSong", &MsgMhfUseRewardSong{}},
		{"MsgMhfUseUdShopCoin", &MsgMhfUseUdShopCoin{}},
		{"MsgMhfVoteFesta", &MsgMhfVoteFesta{}},
		// Sys packets
		{"MsgSysAcquireSemaphore", &MsgSysAcquireSemaphore{}},
		{"MsgSysAuthData", &MsgSysAuthData{}},
		{"MsgSysAuthQuery", &MsgSysAuthQuery{}},
		{"MsgSysAuthTerminal", &MsgSysAuthTerminal{}},
		{"MsgSysCheckSemaphore", &MsgSysCheckSemaphore{}},
		{"MsgSysCloseMutex", &MsgSysCloseMutex{}},
		{"MsgSysCollectBinary", &MsgSysCollectBinary{}},
		{"MsgSysCreateAcquireSemaphore", &MsgSysCreateAcquireSemaphore{}},
		{"MsgSysCreateMutex", &MsgSysCreateMutex{}},
		{"MsgSysCreateObject", &MsgSysCreateObject{}},
		{"MsgSysCreateOpenMutex", &MsgSysCreateOpenMutex{}},
		{"MsgSysDeleteMutex", &MsgSysDeleteMutex{}},
		{"MsgSysDeleteSemaphore", &MsgSysDeleteSemaphore{}},
		{"MsgSysEnumerateStage", &MsgSysEnumerateStage{}},
		{"MsgSysEnumlobby", &MsgSysEnumlobby{}},
		{"MsgSysEnumuser", &MsgSysEnumuser{}},
		{"MsgSysGetFile", &MsgSysGetFile{}},
		{"MsgSysGetObjectBinary", &MsgSysGetObjectBinary{}},
		{"MsgSysGetObjectOwner", &MsgSysGetObjectOwner{}},
		{"MsgSysGetState", &MsgSysGetState{}},
		{"MsgSysGetUserBinary", &MsgSysGetUserBinary{}},
		{"MsgSysHideClient", &MsgSysHideClient{}},
		{"MsgSysInfokyserver", &MsgSysInfokyserver{}},
		{"MsgSysIssueLogkey", &MsgSysIssueLogkey{}},
		{"MsgSysLoadRegister", &MsgSysLoadRegister{}},
		{"MsgSysLockGlobalSema", &MsgSysLockGlobalSema{}},
		{"MsgSysOpenMutex", &MsgSysOpenMutex{}},
		{"MsgSysOperateRegister", &MsgSysOperateRegister{}},
		{"MsgSysRecordLog", &MsgSysRecordLog{}},
		{"MsgSysReleaseSemaphore", &MsgSysReleaseSemaphore{}},
		{"MsgSysReserveStage", &MsgSysReserveStage{}},
		{"MsgSysRightsReload", &MsgSysRightsReload{}},
		{"MsgSysRotateObject", &MsgSysRotateObject{}},
		{"MsgSysSerialize", &MsgSysSerialize{}},
		{"MsgSysSetObjectBinary", &MsgSysSetObjectBinary{}},
		{"MsgSysSetUserBinary", &MsgSysSetUserBinary{}},
		{"MsgSysTerminalLog", &MsgSysTerminalLog{}},
		{"MsgSysTransBinary", &MsgSysTransBinary{}},
		{"MsgSysUnlockStage", &MsgSysUnlockStage{}},
		// Additional Mhf packets
		{"MsgMhfAddUdTacticsPoint", &MsgMhfAddUdTacticsPoint{}},
		{"MsgMhfAddKouryouPoint", &MsgMhfAddKouryouPoint{}},
		{"MsgMhfAcquireExchangeShop", &MsgMhfAcquireExchangeShop{}},
		{"MsgMhfGetEtcPoints", &MsgMhfGetEtcPoints{}},
		{"MsgMhfEnumerateCampaign", &MsgMhfEnumerateCampaign{}},
	}

	ctx := &clientctx.ClientContext{RealClientMode: cfg.ZZ}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			bf := byteframe.NewByteFrame()
			err, panicked := callBuildSafe(tt.pkt, bf, ctx)
			if panicked {
				return
			}
			if err == nil {
				return
			}
			if err.Error() != "NOT IMPLEMENTED" {
				t.Errorf("Build() returned unexpected error: %v", err)
			}
		})
	}
}

// TestParseCoverage_NotImplemented_Extended exercises Parse() on additional packet types
// whose Parse method returns "NOT IMPLEMENTED" and is not yet covered.
func TestParseCoverage_NotImplemented_Extended(t *testing.T) {
	tests := []struct {
		name string
		pkt  MHFPacket
	}{
		{"MsgMhfRegisterEvent", &MsgMhfRegisterEvent{}},
		{"MsgMhfReleaseEvent", &MsgMhfReleaseEvent{}},
		{"MsgMhfEnumeratePrice", &MsgMhfEnumeratePrice{}},
		{"MsgMhfEnumerateTitle", &MsgMhfEnumerateTitle{}},
		{"MsgMhfAcquireTitle", &MsgMhfAcquireTitle{}},
		{"MsgMhfEnumerateUnionItem", &MsgMhfEnumerateUnionItem{}},
		{"MsgMhfUpdateUnionItem", &MsgMhfUpdateUnionItem{}},
		{"MsgMhfCreateJoint", &MsgMhfCreateJoint{}},
		{"MsgMhfOperateJoint", &MsgMhfOperateJoint{}},
		{"MsgMhfUpdateGuildIcon", &MsgMhfUpdateGuildIcon{}},
		{"MsgMhfUpdateGuildItem", &MsgMhfUpdateGuildItem{}},
		{"MsgMhfEnumerateGuildItem", &MsgMhfEnumerateGuildItem{}},
		{"MsgMhfOperationInvGuild", &MsgMhfOperationInvGuild{}},
		{"MsgMhfStampcardPrize", &MsgMhfStampcardPrize{}},
		{"MsgMhfUpdateForceGuildRank", &MsgMhfUpdateForceGuildRank{}},
		{"MsgMhfResetTitle", &MsgMhfResetTitle{}},
		{"MsgMhfRegistGuildAdventureDiva", &MsgMhfRegistGuildAdventureDiva{}},
	}

	ctx := &clientctx.ClientContext{RealClientMode: cfg.ZZ}
	bf := byteframe.NewByteFrame()
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			err, panicked := callParseSafe(tt.pkt, bf, ctx)
			if panicked {
				return
			}
			if err == nil {
				return
			}
			if err.Error() != "NOT IMPLEMENTED" {
				t.Errorf("Parse() returned unexpected error: %v", err)
			}
		})
	}
}
