From 21d549c507aaa5e214dc50aac7bae6c121dbd690 Mon Sep 17 00:00:00 2001
From: UnKownOwO <80520429@qq.com>
Date: Thu, 24 Nov 2022 13:58:19 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E5=8A=A0=E5=9B=9Eproto?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
protocol/proto/AISnapshotEntityData.proto | 37 +
.../proto/AISnapshotEntitySkillCycle.proto | 28 +
protocol/proto/AISnapshotInfo.proto | 26 +
protocol/proto/AbilityActionBlink.proto | 27 +
.../proto/AbilityActionCreateGadget.proto | 28 +
protocol/proto/AbilityActionCreateTile.proto | 27 +
.../proto/AbilityActionDeductStamina.proto | 24 +
protocol/proto/AbilityActionDestroyTile.proto | 27 +
.../proto/AbilityActionFireAfterImage.proto | 26 +
.../proto/AbilityActionGenerateElemBall.proto | 28 +
protocol/proto/AbilityActionHitEffect.proto | 24 +
.../proto/AbilityActionServerMonsterLog.proto | 24 +
.../proto/AbilityActionSetCrashDamage.proto | 27 +
...ilityActionSetRandomOverrideMapValue.proto | 24 +
protocol/proto/AbilityActionSummon.proto | 27 +
.../proto/AbilityActionTriggerAbility.proto | 24 +
protocol/proto/AbilityAppliedAbility.proto | 30 +
protocol/proto/AbilityAppliedModifier.proto | 40 +
.../proto/AbilityApplyLevelModifier.proto | 24 +
protocol/proto/AbilityArgument.proto | 28 +
protocol/proto/AbilityAttachedModifier.proto | 28 +
protocol/proto/AbilityBornType.proto | 28 +
protocol/proto/AbilityChangeNotify.proto | 30 +
protocol/proto/AbilityControlBlock.proto | 26 +
protocol/proto/AbilityEmbryo.proto | 26 +
protocol/proto/AbilityFloatValue.proto | 24 +
protocol/proto/AbilityGadgetInfo.proto | 26 +
protocol/proto/AbilityIdentifier.proto | 29 +
.../proto/AbilityInvocationFailNotify.proto | 31 +
.../proto/AbilityInvocationFixedNotify.proto | 35 +
protocol/proto/AbilityInvocationsNotify.proto | 30 +
protocol/proto/AbilityInvokeArgument.proto | 84 ++
protocol/proto/AbilityInvokeEntry.proto | 35 +
protocol/proto/AbilityInvokeEntryHead.proto | 30 +
protocol/proto/AbilityMetaAddAbility.proto | 26 +
...AbilityMetaAddOrGetAbilityAndTrigger.proto | 28 +
.../proto/AbilityMetaDurabilityIsZero.proto | 24 +
.../AbilityMetaElementReactionVisual.proto | 27 +
protocol/proto/AbilityMetaLoseHp.proto | 24 +
.../proto/AbilityMetaModifierChange.proto | 39 +
.../AbilityMetaModifierDurabilityChange.proto | 25 +
.../proto/AbilityMetaReInitOverrideMap.proto | 26 +
.../proto/AbilityMetaSetAbilityTrigger.proto | 24 +
.../proto/AbilityMetaSetKilledState.proto | 24 +
.../AbilityMetaSetModifierApplyEntityId.proto | 24 +
.../proto/AbilityMetaSetPoseParameter.proto | 26 +
.../AbilityMetaSpecialFloatArgument.proto | 25 +
.../AbilityMetaTriggerElementReaction.proto | 28 +
.../AbilityMetaUpdateBaseReactionDamage.proto | 29 +
protocol/proto/AbilityMixinAvatarCombat.proto | 24 +
.../AbilityMixinAvatarSteerByCamera.proto | 27 +
protocol/proto/AbilityMixinCostStamina.proto | 24 +
...bilityMixinDoActionByElementReaction.proto | 24 +
...BySelfModifierElementDurabilityRatio.proto | 24 +
.../proto/AbilityMixinElementShield.proto | 29 +
protocol/proto/AbilityMixinEliteShield.proto | 24 +
protocol/proto/AbilityMixinEmpty.proto | 22 +
.../AbilityMixinFieldEntityCountChange.proto | 24 +
.../proto/AbilityMixinFireworksLauncher.proto | 29 +
protocol/proto/AbilityMixinGlobalShield.proto | 29 +
protocol/proto/AbilityMixinRecoverInfo.proto | 33 +
.../proto/AbilityMixinScenePropSync.proto | 28 +
protocol/proto/AbilityMixinShieldBar.proto | 27 +
.../proto/AbilityMixinShootFromCamera.proto | 27 +
.../proto/AbilityMixinUGCTimeControl.proto | 25 +
protocol/proto/AbilityMixinUIInteract.proto | 22 +
.../proto/AbilityMixinWidgetMpSupport.proto | 24 +
.../proto/AbilityMixinWindSeedSpawner.proto | 40 +
protocol/proto/AbilityMixinWindZone.proto | 25 +
protocol/proto/AbilityScalarType.proto | 30 +
protocol/proto/AbilityScalarValueEntry.proto | 34 +
protocol/proto/AbilityString.proto | 27 +
protocol/proto/AbilitySyncStateInfo.proto | 34 +
.../AcceptCityReputationRequestReq.proto | 29 +
.../AcceptCityReputationRequestRsp.proto | 29 +
protocol/proto/Achievement.proto | 35 +
protocol/proto/AchievementAllDataNotify.proto | 30 +
protocol/proto/AchievementUpdateNotify.proto | 29 +
.../proto/ActivityAcceptAllGiveGiftReq.proto | 28 +
.../proto/ActivityAcceptAllGiveGiftRsp.proto | 31 +
.../proto/ActivityAcceptGiftResultInfo.proto | 26 +
.../proto/ActivityAcceptGiveGiftReq.proto | 29 +
.../proto/ActivityAcceptGiveGiftRsp.proto | 31 +
protocol/proto/ActivityBannerClearReq.proto | 29 +
protocol/proto/ActivityBannerClearRsp.proto | 29 +
protocol/proto/ActivityBannerNotify.proto | 28 +
protocol/proto/ActivityCoinInfoNotify.proto | 29 +
.../proto/ActivityCondStateChangeNotify.proto | 34 +
...isableTransferPointInteractionNotify.proto | 30 +
protocol/proto/ActivityDungeonAvatar.proto | 26 +
.../proto/ActivityFriendGiftWishData.proto | 30 +
.../ActivityGetCanGiveFriendGiftReq.proto | 28 +
.../ActivityGetCanGiveFriendGiftRsp.proto | 29 +
.../ActivityGetFriendGiftWishListReq.proto | 28 +
.../ActivityGetFriendGiftWishListRsp.proto | 31 +
.../proto/ActivityGetRecvGiftListReq.proto | 28 +
.../proto/ActivityGetRecvGiftListRsp.proto | 31 +
.../proto/ActivityGiveFriendGiftReq.proto | 30 +
.../proto/ActivityGiveFriendGiftRsp.proto | 29 +
.../proto/ActivityHaveRecvGiftNotify.proto | 27 +
protocol/proto/ActivityInfo.proto | 173 +++
protocol/proto/ActivityInfoNotify.proto | 30 +
.../proto/ActivityPlayOpenAnimNotify.proto | 28 +
protocol/proto/ActivityPushTipsData.proto | 27 +
.../proto/ActivityPushTipsInfoNotify.proto | 31 +
protocol/proto/ActivityPushTipsState.proto | 26 +
protocol/proto/ActivityReadPushTipsReq.proto | 29 +
protocol/proto/ActivityReadPushTipsRsp.proto | 27 +
protocol/proto/ActivityRecvGiftData.proto | 30 +
protocol/proto/ActivitySaleChangeNotify.proto | 28 +
protocol/proto/ActivityScheduleInfo.proto | 28 +
.../proto/ActivityScheduleInfoNotify.proto | 31 +
.../proto/ActivitySelectAvatarCardReq.proto | 29 +
.../proto/ActivitySelectAvatarCardRsp.proto | 29 +
protocol/proto/ActivitySetGiftWishReq.proto | 29 +
protocol/proto/ActivitySetGiftWishRsp.proto | 28 +
protocol/proto/ActivityShopSheetInfo.proto | 26 +
.../proto/ActivityTakeAllScoreRewardReq.proto | 28 +
.../proto/ActivityTakeAllScoreRewardRsp.proto | 29 +
.../proto/ActivityTakeScoreRewardReq.proto | 29 +
.../proto/ActivityTakeScoreRewardRsp.proto | 29 +
.../ActivityTakeWatcherRewardBatchReq.proto | 29 +
.../ActivityTakeWatcherRewardBatchRsp.proto | 32 +
.../proto/ActivityTakeWatcherRewardReq.proto | 29 +
.../proto/ActivityTakeWatcherRewardRsp.proto | 29 +
.../proto/ActivityUpdateWatcherNotify.proto | 31 +
protocol/proto/ActivityWatcherInfo.proto | 27 +
.../proto/AddAranaraCollectionNotify.proto | 32 +
protocol/proto/AddBackupAvatarTeamReq.proto | 26 +
protocol/proto/AddBackupAvatarTeamRsp.proto | 27 +
protocol/proto/AddBlacklistReq.proto | 28 +
protocol/proto/AddBlacklistRsp.proto | 30 +
protocol/proto/AddFriendNotify.proto | 30 +
.../proto/AddNoGachaAvatarCardNotify.proto | 35 +
.../AddNoGachaAvatarCardTransferItem.proto | 26 +
.../proto/AddQuestContentProgressReq.proto | 30 +
.../proto/AddQuestContentProgressRsp.proto | 28 +
protocol/proto/AddRandTaskInfoNotify.proto | 30 +
protocol/proto/AddSeenMonsterNotify.proto | 28 +
protocol/proto/AdjustTrackingInfo.proto | 29 +
protocol/proto/AdjustWorldLevelReq.proto | 29 +
protocol/proto/AdjustWorldLevelRsp.proto | 29 +
protocol/proto/AiSkillCdInfo.proto | 25 +
protocol/proto/AiSyncInfo.proto | 26 +
protocol/proto/AiThreatInfo.proto | 24 +
protocol/proto/AllCoopInfoNotify.proto | 29 +
protocol/proto/AllMarkPointNotify.proto | 29 +
protocol/proto/AllSeenMonsterNotify.proto | 28 +
protocol/proto/AllShareCDDataNotify.proto | 29 +
...AllWidgetBackgroundActiveStateNotify.proto | 27 +
protocol/proto/AllWidgetDataNotify.proto | 44 +
protocol/proto/AnchorPointData.proto | 30 +
protocol/proto/AnchorPointDataNotify.proto | 30 +
protocol/proto/AnchorPointOpReq.proto | 35 +
protocol/proto/AnchorPointOpRsp.proto | 29 +
.../proto/AnimatorForceSetAirMoveNotify.proto | 32 +
.../proto/AnimatorParameterValueInfo.proto | 29 +
.../AnimatorParameterValueInfoPair.proto | 27 +
protocol/proto/AnnounceData.proto | 32 +
protocol/proto/AntiAddictNotify.proto | 29 +
.../proto/AranaraCollectionDataNotify.proto | 29 +
protocol/proto/AranaraCollectionState.proto | 27 +
protocol/proto/AranaraCollectionSuite.proto | 27 +
protocol/proto/AreaPlayInfoNotify.proto | 30 +
protocol/proto/AreaPlayType.proto | 26 +
.../ArenaChallengeActivityDetailInfo.proto | 29 +
.../ArenaChallengeChildChallengeInfo.proto | 28 +
.../proto/ArenaChallengeFinishNotify.proto | 32 +
.../proto/ArenaChallengeMonsterLevel.proto | 25 +
protocol/proto/AskAddFriendNotify.proto | 30 +
protocol/proto/AskAddFriendReq.proto | 28 +
protocol/proto/AskAddFriendRsp.proto | 30 +
.../proto/AssociateInferenceWordReq.proto | 30 +
.../proto/AssociateInferenceWordRsp.proto | 30 +
protocol/proto/AsterActivityDetailInfo.proto | 37 +
protocol/proto/AsterLargeDetailInfo.proto | 25 +
protocol/proto/AsterLargeInfoNotify.proto | 29 +
protocol/proto/AsterLittleDetailInfo.proto | 30 +
protocol/proto/AsterLittleInfoNotify.proto | 29 +
protocol/proto/AsterLittleStageState.proto | 27 +
protocol/proto/AsterMidCampInfo.proto | 27 +
protocol/proto/AsterMidCampInfoNotify.proto | 29 +
protocol/proto/AsterMidDetailInfo.proto | 29 +
protocol/proto/AsterMidInfoNotify.proto | 29 +
protocol/proto/AsterMiscInfoNotify.proto | 28 +
protocol/proto/AsterProgressDetailInfo.proto | 25 +
protocol/proto/AsterProgressInfoNotify.proto | 29 +
protocol/proto/AttackHitEffectResult.proto | 29 +
protocol/proto/AttackResult.proto | 58 +
protocol/proto/AttackResultCreateCount.proto | 25 +
protocol/proto/AuditState.proto | 26 +
protocol/proto/AuthorityChange.proto | 28 +
protocol/proto/AvatarAddNotify.proto | 30 +
protocol/proto/AvatarBuffAddNotify.proto | 29 +
protocol/proto/AvatarBuffDelNotify.proto | 29 +
protocol/proto/AvatarCardChangeReq.proto | 30 +
protocol/proto/AvatarCardChangeRsp.proto | 27 +
protocol/proto/AvatarChangeAnimHashReq.proto | 29 +
protocol/proto/AvatarChangeAnimHashRsp.proto | 29 +
.../proto/AvatarChangeCostumeNotify.proto | 29 +
protocol/proto/AvatarChangeCostumeReq.proto | 29 +
protocol/proto/AvatarChangeCostumeRsp.proto | 29 +
.../proto/AvatarChangeElementTypeReq.proto | 29 +
.../proto/AvatarChangeElementTypeRsp.proto | 27 +
protocol/proto/AvatarDataNotify.proto | 37 +
protocol/proto/AvatarDelNotify.proto | 27 +
protocol/proto/AvatarDieAnimationEndReq.proto | 32 +
protocol/proto/AvatarDieAnimationEndRsp.proto | 29 +
.../proto/AvatarEnterElementViewNotify.proto | 29 +
protocol/proto/AvatarEnterSceneInfo.proto | 34 +
protocol/proto/AvatarEquipAffixInfo.proto | 25 +
.../proto/AvatarEquipAffixStartNotify.proto | 30 +
protocol/proto/AvatarEquipChangeNotify.proto | 36 +
protocol/proto/AvatarExcelInfo.proto | 28 +
.../proto/AvatarExpeditionAllDataReq.proto | 26 +
.../proto/AvatarExpeditionAllDataRsp.proto | 32 +
.../proto/AvatarExpeditionCallBackReq.proto | 28 +
.../proto/AvatarExpeditionCallBackRsp.proto | 30 +
.../proto/AvatarExpeditionDataNotify.proto | 29 +
.../proto/AvatarExpeditionGetRewardReq.proto | 28 +
.../proto/AvatarExpeditionGetRewardRsp.proto | 33 +
protocol/proto/AvatarExpeditionInfo.proto | 30 +
protocol/proto/AvatarExpeditionStartReq.proto | 30 +
protocol/proto/AvatarExpeditionStartRsp.proto | 30 +
protocol/proto/AvatarExpeditionState.proto | 28 +
protocol/proto/AvatarFetterDataNotify.proto | 29 +
protocol/proto/AvatarFetterInfo.proto | 31 +
.../proto/AvatarFetterLevelRewardReq.proto | 29 +
.../proto/AvatarFetterLevelRewardRsp.proto | 30 +
protocol/proto/AvatarFightPropNotify.proto | 28 +
.../proto/AvatarFightPropUpdateNotify.proto | 28 +
.../proto/AvatarFlycloakChangeNotify.proto | 28 +
protocol/proto/AvatarFollowRouteNotify.proto | 33 +
protocol/proto/AvatarGainCostumeNotify.proto | 27 +
protocol/proto/AvatarGainFlycloakNotify.proto | 27 +
protocol/proto/AvatarInfo.proto | 57 +
.../proto/AvatarLifeStateChangeNotify.proto | 36 +
.../proto/AvatarPromoteGetRewardReq.proto | 29 +
.../proto/AvatarPromoteGetRewardRsp.proto | 30 +
protocol/proto/AvatarPromoteReq.proto | 28 +
protocol/proto/AvatarPromoteRsp.proto | 28 +
.../proto/AvatarPropChangeReasonNotify.proto | 33 +
protocol/proto/AvatarPropNotify.proto | 28 +
protocol/proto/AvatarSatiationData.proto | 26 +
.../proto/AvatarSatiationDataNotify.proto | 29 +
protocol/proto/AvatarSkillChangeNotify.proto | 32 +
.../proto/AvatarSkillDepotChangeNotify.proto | 34 +
protocol/proto/AvatarSkillInfo.proto | 26 +
protocol/proto/AvatarSkillInfoNotify.proto | 30 +
.../AvatarSkillMaxChargeCountNotify.proto | 29 +
protocol/proto/AvatarSkillUpgradeReq.proto | 30 +
protocol/proto/AvatarSkillUpgradeRsp.proto | 31 +
protocol/proto/AvatarTeam.proto | 25 +
protocol/proto/AvatarTeamAllDataNotify.proto | 31 +
protocol/proto/AvatarTeamResonanceInfo.proto | 27 +
protocol/proto/AvatarTeamUpdateNotify.proto | 30 +
protocol/proto/AvatarUnlockTalentNotify.proto | 30 +
protocol/proto/AvatarUpgradeReq.proto | 30 +
protocol/proto/AvatarUpgradeRsp.proto | 32 +
protocol/proto/AvatarWearFlycloakReq.proto | 29 +
protocol/proto/AvatarWearFlycloakRsp.proto | 29 +
protocol/proto/BackMyWorldReq.proto | 26 +
protocol/proto/BackMyWorldRsp.proto | 27 +
.../BackPlayCustomDungeonOfficialReq.proto | 28 +
.../BackPlayCustomDungeonOfficialRsp.proto | 27 +
protocol/proto/BackRebornGalleryReq.proto | 28 +
protocol/proto/BackRebornGalleryRsp.proto | 28 +
protocol/proto/BalloonGallerySettleInfo.proto | 29 +
protocol/proto/BalloonPlayerInfo.proto | 27 +
protocol/proto/BalloonSettleInfo.proto | 30 +
protocol/proto/BargainOfferPriceReq.proto | 29 +
protocol/proto/BargainOfferPriceRsp.proto | 32 +
protocol/proto/BargainResultType.proto | 26 +
protocol/proto/BargainSnapshot.proto | 27 +
protocol/proto/BargainStartNotify.proto | 30 +
protocol/proto/BargainTerminateNotify.proto | 27 +
.../proto/BartenderActivityDetailInfo.proto | 32 +
protocol/proto/BartenderCancelLevelReq.proto | 28 +
protocol/proto/BartenderCancelLevelRsp.proto | 28 +
protocol/proto/BartenderCancelOrderReq.proto | 28 +
protocol/proto/BartenderCancelOrderRsp.proto | 28 +
.../proto/BartenderCompleteOrderReq.proto | 36 +
.../proto/BartenderCompleteOrderRsp.proto | 32 +
protocol/proto/BartenderFinishLevelReq.proto | 28 +
protocol/proto/BartenderFinishLevelRsp.proto | 28 +
protocol/proto/BartenderGetFormulaReq.proto | 31 +
protocol/proto/BartenderGetFormulaRsp.proto | 30 +
protocol/proto/BartenderLevelInfo.proto | 26 +
.../proto/BartenderLevelProgressNotify.proto | 31 +
protocol/proto/BartenderStartLevelReq.proto | 28 +
protocol/proto/BartenderStartLevelRsp.proto | 30 +
protocol/proto/BartenderTaskInfo.proto | 25 +
protocol/proto/BattlePassAllDataNotify.proto | 32 +
protocol/proto/BattlePassBuySuccNotify.proto | 32 +
.../BattlePassCurScheduleUpdateNotify.proto | 30 +
protocol/proto/BattlePassCycle.proto | 26 +
protocol/proto/BattlePassMission.proto | 36 +
.../proto/BattlePassMissionDelNotify.proto | 27 +
.../proto/BattlePassMissionUpdateNotify.proto | 29 +
protocol/proto/BattlePassProduct.proto | 26 +
protocol/proto/BattlePassRewardTag.proto | 28 +
.../proto/BattlePassRewardTakeOption.proto | 27 +
protocol/proto/BattlePassSchedule.proto | 41 +
protocol/proto/BattlePassUnlockStatus.proto | 26 +
.../proto/BeginCameraSceneLookNotify.proto | 53 +
...ginCameraSceneLookWithTemplateNotify.proto | 40 +
protocol/proto/BigTalentPointConvertReq.proto | 29 +
protocol/proto/BigTalentPointConvertRsp.proto | 28 +
protocol/proto/Birthday.proto | 25 +
.../proto/BlessingAcceptAllGivePicReq.proto | 26 +
.../proto/BlessingAcceptAllGivePicRsp.proto | 29 +
protocol/proto/BlessingAcceptGivePicReq.proto | 29 +
protocol/proto/BlessingAcceptGivePicRsp.proto | 30 +
.../proto/BlessingActivityDetailInfo.proto | 31 +
protocol/proto/BlessingFriendPicData.proto | 32 +
.../BlessingGetAllRecvPicRecordListReq.proto | 26 +
.../BlessingGetAllRecvPicRecordListRsp.proto | 30 +
.../proto/BlessingGetFriendPicListReq.proto | 26 +
.../proto/BlessingGetFriendPicListRsp.proto | 30 +
protocol/proto/BlessingGiveFriendPicReq.proto | 29 +
protocol/proto/BlessingGiveFriendPicRsp.proto | 29 +
.../proto/BlessingRecvFriendPicNotify.proto | 28 +
protocol/proto/BlessingRecvPicRecord.proto | 34 +
protocol/proto/BlessingRedeemRewardReq.proto | 26 +
protocol/proto/BlessingRedeemRewardRsp.proto | 28 +
protocol/proto/BlessingScanReq.proto | 28 +
protocol/proto/BlessingScanRsp.proto | 29 +
.../proto/BlitzRushActivityDetailInfo.proto | 30 +
.../proto/BlitzRushParkourRestartReq.proto | 29 +
.../proto/BlitzRushParkourRestartRsp.proto | 29 +
protocol/proto/BlitzRushStage.proto | 25 +
protocol/proto/BlockInfo.proto | 27 +
protocol/proto/BlossomBriefInfo.proto | 35 +
protocol/proto/BlossomBriefInfoNotify.proto | 30 +
protocol/proto/BlossomChestCreateNotify.proto | 29 +
protocol/proto/BlossomChestInfo.proto | 29 +
protocol/proto/BlossomChestInfoNotify.proto | 30 +
protocol/proto/BlossomScheduleInfo.proto | 29 +
protocol/proto/BonusActivityInfo.proto | 25 +
protocol/proto/BonusActivityInfoReq.proto | 26 +
protocol/proto/BonusActivityInfoRsp.proto | 30 +
.../proto/BonusActivityUpdateNotify.proto | 29 +
protocol/proto/BonusOpActivityInfo.proto | 24 +
protocol/proto/BossChestActivateNotify.proto | 28 +
protocol/proto/BossChestInfo.proto | 30 +
.../BounceConjuringActivityDetailInfo.proto | 28 +
.../proto/BounceConjuringChapterInfo.proto | 26 +
.../BounceConjuringGallerySettleInfo.proto | 35 +
.../proto/BounceConjuringSettleNotify.proto | 32 +
protocol/proto/BuildingInfo.proto | 30 +
protocol/proto/BuoyantCombatDailyInfo.proto | 25 +
protocol/proto/BuoyantCombatDetailInfo.proto | 26 +
.../BuoyantCombatGallerySettleInfo.proto | 30 +
protocol/proto/BuoyantCombatSettleInfo.proto | 27 +
.../proto/BuoyantCombatSettleNotify.proto | 30 +
protocol/proto/BuyBattlePassLevelReq.proto | 28 +
protocol/proto/BuyBattlePassLevelRsp.proto | 28 +
protocol/proto/BuyGoodsReq.proto | 32 +
protocol/proto/BuyGoodsRsp.proto | 33 +
protocol/proto/BuyResinReq.proto | 26 +
protocol/proto/BuyResinRsp.proto | 29 +
.../CalcWeaponUpgradeReturnItemsReq.proto | 32 +
.../CalcWeaponUpgradeReturnItemsRsp.proto | 31 +
protocol/proto/CanUseSkillNotify.proto | 27 +
.../CancelCityReputationRequestReq.proto | 29 +
.../CancelCityReputationRequestRsp.proto | 29 +
protocol/proto/CancelCoopTaskReq.proto | 28 +
protocol/proto/CancelCoopTaskRsp.proto | 28 +
.../proto/CancelFinishParentQuestNotify.proto | 27 +
protocol/proto/CardProductRewardNotify.proto | 29 +
...ogFinishedGlobalWatcherAllDataNotify.proto | 29 +
.../CataLogGlobalWatcherFinishedData.proto | 25 +
...ataLogNewFinishedGlobalWatcherNotify.proto | 29 +
protocol/proto/CellInfo.proto | 27 +
protocol/proto/ChallengeBrief.proto | 27 +
protocol/proto/ChallengeDataNotify.proto | 29 +
protocol/proto/ChallengeFinishType.proto | 27 +
protocol/proto/ChallengeRecord.proto | 27 +
protocol/proto/ChallengeRecordNotify.proto | 30 +
protocol/proto/ChangeAvatarReq.proto | 33 +
protocol/proto/ChangeAvatarRsp.proto | 29 +
.../proto/ChangeCustomDungeonRoomReq.proto | 28 +
.../proto/ChangeCustomDungeonRoomRsp.proto | 28 +
protocol/proto/ChangeEnergyReason.proto | 25 +
protocol/proto/ChangeGameTimeReq.proto | 30 +
protocol/proto/ChangeGameTimeRsp.proto | 29 +
protocol/proto/ChangeHpReason.proto | 53 +
protocol/proto/ChangeMailStarNotify.proto | 29 +
protocol/proto/ChangeMpTeamAvatarReq.proto | 29 +
protocol/proto/ChangeMpTeamAvatarRsp.proto | 29 +
.../proto/ChangeServerGlobalValueNotify.proto | 28 +
protocol/proto/ChangeTeamNameReq.proto | 29 +
protocol/proto/ChangeTeamNameRsp.proto | 29 +
...ChangeWidgetBackgroundActiveStateReq.proto | 29 +
...ChangeWidgetBackgroundActiveStateRsp.proto | 28 +
.../proto/ChangeWorldToSingleModeNotify.proto | 26 +
.../proto/ChangeWorldToSingleModeReq.proto | 26 +
.../proto/ChangeWorldToSingleModeRsp.proto | 28 +
.../ChannelerSlabActivityDetailInfo.proto | 31 +
protocol/proto/ChannelerSlabAssistInfo.proto | 26 +
protocol/proto/ChannelerSlabBuffInfo.proto | 30 +
.../proto/ChannelerSlabBuffSchemeInfo.proto | 26 +
protocol/proto/ChannelerSlabCamp.proto | 29 +
protocol/proto/ChannelerSlabChallenge.proto | 27 +
.../proto/ChannelerSlabChallengeStage.proto | 31 +
...hannelerSlabCheckEnterLoopDungeonReq.proto | 26 +
...hannelerSlabCheckEnterLoopDungeonRsp.proto | 27 +
.../ChannelerSlabEnterLoopDungeonReq.proto | 31 +
.../ChannelerSlabEnterLoopDungeonRsp.proto | 31 +
...erSlabLoopDungeonChallengeInfoNotify.proto | 31 +
.../proto/ChannelerSlabLoopDungeonInfo.proto | 29 +
.../ChannelerSlabLoopDungeonResultInfo.proto | 28 +
...lerSlabLoopDungeonSelectConditionReq.proto | 30 +
...lerSlabLoopDungeonSelectConditionRsp.proto | 30 +
.../ChannelerSlabLoopDungeonStageInfo.proto | 30 +
...labLoopDungeonTakeFirstPassRewardReq.proto | 28 +
...labLoopDungeonTakeFirstPassRewardRsp.proto | 28 +
...lerSlabLoopDungeonTakeScoreRewardReq.proto | 28 +
...lerSlabLoopDungeonTakeScoreRewardRsp.proto | 28 +
...ChannelerSlabOneOffDungeonInfoNotify.proto | 27 +
.../ChannelerSlabOneOffDungeonInfoReq.proto | 26 +
.../ChannelerSlabOneOffDungeonInfoRsp.proto | 28 +
.../proto/ChannelerSlabOneofDungeon.proto | 26 +
.../ChannelerSlabSaveAssistInfoReq.proto | 30 +
.../ChannelerSlabSaveAssistInfoRsp.proto | 30 +
...rSlabStageActiveChallengeIndexNotify.proto | 29 +
...ChannelerSlabStageOneofDungeonNotify.proto | 28 +
.../proto/ChannelerSlabTakeoffBuffReq.proto | 30 +
.../proto/ChannelerSlabTakeoffBuffRsp.proto | 30 +
protocol/proto/ChannelerSlabWearBuffReq.proto | 30 +
protocol/proto/ChannelerSlabWearBuffRsp.proto | 30 +
protocol/proto/ChapterState.proto | 27 +
protocol/proto/ChapterStateNotify.proto | 42 +
protocol/proto/CharAmusementAvatarInfo.proto | 26 +
protocol/proto/CharAmusementDetailInfo.proto | 26 +
protocol/proto/CharAmusementInfo.proto | 30 +
.../proto/CharAmusementSettleNotify.proto | 29 +
protocol/proto/CharAmusementStageData.proto | 26 +
protocol/proto/ChatChannelDataNotify.proto | 27 +
protocol/proto/ChatChannelUpdateNotify.proto | 28 +
protocol/proto/ChatEmojiCollectionData.proto | 24 +
protocol/proto/ChatHistoryNotify.proto | 30 +
protocol/proto/ChatInfo.proto | 43 +
.../proto/CheckAddItemExceedLimitNotify.proto | 38 +
protocol/proto/CheckGroupReplacedReq.proto | 28 +
protocol/proto/CheckGroupReplacedRsp.proto | 28 +
protocol/proto/CheckSegmentCRCNotify.proto | 29 +
protocol/proto/CheckSegmentCRCReq.proto | 30 +
protocol/proto/CheckUgcStateReq.proto | 26 +
protocol/proto/CheckUgcStateRsp.proto | 27 +
protocol/proto/CheckUgcUpdateReq.proto | 30 +
protocol/proto/CheckUgcUpdateRsp.proto | 31 +
protocol/proto/ChessActivityDetailInfo.proto | 32 +
protocol/proto/ChessCardInfo.proto | 25 +
protocol/proto/ChessEntranceDetailInfo.proto | 26 +
protocol/proto/ChessEntranceInfo.proto | 28 +
.../proto/ChessEscapedMonstersNotify.proto | 27 +
protocol/proto/ChessLeftMonstersNotify.proto | 27 +
.../proto/ChessManualRefreshCardsReq.proto | 26 +
.../proto/ChessManualRefreshCardsRsp.proto | 27 +
protocol/proto/ChessMonsterInfo.proto | 26 +
protocol/proto/ChessMysteryInfo.proto | 28 +
protocol/proto/ChessNormalCardInfo.proto | 26 +
protocol/proto/ChessPickCardNotify.proto | 30 +
protocol/proto/ChessPickCardReq.proto | 29 +
protocol/proto/ChessPickCardRsp.proto | 29 +
protocol/proto/ChessPlayerInfo.proto | 32 +
protocol/proto/ChessPlayerInfoNotify.proto | 29 +
protocol/proto/ChessSelectedCardsNotify.proto | 29 +
protocol/proto/ChildQuest.proto | 26 +
protocol/proto/ChooseCurAvatarTeamReq.proto | 28 +
protocol/proto/ChooseCurAvatarTeamRsp.proto | 28 +
protocol/proto/CityInfo.proto | 26 +
protocol/proto/CityReputationDataNotify.proto | 29 +
.../proto/CityReputationExploreInfo.proto | 26 +
protocol/proto/CityReputationHuntInfo.proto | 26 +
protocol/proto/CityReputationInfo.proto | 37 +
.../proto/CityReputationLevelupNotify.proto | 28 +
protocol/proto/CityReputationQuestInfo.proto | 26 +
.../proto/CityReputationRequestInfo.proto | 31 +
protocol/proto/CityReputationSimpleInfo.proto | 25 +
.../proto/ClearRoguelikeCurseNotify.proto | 30 +
protocol/proto/ClientAIStateNotify.proto | 29 +
...ientAbilitiesInitFinishCombineNotify.proto | 30 +
.../proto/ClientAbilityChangeNotify.proto | 32 +
.../proto/ClientAbilityInitBeginNotify.proto | 28 +
.../proto/ClientAbilityInitFinishNotify.proto | 31 +
protocol/proto/ClientBulletCreateNotify.proto | 28 +
protocol/proto/ClientCollectorData.proto | 26 +
.../proto/ClientCollectorDataNotify.proto | 29 +
protocol/proto/ClientGadgetInfo.proto | 31 +
protocol/proto/ClientHashDebugNotify.proto | 27 +
protocol/proto/ClientInputType.proto | 27 +
...ientLoadingCostumeVerificationNotify.proto | 30 +
protocol/proto/ClientLockGameTimeNotify.proto | 28 +
protocol/proto/ClientLogBodyLogin.proto | 29 +
protocol/proto/ClientLogBodyPing.proto | 32 +
protocol/proto/ClientLogHead.proto | 37 +
protocol/proto/ClientMassiveEntity.proto | 35 +
protocol/proto/ClientNewMailNotify.proto | 28 +
protocol/proto/ClientPauseNotify.proto | 28 +
protocol/proto/ClientReconnectNotify.proto | 29 +
protocol/proto/ClientReconnectReason.proto | 25 +
.../ClientRemoveCombatEndModifierNotify.proto | 28 +
protocol/proto/ClientReportNotify.proto | 29 +
protocol/proto/ClientScriptEventNotify.proto | 31 +
protocol/proto/ClientTransmitReq.proto | 34 +
protocol/proto/ClientTransmitRsp.proto | 30 +
protocol/proto/ClientTriggerEventNotify.proto | 31 +
protocol/proto/CloseCommonTipsNotify.proto | 25 +
protocol/proto/ClosedItemNotify.proto | 27 +
protocol/proto/CodexDataFullNotify.proto | 32 +
protocol/proto/CodexDataUpdateNotify.proto | 31 +
protocol/proto/CodexType.proto | 32 +
protocol/proto/CodexTypeData.proto | 29 +
protocol/proto/CombatInvocationsNotify.proto | 30 +
protocol/proto/CombatInvokeEntry.proto | 29 +
protocol/proto/CombatTypeArgument.proto | 42 +
protocol/proto/CombineDataNotify.proto | 27 +
protocol/proto/CombineFormulaDataNotify.proto | 28 +
protocol/proto/CombineReq.proto | 30 +
protocol/proto/CombineRsp.proto | 37 +
protocol/proto/CommonPlayerTipsNotify.proto | 28 +
.../proto/CompoundBoostTakeStatusType.proto | 27 +
protocol/proto/CompoundDataNotify.proto | 30 +
protocol/proto/CompoundQueueData.proto | 27 +
protocol/proto/CompoundUnlockNotify.proto | 27 +
.../proto/ContentAuditAuxiliaryField.proto | 25 +
protocol/proto/ContentAuditData.proto | 26 +
protocol/proto/ContentAuditField.proto | 27 +
protocol/proto/ContentAuditInfo.proto | 30 +
protocol/proto/CookDataNotify.proto | 30 +
protocol/proto/CookGradeDataNotify.proto | 27 +
protocol/proto/CookRecipeData.proto | 25 +
protocol/proto/CookRecipeDataNotify.proto | 29 +
protocol/proto/CoopCg.proto | 25 +
protocol/proto/CoopCgShowNotify.proto | 27 +
protocol/proto/CoopCgUpdateNotify.proto | 27 +
protocol/proto/CoopChapter.proto | 44 +
protocol/proto/CoopChapterUpdateNotify.proto | 29 +
protocol/proto/CoopDataNotify.proto | 32 +
protocol/proto/CoopPoint.proto | 32 +
protocol/proto/CoopPointUpdateNotify.proto | 29 +
protocol/proto/CoopProgressUpdateNotify.proto | 28 +
protocol/proto/CoopReward.proto | 31 +
protocol/proto/CoopRewardUpdateNotify.proto | 29 +
protocol/proto/CreateEntityInfo.proto | 41 +
protocol/proto/CreateGadgetInfo.proto | 32 +
.../proto/CreateMassiveEntityNotify.proto | 29 +
protocol/proto/CreateMassiveEntityReq.proto | 30 +
protocol/proto/CreateMassiveEntityRsp.proto | 27 +
protocol/proto/CreateReason.proto | 26 +
protocol/proto/CreateVehicleReq.proto | 33 +
protocol/proto/CreateVehicleRsp.proto | 29 +
.../proto/CrucibleActivityDetailInfo.proto | 30 +
protocol/proto/CrucibleBattleUidInfo.proto | 30 +
.../proto/CrystalLinkActivityDetailInfo.proto | 27 +
protocol/proto/CrystalLinkAvatarInfo.proto | 25 +
protocol/proto/CrystalLinkBuffInfo.proto | 25 +
.../proto/CrystalLinkDungeonAvatarInfo.proto | 25 +
.../proto/CrystalLinkDungeonInfoNotify.proto | 35 +
.../proto/CrystalLinkEnterDungeonReq.proto | 32 +
.../proto/CrystalLinkEnterDungeonRsp.proto | 32 +
protocol/proto/CrystalLinkLevelInfo.proto | 29 +
.../proto/CrystalLinkRestartDungeonReq.proto | 26 +
.../proto/CrystalLinkRestartDungeonRsp.proto | 27 +
protocol/proto/CrystalLinkSettleInfo.proto | 29 +
protocol/proto/CrystalLinkTeamInfo.proto | 28 +
protocol/proto/CurVehicleInfo.proto | 25 +
protocol/proto/CustomCommonNodeInfo.proto | 26 +
protocol/proto/CustomDungeon.proto | 30 +
protocol/proto/CustomDungeonAbstract.proto | 28 +
.../proto/CustomDungeonAbstractMuipData.proto | 26 +
protocol/proto/CustomDungeonBanInfo.proto | 28 +
protocol/proto/CustomDungeonBanType.proto | 25 +
.../CustomDungeonBatchBriefMuipData.proto | 26 +
.../CustomDungeonBattleRecordMuipData.proto | 25 +
.../CustomDungeonBattleRecordNotify.proto | 29 +
protocol/proto/CustomDungeonBlock.proto | 29 +
protocol/proto/CustomDungeonBrief.proto | 38 +
.../proto/CustomDungeonBriefMuipData.proto | 34 +
protocol/proto/CustomDungeonFinishType.proto | 27 +
.../proto/CustomDungeonOfficialNotify.proto | 32 +
.../proto/CustomDungeonRecoverNotify.proto | 34 +
protocol/proto/CustomDungeonResultInfo.proto | 34 +
protocol/proto/CustomDungeonRoom.proto | 27 +
protocol/proto/CustomDungeonSetting.proto | 30 +
.../proto/CustomDungeonSettingMuipData.proto | 28 +
protocol/proto/CustomDungeonSocial.proto | 27 +
.../proto/CustomDungeonSocialMuipData.proto | 27 +
protocol/proto/CustomDungeonState.proto | 26 +
.../proto/CustomDungeonUpdateNotify.proto | 29 +
protocol/proto/CustomDungeonVerify.proto | 28 +
protocol/proto/CustomGadgetTreeInfo.proto | 26 +
protocol/proto/CutSceneBeginNotify.proto | 31 +
protocol/proto/CutSceneEndNotify.proto | 28 +
protocol/proto/CutSceneExtraParam.proto | 24 +
protocol/proto/CutSceneFinishNotify.proto | 28 +
protocol/proto/CylinderRegionSize.proto | 25 +
protocol/proto/DailyDungeonEntryInfo.proto | 29 +
protocol/proto/DailyTaskDataNotify.proto | 29 +
protocol/proto/DailyTaskFilterCityReq.proto | 28 +
protocol/proto/DailyTaskFilterCityRsp.proto | 28 +
protocol/proto/DailyTaskInfo.proto | 28 +
protocol/proto/DailyTaskProgressNotify.proto | 29 +
.../proto/DailyTaskScoreRewardNotify.proto | 27 +
.../proto/DailyTaskUnlockedCitiesNotify.proto | 27 +
protocol/proto/DataResVersionNotify.proto | 43 +
protocol/proto/DealAddFriendReq.proto | 31 +
protocol/proto/DealAddFriendResultType.proto | 25 +
protocol/proto/DealAddFriendRsp.proto | 32 +
protocol/proto/DeathZoneInfo.proto | 25 +
protocol/proto/DeathZoneInfoNotify.proto | 29 +
protocol/proto/DeathZoneObserveNotify.proto | 29 +
protocol/proto/DebugNotify.proto | 35 +
protocol/proto/DelBackupAvatarTeamReq.proto | 28 +
protocol/proto/DelBackupAvatarTeamRsp.proto | 28 +
protocol/proto/DelMailReq.proto | 28 +
protocol/proto/DelMailRsp.proto | 28 +
.../proto/DelScenePlayTeamEntityNotify.proto | 28 +
protocol/proto/DelTeamEntityNotify.proto | 28 +
protocol/proto/DeleteFriendNotify.proto | 27 +
protocol/proto/DeleteFriendReq.proto | 28 +
protocol/proto/DeleteFriendRsp.proto | 28 +
.../proto/DeliveryActivityDetailInfo.proto | 26 +
protocol/proto/DeshretObeliskChestInfo.proto | 29 +
.../proto/DeshretObeliskChestInfoNotify.proto | 29 +
protocol/proto/DeshretObeliskGadgetInfo.proto | 24 +
.../proto/DestroyMassiveEntityNotify.proto | 30 +
protocol/proto/DestroyMaterialReq.proto | 30 +
protocol/proto/DestroyMaterialRsp.proto | 29 +
.../DigActivityChangeGadgetStateReq.proto | 28 +
.../DigActivityChangeGadgetStateRsp.proto | 28 +
protocol/proto/DigActivityDetailInfo.proto | 28 +
.../DigActivityMarkPointChangeNotify.proto | 29 +
protocol/proto/DigMarkPoint.proto | 28 +
.../proto/DisableRoguelikeTrapNotify.proto | 27 +
protocol/proto/DoGachaReq.proto | 32 +
protocol/proto/DoGachaRsp.proto | 47 +
.../DoRoguelikeDungeonCardGachaReq.proto | 29 +
.../DoRoguelikeDungeonCardGachaRsp.proto | 29 +
.../proto/DoSetPlayerBornDataNotify.proto | 25 +
.../proto/DraftGuestReplyInviteNotify.proto | 29 +
protocol/proto/DraftGuestReplyInviteReq.proto | 29 +
protocol/proto/DraftGuestReplyInviteRsp.proto | 29 +
.../DraftGuestReplyTwiceConfirmNotify.proto | 29 +
.../DraftGuestReplyTwiceConfirmReq.proto | 29 +
.../DraftGuestReplyTwiceConfirmRsp.proto | 29 +
protocol/proto/DraftInviteFailInfo.proto | 27 +
protocol/proto/DraftInviteFailReason.proto | 29 +
protocol/proto/DraftInviteResultNotify.proto | 28 +
protocol/proto/DraftOwnerInviteNotify.proto | 28 +
protocol/proto/DraftOwnerStartInviteReq.proto | 28 +
protocol/proto/DraftOwnerStartInviteRsp.proto | 33 +
.../proto/DraftOwnerTwiceConfirmNotify.proto | 28 +
.../proto/DraftTwiceConfirmResultNotify.proto | 28 +
.../proto/DragonSpineActivityDetailInfo.proto | 32 +
.../DragonSpineChapterFinishNotify.proto | 29 +
protocol/proto/DragonSpineChapterInfo.proto | 28 +
.../proto/DragonSpineChapterOpenNotify.proto | 28 +
...agonSpineChapterProgressChangeNotify.proto | 29 +
.../proto/DragonSpineCoinChangeNotify.proto | 30 +
protocol/proto/DropHintNotify.proto | 30 +
protocol/proto/DropItemReq.proto | 34 +
protocol/proto/DropItemRsp.proto | 31 +
.../proto/DungeonCandidateTeamAvatar.proto | 27 +
.../DungeonCandidateTeamChangeAvatarReq.proto | 28 +
.../DungeonCandidateTeamChangeAvatarRsp.proto | 27 +
.../proto/DungeonCandidateTeamCreateReq.proto | 29 +
.../proto/DungeonCandidateTeamCreateRsp.proto | 27 +
.../DungeonCandidateTeamDismissNotify.proto | 30 +
.../DungeonCandidateTeamDismissReason.proto | 26 +
.../DungeonCandidateTeamInfoNotify.proto | 34 +
.../DungeonCandidateTeamInviteNotify.proto | 29 +
.../proto/DungeonCandidateTeamInviteReq.proto | 28 +
.../proto/DungeonCandidateTeamInviteRsp.proto | 28 +
.../proto/DungeonCandidateTeamKickReq.proto | 28 +
.../proto/DungeonCandidateTeamKickRsp.proto | 27 +
.../proto/DungeonCandidateTeamLeaveReq.proto | 26 +
.../proto/DungeonCandidateTeamLeaveRsp.proto | 27 +
...ungeonCandidateTeamPlayerLeaveNotify.proto | 30 +
...ungeonCandidateTeamPlayerLeaveReason.proto | 27 +
.../DungeonCandidateTeamPlayerState.proto | 26 +
.../DungeonCandidateTeamRefuseNotify.proto | 27 +
.../DungeonCandidateTeamReplyInviteReq.proto | 28 +
.../DungeonCandidateTeamReplyInviteRsp.proto | 28 +
...eonCandidateTeamSetChangingAvatarReq.proto | 28 +
...eonCandidateTeamSetChangingAvatarRsp.proto | 27 +
.../DungeonCandidateTeamSetReadyReq.proto | 28 +
.../DungeonCandidateTeamSetReadyRsp.proto | 27 +
.../proto/DungeonChallengeBeginNotify.proto | 32 +
.../proto/DungeonChallengeFinishNotify.proto | 47 +
protocol/proto/DungeonDataNotify.proto | 27 +
protocol/proto/DungeonDieOptionReq.proto | 31 +
protocol/proto/DungeonDieOptionRsp.proto | 31 +
protocol/proto/DungeonEnterPosInfo.proto | 25 +
protocol/proto/DungeonEntryBlockReason.proto | 27 +
protocol/proto/DungeonEntryCond.proto | 27 +
protocol/proto/DungeonEntryInfo.proto | 34 +
protocol/proto/DungeonEntryInfoReq.proto | 32 +
protocol/proto/DungeonEntryInfoRsp.proto | 34 +
protocol/proto/DungeonEntryPointInfo.proto | 29 +
.../proto/DungeonEntryToBeExploreNotify.proto | 29 +
protocol/proto/DungeonFollowNotify.proto | 27 +
protocol/proto/DungeonGetStatueDropReq.proto | 26 +
protocol/proto/DungeonGetStatueDropRsp.proto | 27 +
.../proto/DungeonInterruptChallengeReq.proto | 30 +
.../proto/DungeonInterruptChallengeRsp.proto | 30 +
protocol/proto/DungeonPlayerDieNotify.proto | 39 +
protocol/proto/DungeonPlayerDieReq.proto | 31 +
protocol/proto/DungeonPlayerDieRsp.proto | 27 +
.../proto/DungeonRestartInviteNotify.proto | 31 +
.../DungeonRestartInviteReplyNotify.proto | 29 +
.../proto/DungeonRestartInviteReplyReq.proto | 28 +
.../proto/DungeonRestartInviteReplyRsp.proto | 29 +
protocol/proto/DungeonRestartReq.proto | 26 +
.../proto/DungeonRestartResultNotify.proto | 28 +
protocol/proto/DungeonRestartRsp.proto | 29 +
protocol/proto/DungeonReviseLevelNotify.proto | 30 +
.../proto/DungeonSettleExhibitionInfo.proto | 28 +
protocol/proto/DungeonSettleNotify.proto | 62 +
.../proto/DungeonShowReminderNotify.proto | 27 +
.../DungeonSlipRevivePointActivateReq.proto | 28 +
.../DungeonSlipRevivePointActivateRsp.proto | 28 +
.../proto/DungeonWayPointActivateReq.proto | 28 +
.../proto/DungeonWayPointActivateRsp.proto | 28 +
protocol/proto/DungeonWayPointNotify.proto | 28 +
protocol/proto/DynamicLayerNodes.proto | 27 +
protocol/proto/DynamicNodes.proto | 26 +
protocol/proto/DynamicSVONode.proto | 28 +
protocol/proto/EchoNotify.proto | 28 +
protocol/proto/EchoShellDetailInfo.proto | 29 +
protocol/proto/EchoShellInfo.proto | 24 +
protocol/proto/EchoShellTakeRewardReq.proto | 28 +
protocol/proto/EchoShellTakeRewardRsp.proto | 28 +
protocol/proto/EchoShellUpdateNotify.proto | 27 +
protocol/proto/EffigyActivityDetailInfo.proto | 29 +
.../EffigyChallengeDungeonResultInfo.proto | 28 +
.../proto/EffigyChallengeInfoNotify.proto | 30 +
.../proto/EffigyChallengeResultNotify.proto | 30 +
.../EffigyChallengeV2ChooseSkillReq.proto | 29 +
.../EffigyChallengeV2ChooseSkillRsp.proto | 29 +
.../proto/EffigyChallengeV2DetailInfo.proto | 26 +
.../EffigyChallengeV2DungeonInfoNotify.proto | 29 +
.../EffigyChallengeV2EnterDungeonReq.proto | 30 +
.../EffigyChallengeV2EnterDungeonRsp.proto | 30 +
.../proto/EffigyChallengeV2LevelData.proto | 29 +
.../EffigyChallengeV2RestartDungeonReq.proto | 26 +
.../EffigyChallengeV2RestartDungeonRsp.proto | 27 +
.../proto/EffigyChallengeV2SettleInfo.proto | 29 +
protocol/proto/EffigyDailyInfo.proto | 30 +
protocol/proto/EndCameraSceneLookNotify.proto | 25 +
protocol/proto/EnterChessDungeonReq.proto | 28 +
protocol/proto/EnterChessDungeonRsp.proto | 28 +
protocol/proto/EnterCustomDungeonReq.proto | 32 +
protocol/proto/EnterCustomDungeonRsp.proto | 33 +
protocol/proto/EnterCustomDungeonType.proto | 27 +
protocol/proto/EnterFishingReq.proto | 28 +
protocol/proto/EnterFishingRsp.proto | 28 +
.../EnterFungusFighterPlotDungeonReq.proto | 29 +
.../EnterFungusFighterPlotDungeonRsp.proto | 29 +
...EnterFungusFighterTrainingDungeonReq.proto | 28 +
...EnterFungusFighterTrainingDungeonRsp.proto | 28 +
.../proto/EnterIrodoriChessDungeonReq.proto | 29 +
.../proto/EnterIrodoriChessDungeonRsp.proto | 29 +
.../proto/EnterMechanicusDungeonReq.proto | 28 +
.../proto/EnterMechanicusDungeonRsp.proto | 30 +
.../proto/EnterRogueDiaryDungeonReq.proto | 31 +
.../proto/EnterRogueDiaryDungeonRsp.proto | 27 +
.../proto/EnterRoguelikeDungeonNotify.proto | 45 +
protocol/proto/EnterSceneDoneReq.proto | 28 +
protocol/proto/EnterSceneDoneRsp.proto | 28 +
protocol/proto/EnterScenePeerNotify.proto | 30 +
protocol/proto/EnterSceneReadyReq.proto | 28 +
protocol/proto/EnterSceneReadyRsp.proto | 28 +
.../proto/EnterSceneWeatherAreaNotify.proto | 28 +
.../proto/EnterTransPointRegionNotify.proto | 29 +
.../EnterTrialAvatarActivityDungeonReq.proto | 30 +
.../EnterTrialAvatarActivityDungeonRsp.proto | 29 +
protocol/proto/EnterType.proto | 35 +
protocol/proto/EnterWorldAreaReq.proto | 29 +
protocol/proto/EnterWorldAreaRsp.proto | 29 +
protocol/proto/EntityAbilityInvokeEntry.proto | 27 +
protocol/proto/EntityAiKillSelfNotify.proto | 28 +
protocol/proto/EntityAiSyncNotify.proto | 31 +
.../proto/EntityAuthorityChangeNotify.proto | 29 +
protocol/proto/EntityAuthorityInfo.proto | 36 +
protocol/proto/EntityClientData.proto | 26 +
protocol/proto/EntityClientExtraInfo.proto | 26 +
protocol/proto/EntityConfigHashEntry.proto | 26 +
protocol/proto/EntityConfigHashNotify.proto | 32 +
protocol/proto/EntityEnvironmentInfo.proto | 25 +
.../EntityFightPropChangeReasonNotify.proto | 37 +
protocol/proto/EntityFightPropNotify.proto | 28 +
.../proto/EntityFightPropUpdateNotify.proto | 28 +
protocol/proto/EntityForceSyncReq.proto | 33 +
protocol/proto/EntityForceSyncRsp.proto | 32 +
protocol/proto/EntityJumpNotify.proto | 38 +
protocol/proto/EntityMoveFailInfo.proto | 30 +
protocol/proto/EntityMoveInfo.proto | 30 +
protocol/proto/EntityMoveRoomNotify.proto | 29 +
protocol/proto/EntityPropNotify.proto | 30 +
.../proto/EntityRendererChangedInfo.proto | 26 +
protocol/proto/EntityTagChangeNotify.proto | 29 +
protocol/proto/Equip.proto | 31 +
protocol/proto/EquipParam.proto | 27 +
protocol/proto/EquipParamList.proto | 26 +
protocol/proto/EquipRoguelikeRuneReq.proto | 28 +
protocol/proto/EquipRoguelikeRuneRsp.proto | 28 +
protocol/proto/EventTriggerType.proto | 25 +
.../EvtAiSyncCombatThreatInfoNotify.proto | 30 +
protocol/proto/EvtAiSyncSkillCdNotify.proto | 30 +
protocol/proto/EvtAnimatorParameterInfo.proto | 29 +
.../proto/EvtAnimatorParameterNotify.proto | 32 +
.../proto/EvtAnimatorStateChangedInfo.proto | 34 +
.../proto/EvtAnimatorStateChangedNotify.proto | 32 +
.../proto/EvtAvatarEnterFocusNotify.proto | 43 +
protocol/proto/EvtAvatarExitFocusNotify.proto | 33 +
protocol/proto/EvtAvatarLockChairReq.proto | 31 +
protocol/proto/EvtAvatarLockChairRsp.proto | 32 +
protocol/proto/EvtAvatarSitDownNotify.proto | 32 +
protocol/proto/EvtAvatarStandUpNotify.proto | 31 +
.../proto/EvtAvatarUpdateFocusNotify.proto | 33 +
protocol/proto/EvtBeingHealedNotify.proto | 30 +
protocol/proto/EvtBeingHitInfo.proto | 28 +
protocol/proto/EvtBeingHitNotify.proto | 32 +
.../proto/EvtBeingHitsCombineNotify.proto | 32 +
protocol/proto/EvtBulletDeactiveNotify.proto | 33 +
protocol/proto/EvtBulletHitNotify.proto | 40 +
protocol/proto/EvtBulletMoveNotify.proto | 33 +
protocol/proto/EvtCombatForceSetPosInfo.proto | 29 +
protocol/proto/EvtCombatSteerMotionInfo.proto | 29 +
protocol/proto/EvtCompensatePosDiffInfo.proto | 30 +
protocol/proto/EvtCostStaminaNotify.proto | 29 +
protocol/proto/EvtCreateGadgetNotify.proto | 49 +
protocol/proto/EvtDestroyGadgetNotify.proto | 31 +
.../proto/EvtDestroyServerGadgetNotify.proto | 28 +
protocol/proto/EvtDoSkillSuccNotify.proto | 34 +
.../EvtEntityRenderersChangedNotify.proto | 34 +
.../proto/EvtEntityStartDieEndNotify.proto | 33 +
protocol/proto/EvtFaceToDirInfo.proto | 27 +
protocol/proto/EvtFaceToDirNotify.proto | 32 +
protocol/proto/EvtFaceToEntityNotify.proto | 32 +
protocol/proto/EvtFixedRushMove.proto | 32 +
protocol/proto/EvtGrapplingHookMove.proto | 34 +
protocol/proto/EvtHittingOtherInfo.proto | 27 +
protocol/proto/EvtLightCoreMove.proto | 30 +
.../EvtLocalGadgetOwnerLeaveSceneNotify.proto | 27 +
protocol/proto/EvtMonsterDoBlink.proto | 28 +
.../EvtMotionInfoDuringSteerAttack.proto | 29 +
protocol/proto/EvtRushMoveInfo.proto | 33 +
protocol/proto/EvtRushMoveNotify.proto | 32 +
protocol/proto/EvtSetAttackTargetInfo.proto | 26 +
protocol/proto/EvtSetAttackTargetNotify.proto | 32 +
.../proto/EvtSyncEntityPositionInfo.proto | 30 +
.../proto/EvtSyncSkillAnchorPosition.proto | 27 +
protocol/proto/EvtSyncTransform.proto | 28 +
protocol/proto/ExclusiveRuleInfo.proto | 25 +
protocol/proto/ExclusiveRuleNotify.proto | 29 +
protocol/proto/ExecuteGadgetLuaReq.proto | 31 +
protocol/proto/ExecuteGadgetLuaRsp.proto | 27 +
protocol/proto/ExecuteGroupTriggerReq.proto | 33 +
protocol/proto/ExecuteGroupTriggerRsp.proto | 27 +
protocol/proto/ExhibitionDisplayInfo.proto | 26 +
protocol/proto/ExitCustomDungeonTryReq.proto | 26 +
protocol/proto/ExitCustomDungeonTryRsp.proto | 27 +
protocol/proto/ExitFishingReq.proto | 26 +
protocol/proto/ExitFishingRsp.proto | 27 +
.../proto/ExitSceneWeatherAreaNotify.proto | 28 +
.../proto/ExitTransPointRegionNotify.proto | 29 +
.../proto/ExpeditionActivityDetailInfo.proto | 32 +
protocol/proto/ExpeditionAssistInfo.proto | 28 +
...ExpeditionChallengeEnterRegionNotify.proto | 28 +
.../ExpeditionChallengeFinishedNotify.proto | 27 +
protocol/proto/ExpeditionChallengeInfo.proto | 26 +
protocol/proto/ExpeditionPathInfo.proto | 35 +
protocol/proto/ExpeditionRecallReq.proto | 28 +
protocol/proto/ExpeditionRecallRsp.proto | 28 +
protocol/proto/ExpeditionStartReq.proto | 31 +
protocol/proto/ExpeditionStartRsp.proto | 31 +
protocol/proto/ExpeditionState.proto | 28 +
protocol/proto/ExpeditionTakeRewardReq.proto | 28 +
protocol/proto/ExpeditionTakeRewardRsp.proto | 30 +
protocol/proto/FallPlayerBrief.proto | 26 +
protocol/proto/FallPlayerInfo.proto | 28 +
protocol/proto/FallSettleInfo.proto | 31 +
protocol/proto/FeatureBlockInfo.proto | 25 +
protocol/proto/FetterData.proto | 26 +
protocol/proto/FightPropPair.proto | 25 +
.../FindHilichurlAcceptQuestNotify.proto | 25 +
.../proto/FindHilichurlDayContentInfo.proto | 24 +
protocol/proto/FindHilichurlDetailInfo.proto | 32 +
...FindHilichurlFinishSecondQuestNotify.proto | 27 +
protocol/proto/FinishDeliveryNotify.proto | 29 +
.../proto/FinishLanternProjectionReq.proto | 29 +
.../proto/FinishLanternProjectionRsp.proto | 27 +
protocol/proto/FinishMainCoopReq.proto | 29 +
protocol/proto/FinishMainCoopRsp.proto | 29 +
.../proto/FinishedParentQuestNotify.proto | 29 +
.../FinishedParentQuestUpdateNotify.proto | 29 +
protocol/proto/FinishedTalkIdListNotify.proto | 27 +
.../proto/FireworksLaunchDataNotify.proto | 30 +
protocol/proto/FireworksLaunchParam.proto | 27 +
protocol/proto/FireworksLaunchParamType.proto | 29 +
.../proto/FireworksLaunchSchemeData.proto | 28 +
protocol/proto/FireworksReformData.proto | 27 +
.../proto/FireworksReformDataNotify.proto | 29 +
protocol/proto/FireworksReformParam.proto | 27 +
protocol/proto/FireworksReformParamType.proto | 29 +
protocol/proto/FishAttractNotify.proto | 31 +
protocol/proto/FishBaitGoneNotify.proto | 27 +
protocol/proto/FishBattleBeginReq.proto | 26 +
protocol/proto/FishBattleBeginRsp.proto | 27 +
protocol/proto/FishBattleEndReq.proto | 32 +
protocol/proto/FishBattleEndRsp.proto | 43 +
protocol/proto/FishBattleResult.proto | 29 +
protocol/proto/FishBiteReq.proto | 26 +
protocol/proto/FishBiteRsp.proto | 27 +
protocol/proto/FishCastRodReq.proto | 33 +
protocol/proto/FishCastRodRsp.proto | 27 +
protocol/proto/FishChosenNotify.proto | 27 +
protocol/proto/FishEscapeNotify.proto | 33 +
protocol/proto/FishEscapeReason.proto | 26 +
protocol/proto/FishInfo.proto | 25 +
protocol/proto/FishPoolDataNotify.proto | 28 +
protocol/proto/FishPoolInfo.proto | 26 +
protocol/proto/FishingGallerySettleInfo.proto | 28 +
.../proto/FishingGallerySettleNotify.proto | 31 +
protocol/proto/FishingScore.proto | 25 +
protocol/proto/FishtankFishInfo.proto | 26 +
.../proto/FleurFairActivityDetailInfo.proto | 35 +
protocol/proto/FleurFairBalloonInfo.proto | 24 +
.../proto/FleurFairBalloonSettleInfo.proto | 27 +
.../proto/FleurFairBalloonSettleNotify.proto | 30 +
protocol/proto/FleurFairBossSettleInfo.proto | 30 +
.../proto/FleurFairBuffEnergyNotify.proto | 27 +
protocol/proto/FleurFairChapterInfo.proto | 25 +
.../proto/FleurFairDungeonSectionInfo.proto | 26 +
protocol/proto/FleurFairFallInfo.proto | 24 +
protocol/proto/FleurFairFallSettleInfo.proto | 27 +
.../proto/FleurFairFallSettleNotify.proto | 30 +
.../FleurFairFinishGalleryStageNotify.proto | 25 +
.../proto/FleurFairGallerySettleInfo.proto | 28 +
protocol/proto/FleurFairMinigameInfo.proto | 35 +
protocol/proto/FleurFairMusicGameInfo.proto | 26 +
.../proto/FleurFairMusicGameSettleReq.proto | 31 +
.../proto/FleurFairMusicGameSettleRsp.proto | 30 +
.../proto/FleurFairMusicGameStartReq.proto | 28 +
.../proto/FleurFairMusicGameStartRsp.proto | 28 +
protocol/proto/FleurFairMusicRecord.proto | 26 +
protocol/proto/FleurFairPlayerStatInfo.proto | 32 +
.../proto/FleurFairReplayMiniGameReq.proto | 28 +
.../proto/FleurFairReplayMiniGameRsp.proto | 28 +
.../proto/FleurFairStageSettleNotify.proto | 34 +
protocol/proto/FlightActivityDetailInfo.proto | 28 +
protocol/proto/FlightActivityRestartReq.proto | 29 +
protocol/proto/FlightActivityRestartRsp.proto | 29 +
.../proto/FlightActivitySettleNotify.proto | 34 +
protocol/proto/FlightDailyRecord.proto | 28 +
protocol/proto/FocusAvatarReq.proto | 29 +
protocol/proto/FocusAvatarRsp.proto | 29 +
protocol/proto/ForceAddPlayerFriendReq.proto | 27 +
protocol/proto/ForceAddPlayerFriendRsp.proto | 31 +
protocol/proto/ForceDragAvatarNotify.proto | 34 +
.../proto/ForceDragBackTransferNotify.proto | 26 +
protocol/proto/ForceUpdateInfo.proto | 24 +
protocol/proto/ForgeDataNotify.proto | 31 +
protocol/proto/ForgeFormulaDataNotify.proto | 28 +
protocol/proto/ForgeGetQueueDataReq.proto | 26 +
protocol/proto/ForgeGetQueueDataRsp.proto | 31 +
protocol/proto/ForgeQueueData.proto | 30 +
protocol/proto/ForgeQueueDataNotify.proto | 31 +
protocol/proto/ForgeQueueManipulateReq.proto | 31 +
protocol/proto/ForgeQueueManipulateRsp.proto | 34 +
protocol/proto/ForgeQueueManipulateType.proto | 25 +
protocol/proto/ForgeStartReq.proto | 30 +
protocol/proto/ForgeStartRsp.proto | 27 +
protocol/proto/ForwardType.proto | 32 +
protocol/proto/FoundationInfo.proto | 29 +
protocol/proto/FoundationNotify.proto | 30 +
protocol/proto/FoundationOpType.proto | 30 +
protocol/proto/FoundationReq.proto | 33 +
protocol/proto/FoundationRsp.proto | 33 +
protocol/proto/FoundationStatus.proto | 27 +
protocol/proto/FriendBrief.proto | 51 +
protocol/proto/FriendEnterHomeOption.proto | 26 +
protocol/proto/FriendInfoChangeNotify.proto | 28 +
protocol/proto/FriendOnlineState.proto | 25 +
.../proto/FungusCaptureSettleNotify.proto | 27 +
protocol/proto/FungusCultivateReq.proto | 35 +
protocol/proto/FungusCultivateRsp.proto | 29 +
protocol/proto/FungusDetail.proto | 28 +
...usFighterClearTrainingRuntimeDataReq.proto | 28 +
...usFighterClearTrainingRuntimeDataRsp.proto | 27 +
protocol/proto/FungusFighterDetailInfo.proto | 35 +
.../proto/FungusFighterMonsterDetail.proto | 26 +
.../proto/FungusFighterPlotInfoNotify.proto | 28 +
...ungusFighterRestartTraningDungeonReq.proto | 26 +
...ungusFighterRestartTraningDungeonRsp.proto | 27 +
.../FungusFighterRuntimeDataNotify.proto | 29 +
...usFighterTrainingGallerySettleNotify.proto | 36 +
.../FungusFighterTrainingInfoNotify.proto | 33 +
...FungusFighterTrainingSelectFungusReq.proto | 29 +
...FungusFighterTrainingSelectFungusRsp.proto | 27 +
.../FungusFighterTrainingSettleInfo.proto | 28 +
.../FungusFighterUseBackupFungusReq.proto | 28 +
.../FungusFighterUseBackupFungusRsp.proto | 27 +
protocol/proto/FungusPlotStageDetail.proto | 25 +
protocol/proto/FungusRenameReq.proto | 29 +
protocol/proto/FungusRenameRsp.proto | 29 +
.../proto/FungusTrainingDungeonDetail.proto | 26 +
.../FungusTrainingMonsterPreviewDetail.proto | 26 +
.../FungusTrainingPoolPreviewDetail.proto | 27 +
.../proto/FungusTrainingProgressDetail.proto | 33 +
.../FunitureMakeMakeInfoChangeNotify.proto | 29 +
protocol/proto/Furniture.proto | 24 +
...FurnitureCurModuleArrangeCountNotify.proto | 29 +
.../proto/FurnitureMakeBeHelpedData.proto | 30 +
.../proto/FurnitureMakeBeHelpedNotify.proto | 31 +
protocol/proto/FurnitureMakeCancelReq.proto | 29 +
protocol/proto/FurnitureMakeCancelRsp.proto | 31 +
protocol/proto/FurnitureMakeData.proto | 29 +
.../proto/FurnitureMakeFinishNotify.proto | 25 +
protocol/proto/FurnitureMakeHelpData.proto | 25 +
protocol/proto/FurnitureMakeHelpReq.proto | 26 +
protocol/proto/FurnitureMakeHelpRsp.proto | 30 +
protocol/proto/FurnitureMakeMakeInfo.proto | 25 +
protocol/proto/FurnitureMakeReq.proto | 26 +
protocol/proto/FurnitureMakeRsp.proto | 36 +
protocol/proto/FurnitureMakeSlot.proto | 26 +
protocol/proto/FurnitureMakeStartReq.proto | 29 +
protocol/proto/FurnitureMakeStartRsp.proto | 30 +
.../proto/GCGApplyInviteBattleNotify.proto | 28 +
protocol/proto/GCGApplyInviteBattleReq.proto | 28 +
protocol/proto/GCGApplyInviteBattleRsp.proto | 27 +
protocol/proto/GCGAskDuelReq.proto | 26 +
protocol/proto/GCGAskDuelRsp.proto | 30 +
protocol/proto/GCGAttackCostInfo.proto | 25 +
protocol/proto/GCGBasicDataNotify.proto | 29 +
protocol/proto/GCGBossChallengeData.proto | 25 +
.../proto/GCGBossChallengeUpdateNotify.proto | 29 +
protocol/proto/GCGCard.proto | 32 +
protocol/proto/GCGChallengeData.proto | 27 +
protocol/proto/GCGChallengeUpdateNotify.proto | 31 +
protocol/proto/GCGClientPerformType.proto | 25 +
protocol/proto/GCGClientSettleReq.proto | 26 +
protocol/proto/GCGClientSettleRsp.proto | 28 +
protocol/proto/GCGControllerShowInfo.proto | 28 +
protocol/proto/GCGCostReviseInfo.proto | 32 +
.../proto/GCGDSCardBackUnlockNotify.proto | 27 +
protocol/proto/GCGDSCardData.proto | 28 +
.../proto/GCGDSCardFaceUnlockNotify.proto | 28 +
protocol/proto/GCGDSCardNumChangeNotify.proto | 28 +
.../proto/GCGDSCardProficiencyNotify.proto | 28 +
protocol/proto/GCGDSChangeCardBackReq.proto | 29 +
protocol/proto/GCGDSChangeCardBackRsp.proto | 29 +
protocol/proto/GCGDSChangeCardFaceReq.proto | 29 +
protocol/proto/GCGDSChangeCardFaceRsp.proto | 29 +
protocol/proto/GCGDSChangeCurDeckReq.proto | 28 +
protocol/proto/GCGDSChangeCurDeckRsp.proto | 28 +
protocol/proto/GCGDSChangeDeckNameReq.proto | 29 +
protocol/proto/GCGDSChangeDeckNameRsp.proto | 29 +
protocol/proto/GCGDSChangeFieldReq.proto | 29 +
protocol/proto/GCGDSChangeFieldRsp.proto | 29 +
protocol/proto/GCGDSCurDeckChangeNotify.proto | 27 +
protocol/proto/GCGDSDataNotify.proto | 35 +
protocol/proto/GCGDSDeckData.proto | 31 +
protocol/proto/GCGDSDeckSaveReq.proto | 31 +
protocol/proto/GCGDSDeckSaveRsp.proto | 30 +
protocol/proto/GCGDSDeckUnlockNotify.proto | 27 +
protocol/proto/GCGDSDeleteDeckReq.proto | 28 +
protocol/proto/GCGDSDeleteDeckRsp.proto | 28 +
protocol/proto/GCGDSFieldUnlockNotify.proto | 27 +
protocol/proto/GCGDamageDetail.proto | 25 +
protocol/proto/GCGDiceSideType.proto | 32 +
protocol/proto/GCGDuel.proto | 47 +
protocol/proto/GCGDuelChallenge.proto | 26 +
protocol/proto/GCGDuelExtra.proto | 31 +
protocol/proto/GCGEndReason.proto | 28 +
protocol/proto/GCGGameBriefData.proto | 31 +
protocol/proto/GCGGameBriefDataNotify.proto | 29 +
protocol/proto/GCGGameBusinessType.proto | 32 +
protocol/proto/GCGGrowthLevelNotify.proto | 28 +
.../proto/GCGGrowthLevelRewardNotify.proto | 27 +
.../proto/GCGGrowthLevelTakeRewardReq.proto | 28 +
.../proto/GCGGrowthLevelTakeRewardRsp.proto | 28 +
protocol/proto/GCGHeartBeatNotify.proto | 27 +
protocol/proto/GCGInitFinishReq.proto | 26 +
protocol/proto/GCGInitFinishRsp.proto | 27 +
protocol/proto/GCGInviteBattleNotify.proto | 25 +
protocol/proto/GCGInviteGuestBattleReq.proto | 28 +
protocol/proto/GCGInviteGuestBattleRsp.proto | 28 +
.../proto/GCGLevelChallengeFinishNotify.proto | 28 +
protocol/proto/GCGLevelChallengeNotify.proto | 32 +
protocol/proto/GCGLevelData.proto | 25 +
protocol/proto/GCGLevelType.proto | 29 +
protocol/proto/GCGMatchInfo.proto | 26 +
protocol/proto/GCGMessage.proto | 84 ++
protocol/proto/GCGMessagePack.proto | 27 +
protocol/proto/GCGMessagePackNotify.proto | 31 +
protocol/proto/GCGMsgAddCards.proto | 31 +
protocol/proto/GCGMsgAddDice.proto | 30 +
protocol/proto/GCGMsgCardUpdate.proto | 26 +
protocol/proto/GCGMsgCharDie.proto | 25 +
protocol/proto/GCGMsgClientPerform.proto | 27 +
protocol/proto/GCGMsgCostDice.proto | 28 +
protocol/proto/GCGMsgCostRevise.proto | 27 +
protocol/proto/GCGMsgDiceReroll.proto | 28 +
protocol/proto/GCGMsgDiceRoll.proto | 28 +
protocol/proto/GCGMsgDuelDataChange.proto | 24 +
protocol/proto/GCGMsgGameOver.proto | 27 +
protocol/proto/GCGMsgModifyAdd.proto | 30 +
protocol/proto/GCGMsgModifyRemove.proto | 29 +
protocol/proto/GCGMsgMoveCard.proto | 32 +
protocol/proto/GCGMsgNewCard.proto | 26 +
protocol/proto/GCGMsgOpTimer.proto | 29 +
protocol/proto/GCGMsgPVEDoOp.proto | 25 +
protocol/proto/GCGMsgPVEGenCardOp.proto | 25 +
protocol/proto/GCGMsgPass.proto | 24 +
protocol/proto/GCGMsgPhaseChange.proto | 28 +
protocol/proto/GCGMsgRemoveCards.proto | 30 +
protocol/proto/GCGMsgSelectOnStage.proto | 28 +
.../proto/GCGMsgSelectOnStageByEffect.proto | 26 +
protocol/proto/GCGMsgSkillResult.proto | 34 +
protocol/proto/GCGMsgTokenChange.proto | 30 +
protocol/proto/GCGMsgUpdateController.proto | 24 +
protocol/proto/GCGMsgUseSkill.proto | 25 +
protocol/proto/GCGMsgUseSkillEnd.proto | 25 +
protocol/proto/GCGMsgWaitingListChange.proto | 25 +
protocol/proto/GCGNewCardInfoNotify.proto | 29 +
protocol/proto/GCGOperation.proto | 42 +
protocol/proto/GCGOperationAttack.proto | 25 +
protocol/proto/GCGOperationData.proto | 27 +
.../proto/GCGOperationOnStageSelect.proto | 25 +
protocol/proto/GCGOperationPass.proto | 22 +
protocol/proto/GCGOperationPlayCard.proto | 26 +
protocol/proto/GCGOperationReboot.proto | 25 +
protocol/proto/GCGOperationRedraw.proto | 24 +
protocol/proto/GCGOperationReplay.proto | 28 +
protocol/proto/GCGOperationReq.proto | 32 +
protocol/proto/GCGOperationReroll.proto | 24 +
protocol/proto/GCGOperationRsp.proto | 28 +
protocol/proto/GCGOperationSurrender.proto | 22 +
protocol/proto/GCGPVEIntention.proto | 25 +
protocol/proto/GCGPhase.proto | 27 +
protocol/proto/GCGPhaseType.proto | 34 +
protocol/proto/GCGPlayCardCostInfo.proto | 25 +
protocol/proto/GCGPlayerBriefData.proto | 31 +
protocol/proto/GCGPlayerField.proto | 45 +
protocol/proto/GCGReason.proto | 33 +
protocol/proto/GCGResourceStateNotify.proto | 28 +
protocol/proto/GCGSelectOnStageCostInfo.proto | 25 +
protocol/proto/GCGSettleNotify.proto | 36 +
protocol/proto/GCGSettleOption.proto | 27 +
protocol/proto/GCGSettleOptionReq.proto | 30 +
protocol/proto/GCGSettleOptionRsp.proto | 30 +
protocol/proto/GCGSkillHpChangeType.proto | 26 +
protocol/proto/GCGSkillPreviewAskReq.proto | 26 +
protocol/proto/GCGSkillPreviewAskRsp.proto | 27 +
protocol/proto/GCGSkillPreviewCardInfo.proto | 30 +
.../GCGSkillPreviewElementReactionInfo.proto | 28 +
protocol/proto/GCGSkillPreviewHpInfo.proto | 27 +
protocol/proto/GCGSkillPreviewInfo.proto | 36 +
protocol/proto/GCGSkillPreviewNotify.proto | 31 +
.../GCGSkillPreviewOnstageChangeInfo.proto | 25 +
.../proto/GCGSkillPreviewReactionInfo.proto | 25 +
.../GCGSkillPreviewTokenChangeInfo.proto | 26 +
protocol/proto/GCGSkillPreviewTokenInfo.proto | 26 +
protocol/proto/GCGStartChallengeReq.proto | 32 +
protocol/proto/GCGStartChallengeRsp.proto | 32 +
protocol/proto/GCGTCInviteReq.proto | 29 +
protocol/proto/GCGTCInviteRsp.proto | 28 +
protocol/proto/GCGTCTavernChallengeData.proto | 25 +
.../GCGTCTavernChallengeDataNotify.proto | 29 +
.../GCGTCTavernChallengeUpdateNotify.proto | 29 +
protocol/proto/GCGTCTavernInfoNotify.proto | 33 +
protocol/proto/GCGTavernNpcInfo.proto | 26 +
protocol/proto/GCGTavernNpcInfoNotify.proto | 31 +
protocol/proto/GCGToken.proto | 25 +
protocol/proto/GCGWaitingCharacter.proto | 25 +
protocol/proto/GCGWeekChallengeInfo.proto | 26 +
.../proto/GCGWeekChallengeInfoNotify.proto | 30 +
.../proto/GCGWorldChallengeUnlockNotify.proto | 27 +
protocol/proto/GCGZone.proto | 24 +
protocol/proto/GCGZoneType.proto | 32 +
protocol/proto/GMObstacleInfo.proto | 38 +
protocol/proto/GMShowNavMeshReq.proto | 31 +
protocol/proto/GMShowNavMeshRsp.proto | 30 +
protocol/proto/GMShowObstacleReq.proto | 26 +
protocol/proto/GMShowObstacleRsp.proto | 30 +
.../proto/GachaActivityCreateRobotReq.proto | 26 +
.../proto/GachaActivityCreateRobotRsp.proto | 28 +
protocol/proto/GachaActivityDetailInfo.proto | 31 +
.../proto/GachaActivityNextStageReq.proto | 26 +
.../proto/GachaActivityNextStageRsp.proto | 28 +
.../proto/GachaActivityPercentNotify.proto | 30 +
protocol/proto/GachaActivityResetReq.proto | 28 +
protocol/proto/GachaActivityResetRsp.proto | 28 +
.../proto/GachaActivityTakeRewardReq.proto | 28 +
.../proto/GachaActivityTakeRewardRsp.proto | 28 +
.../proto/GachaActivityUpdateElemNotify.proto | 28 +
protocol/proto/GachaInfo.proto | 51 +
protocol/proto/GachaItem.proto | 31 +
protocol/proto/GachaOpenWishNotify.proto | 29 +
protocol/proto/GachaSimpleInfoNotify.proto | 27 +
protocol/proto/GachaStageData.proto | 26 +
protocol/proto/GachaTransferItem.proto | 27 +
protocol/proto/GachaUpInfo.proto | 25 +
protocol/proto/GachaWishReq.proto | 30 +
protocol/proto/GachaWishRsp.proto | 32 +
.../proto/GadgetAutoPickDropInfoNotify.proto | 29 +
protocol/proto/GadgetBornType.proto | 30 +
.../proto/GadgetChainLevelChangeNotify.proto | 27 +
.../proto/GadgetChainLevelUpdateNotify.proto | 27 +
protocol/proto/GadgetChangeLevelTagReq.proto | 32 +
protocol/proto/GadgetChangeLevelTagRsp.proto | 27 +
protocol/proto/GadgetCrucibleInfo.proto | 25 +
.../proto/GadgetCustomTreeInfoNotify.proto | 30 +
protocol/proto/GadgetGeneralRewardInfo.proto | 30 +
.../proto/GadgetGeneralRewardInfoNotify.proto | 30 +
protocol/proto/GadgetInteractReq.proto | 36 +
protocol/proto/GadgetInteractRsp.proto | 34 +
protocol/proto/GadgetPlayDataNotify.proto | 29 +
protocol/proto/GadgetPlayInfo.proto | 34 +
protocol/proto/GadgetPlayStartNotify.proto | 29 +
protocol/proto/GadgetPlayStopNotify.proto | 34 +
protocol/proto/GadgetPlayUidInfo.proto | 32 +
protocol/proto/GadgetPlayUidOpNotify.proto | 32 +
protocol/proto/GadgetStateNotify.proto | 29 +
protocol/proto/GadgetTalkChangeNotify.proto | 28 +
.../proto/GalleryBalloonScoreNotify.proto | 28 +
.../proto/GalleryBalloonShootNotify.proto | 32 +
.../GalleryBounceConjuringHitNotify.proto | 29 +
.../proto/GalleryBrokenFloorFallNotify.proto | 28 +
protocol/proto/GalleryBulletHitNotify.proto | 28 +
.../GalleryCrystalLinkBuffInfoNotify.proto | 29 +
.../GalleryCrystalLinkKillMonsterNotify.proto | 28 +
protocol/proto/GalleryFallCatchNotify.proto | 32 +
protocol/proto/GalleryFallScoreNotify.proto | 30 +
protocol/proto/GalleryFlowerCatchNotify.proto | 29 +
protocol/proto/GalleryFlowerStartParam.proto | 24 +
...GalleryIslandPartyDownHillInfoNotify.proto | 29 +
protocol/proto/GalleryPreStartNotify.proto | 28 +
protocol/proto/GalleryStageType.proto | 26 +
protocol/proto/GalleryStartNotify.proto | 36 +
protocol/proto/GalleryStartSource.proto | 26 +
protocol/proto/GalleryStopNotify.proto | 27 +
protocol/proto/GalleryStopReason.proto | 34 +
.../proto/GallerySumoKillMonsterNotify.proto | 30 +
.../GalleryWillStartCountdownNotify.proto | 32 +
...ecommendationElementReliquaryRequest.proto | 25 +
...commendationElementReliquaryResponse.proto | 28 +
...yRecommendationReliquaryMainPropData.proto | 25 +
...meplayRecommendationReliquaryRequest.proto | 24 +
...eplayRecommendationReliquaryResponse.proto | 27 +
.../GameplayRecommendationSkillRequest.proto | 24 +
.../GameplayRecommendationSkillResponse.proto | 25 +
protocol/proto/GatherGadgetInfo.proto | 25 +
protocol/proto/GearActivityDetailInfo.proto | 28 +
.../proto/GearActivityFinishPlayGearReq.proto | 33 +
.../proto/GearActivityFinishPlayGearRsp.proto | 29 +
.../GearActivityFinishPlayPictureReq.proto | 28 +
.../GearActivityFinishPlayPictureRsp.proto | 28 +
.../proto/GearActivityStartPlayGearReq.proto | 28 +
.../proto/GearActivityStartPlayGearRsp.proto | 28 +
.../GearActivityStartPlayPictureReq.proto | 26 +
.../GearActivityStartPlayPictureRsp.proto | 27 +
protocol/proto/GearColumnInfo.proto | 28 +
protocol/proto/GearLevelData.proto | 29 +
protocol/proto/GeneralMatchInfo.proto | 28 +
protocol/proto/GetActivityInfoReq.proto | 28 +
protocol/proto/GetActivityInfoRsp.proto | 33 +
protocol/proto/GetActivityScheduleReq.proto | 26 +
protocol/proto/GetActivityScheduleRsp.proto | 31 +
.../proto/GetActivityShopSheetInfoReq.proto | 28 +
.../proto/GetActivityShopSheetInfoRsp.proto | 31 +
.../proto/GetAllActivatedBargainDataReq.proto | 26 +
.../proto/GetAllActivatedBargainDataRsp.proto | 30 +
protocol/proto/GetAllH5ActivityInfoReq.proto | 26 +
protocol/proto/GetAllH5ActivityInfoRsp.proto | 31 +
protocol/proto/GetAllMailNotify.proto | 28 +
protocol/proto/GetAllMailReq.proto | 28 +
protocol/proto/GetAllMailResultNotify.proto | 34 +
protocol/proto/GetAllMailRsp.proto | 32 +
.../proto/GetAllSceneGalleryInfoReq.proto | 26 +
.../proto/GetAllSceneGalleryInfoRsp.proto | 30 +
protocol/proto/GetAllUnlockNameCardReq.proto | 26 +
protocol/proto/GetAllUnlockNameCardRsp.proto | 29 +
protocol/proto/GetAreaExplorePointReq.proto | 28 +
protocol/proto/GetAreaExplorePointRsp.proto | 29 +
protocol/proto/GetAuthSalesmanInfoReq.proto | 28 +
protocol/proto/GetAuthSalesmanInfoRsp.proto | 29 +
protocol/proto/GetAuthkeyReq.proto | 30 +
protocol/proto/GetAuthkeyRsp.proto | 32 +
protocol/proto/GetBargainDataReq.proto | 28 +
protocol/proto/GetBargainDataRsp.proto | 31 +
protocol/proto/GetBattlePassProductReq.proto | 28 +
protocol/proto/GetBattlePassProductRsp.proto | 31 +
.../proto/GetBlossomBriefInfoListReq.proto | 28 +
.../proto/GetBlossomBriefInfoListRsp.proto | 31 +
.../proto/GetBonusActivityRewardReq.proto | 28 +
.../proto/GetBonusActivityRewardRsp.proto | 30 +
.../proto/GetChatEmojiCollectionReq.proto | 26 +
.../proto/GetChatEmojiCollectionRsp.proto | 30 +
protocol/proto/GetCityHuntingOfferReq.proto | 28 +
protocol/proto/GetCityHuntingOfferRsp.proto | 35 +
protocol/proto/GetCityReputationInfoReq.proto | 28 +
protocol/proto/GetCityReputationInfoRsp.proto | 31 +
.../proto/GetCityReputationMapInfoReq.proto | 26 +
.../proto/GetCityReputationMapInfoRsp.proto | 31 +
protocol/proto/GetCompoundDataReq.proto | 26 +
protocol/proto/GetCompoundDataRsp.proto | 31 +
protocol/proto/GetCustomDungeonReq.proto | 26 +
protocol/proto/GetCustomDungeonRsp.proto | 32 +
.../proto/GetDailyDungeonEntryInfoReq.proto | 28 +
.../proto/GetDailyDungeonEntryInfoRsp.proto | 30 +
.../GetDungeonEntryExploreConditionReq.proto | 30 +
.../GetDungeonEntryExploreConditionRsp.proto | 30 +
.../GetExpeditionAssistInfoListReq.proto | 26 +
.../GetExpeditionAssistInfoListRsp.proto | 30 +
.../proto/GetFriendShowAvatarInfoReq.proto | 28 +
.../proto/GetFriendShowAvatarInfoRsp.proto | 31 +
.../proto/GetFriendShowNameCardInfoReq.proto | 28 +
.../proto/GetFriendShowNameCardInfoRsp.proto | 29 +
...GetFurnitureCurModuleArrangeCountReq.proto | 26 +
protocol/proto/GetGachaInfoReq.proto | 26 +
protocol/proto/GetGachaInfoRsp.proto | 34 +
.../proto/GetGameplayRecommendationReq.proto | 37 +
.../proto/GetGameplayRecommendationRsp.proto | 37 +
.../proto/GetHomeExchangeWoodInfoReq.proto | 26 +
.../proto/GetHomeExchangeWoodInfoRsp.proto | 35 +
protocol/proto/GetHomeLevelUpRewardReq.proto | 28 +
protocol/proto/GetHomeLevelUpRewardRsp.proto | 28 +
protocol/proto/GetHuntingOfferRewardReq.proto | 31 +
protocol/proto/GetHuntingOfferRewardRsp.proto | 31 +
.../proto/GetInvestigationMonsterReq.proto | 29 +
.../proto/GetInvestigationMonsterRsp.proto | 32 +
protocol/proto/GetMailItemReq.proto | 28 +
protocol/proto/GetMailItemRsp.proto | 31 +
protocol/proto/GetMapAreaReq.proto | 26 +
protocol/proto/GetMapAreaRsp.proto | 30 +
protocol/proto/GetMapMarkTipsReq.proto | 26 +
protocol/proto/GetMapMarkTipsRsp.proto | 30 +
protocol/proto/GetMechanicusInfoReq.proto | 26 +
protocol/proto/GetMechanicusInfoRsp.proto | 30 +
protocol/proto/GetNextResourceInfoReq.proto | 26 +
protocol/proto/GetNextResourceInfoRsp.proto | 31 +
protocol/proto/GetOnlinePlayerInfoReq.proto | 33 +
protocol/proto/GetOnlinePlayerInfoRsp.proto | 32 +
protocol/proto/GetOnlinePlayerListReq.proto | 26 +
protocol/proto/GetOnlinePlayerListRsp.proto | 31 +
protocol/proto/GetOpActivityInfoReq.proto | 26 +
protocol/proto/GetOpActivityInfoRsp.proto | 30 +
.../proto/GetParentQuestVideoKeyReq.proto | 28 +
.../proto/GetParentQuestVideoKeyRsp.proto | 29 +
.../proto/GetPlayerAskFriendListReq.proto | 26 +
.../proto/GetPlayerAskFriendListRsp.proto | 30 +
protocol/proto/GetPlayerBlacklistReq.proto | 26 +
protocol/proto/GetPlayerBlacklistRsp.proto | 30 +
protocol/proto/GetPlayerFriendListReq.proto | 26 +
protocol/proto/GetPlayerFriendListRsp.proto | 32 +
protocol/proto/GetPlayerHomeCompInfoReq.proto | 26 +
.../GetPlayerMpModeAvailabilityReq.proto | 26 +
.../GetPlayerMpModeAvailabilityRsp.proto | 29 +
protocol/proto/GetPlayerSocialDetailReq.proto | 28 +
protocol/proto/GetPlayerSocialDetailRsp.proto | 30 +
protocol/proto/GetPlayerTokenReq.proto | 46 +
protocol/proto/GetPlayerTokenRsp.proto | 57 +
protocol/proto/GetPushTipsRewardReq.proto | 28 +
protocol/proto/GetPushTipsRewardRsp.proto | 28 +
.../proto/GetQuestLackingResourceReq.proto | 28 +
.../proto/GetQuestLackingResourceRsp.proto | 32 +
protocol/proto/GetQuestTalkHistoryReq.proto | 28 +
protocol/proto/GetQuestTalkHistoryRsp.proto | 29 +
protocol/proto/GetRecentMpPlayerListReq.proto | 26 +
protocol/proto/GetRecentMpPlayerListRsp.proto | 31 +
.../proto/GetRecommendCustomDungeonReq.proto | 28 +
.../proto/GetRecommendCustomDungeonRsp.proto | 30 +
protocol/proto/GetRegionSearchReq.proto | 26 +
protocol/proto/GetReunionMissionInfoReq.proto | 28 +
protocol/proto/GetReunionMissionInfoRsp.proto | 30 +
.../proto/GetReunionPrivilegeInfoReq.proto | 28 +
.../proto/GetReunionPrivilegeInfoRsp.proto | 30 +
protocol/proto/GetReunionSignInInfoReq.proto | 28 +
protocol/proto/GetReunionSignInInfoRsp.proto | 30 +
.../proto/GetRogueDairyRepairInfoReq.proto | 26 +
.../proto/GetRogueDairyRepairInfoRsp.proto | 27 +
protocol/proto/GetSceneAreaReq.proto | 29 +
protocol/proto/GetSceneAreaRsp.proto | 32 +
protocol/proto/GetSceneNpcPositionReq.proto | 29 +
protocol/proto/GetSceneNpcPositionRsp.proto | 31 +
protocol/proto/GetScenePerformanceReq.proto | 26 +
protocol/proto/GetScenePerformanceRsp.proto | 37 +
protocol/proto/GetScenePointReq.proto | 29 +
protocol/proto/GetScenePointRsp.proto | 38 +
protocol/proto/GetShopReq.proto | 28 +
protocol/proto/GetShopRsp.proto | 30 +
protocol/proto/GetShopmallDataReq.proto | 26 +
protocol/proto/GetShopmallDataRsp.proto | 28 +
protocol/proto/GetSignInRewardReq.proto | 29 +
protocol/proto/GetSignInRewardRsp.proto | 30 +
protocol/proto/GetStoreCustomDungeonReq.proto | 26 +
protocol/proto/GetStoreCustomDungeonRsp.proto | 30 +
protocol/proto/GetUgcBriefInfoReq.proto | 31 +
protocol/proto/GetUgcBriefInfoRsp.proto | 35 +
protocol/proto/GetUgcReq.proto | 36 +
protocol/proto/GetUgcRsp.proto | 41 +
protocol/proto/GetUgcType.proto | 26 +
protocol/proto/GetWidgetSlotReq.proto | 26 +
protocol/proto/GetWidgetSlotRsp.proto | 30 +
protocol/proto/GetWorldMpInfoReq.proto | 26 +
protocol/proto/GetWorldMpInfoRsp.proto | 29 +
.../proto/GiveUpRoguelikeDungeonCardReq.proto | 26 +
.../proto/GiveUpRoguelikeDungeonCardRsp.proto | 27 +
protocol/proto/GivingRecord.proto | 30 +
protocol/proto/GivingRecordChangeNotify.proto | 30 +
protocol/proto/GivingRecordNotify.proto | 29 +
protocol/proto/GlobalBuildingInfoNotify.proto | 31 +
protocol/proto/GmTalkNotify.proto | 27 +
protocol/proto/GmTalkReq.proto | 28 +
protocol/proto/GmTalkRsp.proto | 29 +
protocol/proto/GrantRewardNotify.proto | 29 +
protocol/proto/GravenInnocenceCampInfo.proto | 26 +
.../proto/GravenInnocenceCampStageInfo.proto | 27 +
protocol/proto/GravenInnocenceCarveInfo.proto | 28 +
.../proto/GravenInnocenceCarveStageInfo.proto | 25 +
.../proto/GravenInnocenceDetailInfo.proto | 33 +
...avenInnocenceEditCarveCombinationReq.proto | 31 +
...avenInnocenceEditCarveCombinationRsp.proto | 27 +
.../proto/GravenInnocencePhotoFinishReq.proto | 29 +
.../proto/GravenInnocencePhotoFinishRsp.proto | 29 +
protocol/proto/GravenInnocencePhotoInfo.proto | 28 +
.../GravenInnocencePhotoObjectInfo.proto | 26 +
.../GravenInnocencePhotoReminderNotify.proto | 28 +
.../proto/GravenInnocencePhotoStageInfo.proto | 26 +
protocol/proto/GravenInnocenceRaceInfo.proto | 26 +
.../proto/GravenInnocenceRaceLevelInfo.proto | 26 +
.../proto/GravenInnocenceRaceRestartReq.proto | 28 +
.../proto/GravenInnocenceRaceRestartRsp.proto | 28 +
.../GravenInnocenceRaceSettleNotify.proto | 38 +
protocol/proto/GroupLinkAllNotify.proto | 29 +
protocol/proto/GroupLinkBundle.proto | 31 +
protocol/proto/GroupLinkChangeNotify.proto | 29 +
protocol/proto/GroupLinkDeleteNotify.proto | 27 +
.../proto/GroupLinkMarkUpdateNotify.proto | 29 +
protocol/proto/GroupSuiteNotify.proto | 27 +
protocol/proto/GroupUnloadNotify.proto | 27 +
.../proto/GuestBeginEnterSceneNotify.proto | 28 +
.../proto/GuestPostEnterSceneNotify.proto | 28 +
protocol/proto/H5ActivityIdsNotify.proto | 28 +
protocol/proto/H5ActivityInfo.proto | 31 +
protocol/proto/HachiActivityDetailInfo.proto | 26 +
protocol/proto/HachiStageData.proto | 27 +
protocol/proto/HashedString.proto | 24 +
.../proto/HideAndSeekActivityDetailInfo.proto | 29 +
protocol/proto/HideAndSeekMapInfo.proto | 25 +
.../proto/HideAndSeekPlayerBattleInfo.proto | 27 +
.../proto/HideAndSeekPlayerReadyNotify.proto | 27 +
.../HideAndSeekPlayerSetAvatarNotify.proto | 29 +
.../proto/HideAndSeekSelectAvatarReq.proto | 28 +
.../proto/HideAndSeekSelectAvatarRsp.proto | 28 +
.../proto/HideAndSeekSelectSkillReq.proto | 28 +
.../proto/HideAndSeekSelectSkillRsp.proto | 28 +
protocol/proto/HideAndSeekSetReadyReq.proto | 26 +
protocol/proto/HideAndSeekSetReadyRsp.proto | 27 +
protocol/proto/HideAndSeekSettleInfo.proto | 32 +
protocol/proto/HideAndSeekSettleNotify.proto | 43 +
protocol/proto/HideAndSeekStageInfo.proto | 32 +
protocol/proto/HideAndSeekStageType.proto | 29 +
protocol/proto/HitClientTrivialNotify.proto | 31 +
protocol/proto/HitColliderType.proto | 27 +
protocol/proto/HitCollision.proto | 32 +
protocol/proto/HitTreeInfo.proto | 27 +
protocol/proto/HitTreeNotify.proto | 32 +
.../HomeAllUnlockedBgmIdListNotify.proto | 27 +
protocol/proto/HomeAnimalData.proto | 28 +
.../HomeAvatarAllFinishRewardNotify.proto | 27 +
.../proto/HomeAvatarCostumeChangeNotify.proto | 28 +
.../proto/HomeAvatarRewardEventGetReq.proto | 29 +
.../proto/HomeAvatarRewardEventGetRsp.proto | 31 +
.../proto/HomeAvatarRewardEventInfo.proto | 28 +
.../proto/HomeAvatarRewardEventNotify.proto | 31 +
.../HomeAvatarSummonAllEventNotify.proto | 29 +
.../proto/HomeAvatarSummonEventInfo.proto | 29 +
protocol/proto/HomeAvatarSummonEventReq.proto | 30 +
protocol/proto/HomeAvatarSummonEventRsp.proto | 28 +
.../proto/HomeAvatarSummonFinishReq.proto | 28 +
.../proto/HomeAvatarSummonFinishRsp.proto | 28 +
protocol/proto/HomeAvatarTalkFinishInfo.proto | 25 +
.../HomeAvatarTalkFinishInfoNotify.proto | 29 +
protocol/proto/HomeAvatarTalkReq.proto | 29 +
protocol/proto/HomeAvatarTalkRsp.proto | 30 +
.../HomeAvtarAllFinishRewardNotify.proto | 27 +
protocol/proto/HomeBalloonGalleryRecord.proto | 29 +
.../proto/HomeBalloonGalleryScoreNotify.proto | 30 +
.../HomeBalloonGallerySettleNotify.proto | 32 +
protocol/proto/HomeBalloonRecord.proto | 26 +
protocol/proto/HomeBasicInfo.proto | 33 +
protocol/proto/HomeBasicInfoNotify.proto | 29 +
protocol/proto/HomeBlockArrangementInfo.proto | 46 +
.../proto/HomeBlockArrangementMuipData.proto | 27 +
protocol/proto/HomeBlockDotPattern.proto | 26 +
protocol/proto/HomeBlockFieldData.proto | 31 +
protocol/proto/HomeBlockNotify.proto | 27 +
protocol/proto/HomeBlockSubFieldData.proto | 27 +
.../HomeBlueprintBatchBriefMuipData.proto | 27 +
.../proto/HomeBlueprintBriefMuipData.proto | 30 +
protocol/proto/HomeBlueprintInfoNotify.proto | 27 +
protocol/proto/HomeBlueprintSearchInfo.proto | 27 +
protocol/proto/HomeBlueprintSlotInfo.proto | 30 +
protocol/proto/HomeChangeBgmNotify.proto | 27 +
protocol/proto/HomeChangeBgmReq.proto | 28 +
protocol/proto/HomeChangeBgmRsp.proto | 27 +
protocol/proto/HomeChangeEditModeReq.proto | 28 +
protocol/proto/HomeChangeEditModeRsp.proto | 28 +
protocol/proto/HomeChangeModuleReq.proto | 28 +
protocol/proto/HomeChangeModuleRsp.proto | 28 +
protocol/proto/HomeChooseModuleReq.proto | 28 +
protocol/proto/HomeChooseModuleRsp.proto | 28 +
protocol/proto/HomeClearGroupRecordReq.proto | 28 +
protocol/proto/HomeClearGroupRecordRsp.proto | 28 +
protocol/proto/HomeComfortInfoNotify.proto | 29 +
protocol/proto/HomeCreateBlueprintReq.proto | 33 +
protocol/proto/HomeCreateBlueprintRsp.proto | 30 +
protocol/proto/HomeCustomFurnitureInfo.proto | 27 +
.../proto/HomeCustomFurnitureInfoNotify.proto | 31 +
protocol/proto/HomeDeleteBlueprintReq.proto | 28 +
protocol/proto/HomeDeleteBlueprintRsp.proto | 28 +
.../proto/HomeEditCustomFurnitureReq.proto | 30 +
.../proto/HomeEditCustomFurnitureRsp.proto | 30 +
.../proto/HomeEnterEditModeFinishReq.proto | 26 +
.../proto/HomeEnterEditModeFinishRsp.proto | 27 +
protocol/proto/HomeExchangeWoodReq.proto | 29 +
protocol/proto/HomeExchangeWoodRsp.proto | 30 +
protocol/proto/HomeFishFarmingInfo.proto | 25 +
.../proto/HomeFishFarmingInfoNotify.proto | 29 +
.../HomeFurnitureArrangementMuipData.proto | 28 +
.../proto/HomeFurnitureCustomSuiteData.proto | 28 +
protocol/proto/HomeFurnitureData.proto | 31 +
protocol/proto/HomeFurnitureGroupData.proto | 27 +
protocol/proto/HomeFurnitureSuiteData.proto | 30 +
.../proto/HomeGalleryInPlayingNotify.proto | 27 +
.../proto/HomeGetArrangementInfoReq.proto | 28 +
.../proto/HomeGetArrangementInfoRsp.proto | 30 +
protocol/proto/HomeGetBasicInfoReq.proto | 26 +
.../proto/HomeGetBlueprintSlotInfoReq.proto | 26 +
.../proto/HomeGetBlueprintSlotInfoRsp.proto | 31 +
.../proto/HomeGetFishFarmingInfoReq.proto | 26 +
.../proto/HomeGetFishFarmingInfoRsp.proto | 30 +
protocol/proto/HomeGetGroupRecordReq.proto | 28 +
protocol/proto/HomeGetGroupRecordRsp.proto | 31 +
protocol/proto/HomeGetOnlineStatusReq.proto | 26 +
protocol/proto/HomeGetOnlineStatusRsp.proto | 30 +
protocol/proto/HomeGroupPlayerInfo.proto | 31 +
protocol/proto/HomeGroupRecord.proto | 35 +
protocol/proto/HomeKickPlayerReq.proto | 29 +
protocol/proto/HomeKickPlayerRsp.proto | 29 +
protocol/proto/HomeLimitedShop.proto | 26 +
.../proto/HomeLimitedShopBuyGoodsReq.proto | 31 +
.../proto/HomeLimitedShopBuyGoodsRsp.proto | 32 +
protocol/proto/HomeLimitedShopGoods.proto | 31 +
.../proto/HomeLimitedShopGoodsListReq.proto | 26 +
.../proto/HomeLimitedShopGoodsListRsp.proto | 30 +
protocol/proto/HomeLimitedShopInfo.proto | 31 +
.../HomeLimitedShopInfoChangeNotify.proto | 29 +
.../proto/HomeLimitedShopInfoNotify.proto | 30 +
protocol/proto/HomeLimitedShopInfoReq.proto | 26 +
protocol/proto/HomeLimitedShopInfoRsp.proto | 30 +
.../proto/HomeMarkPointFurnitureData.proto | 35 +
protocol/proto/HomeMarkPointNPCData.proto | 25 +
protocol/proto/HomeMarkPointNotify.proto | 29 +
protocol/proto/HomeMarkPointSceneData.proto | 31 +
protocol/proto/HomeMarkPointSuiteData.proto | 24 +
protocol/proto/HomeModuleComfortInfo.proto | 26 +
protocol/proto/HomeModuleSeenReq.proto | 28 +
protocol/proto/HomeModuleSeenRsp.proto | 28 +
protocol/proto/HomeModuleUnlockNotify.proto | 27 +
.../HomeNewUnlockedBgmIdListNotify.proto | 27 +
protocol/proto/HomeNpcData.proto | 29 +
protocol/proto/HomePictureFrameInfo.proto | 25 +
.../proto/HomePictureFrameInfoNotify.proto | 29 +
protocol/proto/HomePlantFieldData.proto | 31 +
protocol/proto/HomePlantFieldNotify.proto | 29 +
protocol/proto/HomePlantFieldStatus.proto | 27 +
protocol/proto/HomePlantInfoNotify.proto | 29 +
protocol/proto/HomePlantInfoReq.proto | 26 +
protocol/proto/HomePlantInfoRsp.proto | 31 +
protocol/proto/HomePlantSeedReq.proto | 30 +
protocol/proto/HomePlantSeedRsp.proto | 27 +
protocol/proto/HomePlantSubFieldData.proto | 30 +
protocol/proto/HomePlantWeedReq.proto | 29 +
protocol/proto/HomePlantWeedRsp.proto | 27 +
.../proto/HomePreChangeEditModeNotify.proto | 27 +
protocol/proto/HomePreviewBlueprintReq.proto | 28 +
protocol/proto/HomePreviewBlueprintRsp.proto | 31 +
protocol/proto/HomePriorCheckNotify.proto | 27 +
protocol/proto/HomeRacingGalleryRecord.proto | 28 +
.../proto/HomeRacingGallerySettleNotify.proto | 32 +
protocol/proto/HomeRacingRecord.proto | 26 +
protocol/proto/HomeResource.proto | 26 +
protocol/proto/HomeResourceNotify.proto | 30 +
.../proto/HomeResourceTakeFetterExpReq.proto | 26 +
.../proto/HomeResourceTakeFetterExpRsp.proto | 30 +
.../proto/HomeResourceTakeHomeCoinReq.proto | 26 +
.../proto/HomeResourceTakeHomeCoinRsp.proto | 30 +
.../HomeSaveArrangementNoChangeReq.proto | 28 +
.../HomeSaveArrangementNoChangeRsp.proto | 28 +
protocol/proto/HomeSceneArrangementInfo.proto | 39 +
.../proto/HomeSceneArrangementMuipData.proto | 29 +
protocol/proto/HomeSceneInitFinishReq.proto | 26 +
protocol/proto/HomeSceneInitFinishRsp.proto | 27 +
protocol/proto/HomeSceneJumpReq.proto | 28 +
protocol/proto/HomeSceneJumpRsp.proto | 28 +
.../proto/HomeScenePointFishFarmingInfo.proto | 26 +
.../HomeScenePointFishFarmingInfoNotify.proto | 29 +
protocol/proto/HomeSearchBlueprintReq.proto | 28 +
protocol/proto/HomeSearchBlueprintRsp.proto | 30 +
.../HomeSeekFurnitureGalleryScoreNotify.proto | 32 +
.../proto/HomeSeekFurnitureOneRecord.proto | 27 +
.../proto/HomeSeekFurniturePlayerScore.proto | 27 +
.../HomeSetBlueprintFriendOptionReq.proto | 28 +
.../HomeSetBlueprintFriendOptionRsp.proto | 28 +
.../proto/HomeSetBlueprintSlotOptionReq.proto | 29 +
.../proto/HomeSetBlueprintSlotOptionRsp.proto | 29 +
protocol/proto/HomeStakePlayRecord.proto | 27 +
protocol/proto/HomeStakeRecord.proto | 26 +
protocol/proto/HomeTransferData.proto | 27 +
protocol/proto/HomeTransferReq.proto | 29 +
protocol/proto/HomeTransferRsp.proto | 28 +
.../proto/HomeUpdateArrangementInfoReq.proto | 30 +
.../proto/HomeUpdateArrangementInfoRsp.proto | 27 +
.../proto/HomeUpdateFishFarmingInfoReq.proto | 30 +
.../proto/HomeUpdateFishFarmingInfoRsp.proto | 27 +
.../proto/HomeUpdatePictureFrameInfoReq.proto | 30 +
.../proto/HomeUpdatePictureFrameInfoRsp.proto | 30 +
...meUpdateScenePointFishFarmingInfoReq.proto | 30 +
...meUpdateScenePointFishFarmingInfoRsp.proto | 27 +
protocol/proto/HomeVerifyBlockData.proto | 25 +
protocol/proto/HomeVerifyData.proto | 35 +
protocol/proto/HomeVerifyFurnitureData.proto | 26 +
protocol/proto/HomeVerifySceneData.proto | 30 +
protocol/proto/HostPlayerNotify.proto | 28 +
protocol/proto/HuntingFailNotify.proto | 29 +
protocol/proto/HuntingGiveUpReq.proto | 30 +
protocol/proto/HuntingGiveUpRsp.proto | 30 +
protocol/proto/HuntingOfferData.proto | 29 +
protocol/proto/HuntingOfferState.proto | 27 +
protocol/proto/HuntingOngoingNotify.proto | 35 +
protocol/proto/HuntingPair.proto | 25 +
protocol/proto/HuntingRevealClueNotify.proto | 33 +
protocol/proto/HuntingRevealFinalNotify.proto | 32 +
protocol/proto/HuntingStartNotify.proto | 33 +
protocol/proto/HuntingSuccessNotify.proto | 29 +
protocol/proto/InBattleChessInfo.proto | 36 +
protocol/proto/InBattleChessSettleInfo.proto | 32 +
protocol/proto/InBattleFleurFairInfo.proto | 28 +
.../InBattleIrodoriChessSettleInfo.proto | 29 +
.../InBattleMechanicusBuildingInfo.proto | 27 +
...BattleMechanicusBuildingPointsNotify.proto | 27 +
...InBattleMechanicusCardChallengeState.proto | 27 +
.../proto/InBattleMechanicusCardInfo.proto | 31 +
.../InBattleMechanicusCardResultNotify.proto | 34 +
.../InBattleMechanicusConfirmCardNotify.proto | 30 +
.../InBattleMechanicusConfirmCardReq.proto | 30 +
.../InBattleMechanicusConfirmCardRsp.proto | 30 +
...nBattleMechanicusEscapeMonsterNotify.proto | 27 +
protocol/proto/InBattleMechanicusInfo.proto | 45 +
.../InBattleMechanicusLeftMonsterNotify.proto | 27 +
.../proto/InBattleMechanicusMonsterInfo.proto | 26 +
.../InBattleMechanicusPickCardNotify.proto | 30 +
.../proto/InBattleMechanicusPickCardReq.proto | 30 +
.../proto/InBattleMechanicusPickCardRsp.proto | 30 +
.../proto/InBattleMechanicusPlayerInfo.proto | 30 +
.../proto/InBattleMechanicusSettleInfo.proto | 33 +
.../InBattleMechanicusSettleNotify.proto | 36 +
.../proto/InBattleMechanicusStageType.proto | 27 +
protocol/proto/InferencePageInfo.proto | 27 +
protocol/proto/InfernceWordInfo.proto | 28 +
protocol/proto/InstableSprayAvatarInfo.proto | 25 +
protocol/proto/InstableSprayDetailInfo.proto | 26 +
.../proto/InstableSprayEnterDungeonReq.proto | 32 +
.../proto/InstableSprayEnterDungeonRsp.proto | 28 +
.../InstableSprayGalleryInfoNotify.proto | 27 +
.../InstableSprayLevelFinishNotify.proto | 31 +
.../InstableSprayRestartDungeonReq.proto | 30 +
.../InstableSprayRestartDungeonRsp.proto | 28 +
protocol/proto/InstableSpraySettleInfo.proto | 27 +
protocol/proto/InstableSprayStageInfo.proto | 29 +
.../proto/InstableSpraySwitchTeamReq.proto | 30 +
.../proto/InstableSpraySwitchTeamRsp.proto | 28 +
protocol/proto/InstableSprayTeamInfo.proto | 26 +
protocol/proto/InterOpType.proto | 25 +
.../InteractDailyDungeonInfoNotify.proto | 26 +
protocol/proto/InteractType.proto | 40 +
.../proto/InterpretInferenceWordReq.proto | 29 +
.../proto/InterpretInferenceWordRsp.proto | 29 +
protocol/proto/InterruptGalleryReq.proto | 28 +
protocol/proto/InterruptGalleryRsp.proto | 29 +
protocol/proto/Investigation.proto | 34 +
protocol/proto/InvestigationMonster.proto | 48 +
.../InvestigationMonsterUpdateNotify.proto | 29 +
.../proto/InvestigationQuestDailyNotify.proto | 25 +
.../InvestigationReadQuestDailyNotify.proto | 26 +
protocol/proto/InvestigationTarget.proto | 35 +
.../proto/IrodoriActivityDetailInfo.proto | 32 +
protocol/proto/IrodoriChessData.proto | 27 +
.../IrodoriChessEntranceDetailInfo.proto | 26 +
protocol/proto/IrodoriChessEntranceInfo.proto | 27 +
protocol/proto/IrodoriChessEquipCardReq.proto | 30 +
protocol/proto/IrodoriChessEquipCardRsp.proto | 30 +
protocol/proto/IrodoriChessInfo.proto | 30 +
.../proto/IrodoriChessLeftMonsterNotify.proto | 27 +
protocol/proto/IrodoriChessLevelData.proto | 29 +
protocol/proto/IrodoriChessMapData.proto | 29 +
protocol/proto/IrodoriChessMonsterInfo.proto | 27 +
protocol/proto/IrodoriChessMysteryInfo.proto | 28 +
protocol/proto/IrodoriChessPlayerInfo.proto | 26 +
.../proto/IrodoriChessPlayerInfoNotify.proto | 29 +
.../proto/IrodoriChessUnequipCardReq.proto | 30 +
.../proto/IrodoriChessUnequipCardRsp.proto | 30 +
.../IrodoriEditFlowerCombinationReq.proto | 31 +
.../IrodoriEditFlowerCombinationRsp.proto | 29 +
protocol/proto/IrodoriFillPoetryReq.proto | 29 +
protocol/proto/IrodoriFillPoetryRsp.proto | 30 +
protocol/proto/IrodoriFlowerData.proto | 27 +
.../IrodoriMasterGalleryCgEndNotify.proto | 29 +
.../IrodoriMasterGallerySettleInfo.proto | 30 +
.../IrodoriMasterGallerySettleNotify.proto | 31 +
.../proto/IrodoriMasterLevelDetailInfo.proto | 27 +
protocol/proto/IrodoriMasterLevelInfo.proto | 27 +
.../proto/IrodoriMasterStartGalleryReq.proto | 29 +
.../proto/IrodoriMasterStartGalleryRsp.proto | 27 +
protocol/proto/IrodoriPoetryData.proto | 27 +
protocol/proto/IrodoriPoetryThemeData.proto | 30 +
protocol/proto/IrodoriScanEntityReq.proto | 28 +
protocol/proto/IrodoriScanEntityRsp.proto | 31 +
protocol/proto/IslandPartyDetailInfo.proto | 26 +
.../proto/IslandPartyGallerySettleInfo.proto | 28 +
.../proto/IslandPartyRaftInfoNotify.proto | 30 +
.../proto/IslandPartySailInfoNotify.proto | 32 +
protocol/proto/IslandPartySailStage.proto | 26 +
protocol/proto/IslandPartySettleNotify.proto | 35 +
protocol/proto/IslandPartyStageData.proto | 26 +
protocol/proto/Item.proto | 34 +
protocol/proto/ItemAddHintNotify.proto | 37 +
protocol/proto/ItemCdGroupTimeNotify.proto | 27 +
protocol/proto/ItemGivingReq.proto | 38 +
protocol/proto/ItemGivingRsp.proto | 29 +
protocol/proto/ItemHint.proto | 27 +
protocol/proto/ItemParam.proto | 25 +
protocol/proto/JigsawPictureData.proto | 27 +
protocol/proto/JoinHomeWorldFailNotify.proto | 28 +
protocol/proto/JoinPlayerFailNotify.proto | 27 +
protocol/proto/JoinPlayerSceneReq.proto | 28 +
protocol/proto/JoinPlayerSceneRsp.proto | 27 +
protocol/proto/KeepAliveNotify.proto | 25 +
protocol/proto/LanguageType.proto | 39 +
protocol/proto/LanternProjectionInfo.proto | 30 +
.../proto/LanternProjectionLevelInfo.proto | 28 +
.../proto/LanternRiteActivityDetailInfo.proto | 33 +
.../LanternRiteDoFireworksReformReq.proto | 31 +
.../LanternRiteDoFireworksReformRsp.proto | 37 +
.../LanternRiteEndFireworksReformReq.proto | 29 +
.../LanternRiteEndFireworksReformRsp.proto | 35 +
.../LanternRiteFireworksChallengeInfo.proto | 26 +
protocol/proto/LanternRiteFireworksInfo.proto | 26 +
...LanternRiteFireworksReformFactorInfo.proto | 25 +
.../LanternRiteFireworksReformSkillInfo.proto | 27 +
.../proto/LanternRiteFireworksStageInfo.proto | 28 +
.../LanternRiteStartFireworksReformReq.proto | 29 +
.../LanternRiteStartFireworksReformRsp.proto | 38 +
.../proto/LanternRiteTakeSkinRewardReq.proto | 26 +
.../proto/LanternRiteTakeSkinRewardRsp.proto | 27 +
protocol/proto/LastPacketPrintNotify.proto | 26 +
protocol/proto/LaunchFireworksReq.proto | 30 +
protocol/proto/LaunchFireworksRsp.proto | 27 +
protocol/proto/LeaveSceneReq.proto | 26 +
protocol/proto/LeaveSceneRsp.proto | 27 +
protocol/proto/LeaveWorldNotify.proto | 25 +
protocol/proto/LevelTagDataNotify.proto | 28 +
protocol/proto/LevelupCityReq.proto | 30 +
protocol/proto/LevelupCityRsp.proto | 32 +
protocol/proto/LifeStateChangeNotify.proto | 36 +
protocol/proto/LikeCustomDungeonReq.proto | 29 +
protocol/proto/LikeCustomDungeonRsp.proto | 27 +
protocol/proto/LiveEndNotify.proto | 27 +
protocol/proto/LiveStartNotify.proto | 27 +
.../proto/LoadActivityTerrainNotify.proto | 28 +
protocol/proto/LockedPersonallineData.proto | 34 +
.../proto/LuaEnvironmentEffectNotify.proto | 30 +
protocol/proto/LuaSetOptionNotify.proto | 33 +
protocol/proto/LuaShellType.proto | 27 +
...anceStoneChallengeActivityDetailInfo.proto | 27 +
...nanceStoneChallengeGallerySettleInfo.proto | 31 +
.../LuminanceStoneChallengeSettleInfo.proto | 27 +
.../LuminanceStoneChallengeSettleNotify.proto | 30 +
protocol/proto/LunaRiteAreaFinishNotify.proto | 28 +
protocol/proto/LunaRiteAreaInfo.proto | 30 +
protocol/proto/LunaRiteDetailInfo.proto | 28 +
.../LunaRiteGroupBundleRegisterNotify.proto | 28 +
protocol/proto/LunaRiteHintPoint.proto | 30 +
.../proto/LunaRiteHintPointRemoveNotify.proto | 28 +
protocol/proto/LunaRiteHintPointReq.proto | 28 +
protocol/proto/LunaRiteHintPointRsp.proto | 34 +
protocol/proto/LunaRiteHintPointType.proto | 26 +
protocol/proto/LunaRiteHintStatusType.proto | 26 +
protocol/proto/LunaRiteSacrificeReq.proto | 29 +
protocol/proto/LunaRiteSacrificeRsp.proto | 30 +
.../LunaRiteTakeSacrificeRewardReq.proto | 29 +
.../LunaRiteTakeSacrificeRewardRsp.proto | 31 +
protocol/proto/LunchBoxData.proto | 24 +
protocol/proto/MPLevelEntityInfo.proto | 28 +
protocol/proto/MailChangeNotify.proto | 30 +
protocol/proto/MailCollectState.proto | 27 +
protocol/proto/MailData.proto | 38 +
protocol/proto/MailItem.proto | 28 +
protocol/proto/MailTextContent.proto | 26 +
protocol/proto/MainCoop.proto | 36 +
protocol/proto/MainCoopFailNotify.proto | 28 +
protocol/proto/MainCoopUpdateNotify.proto | 29 +
protocol/proto/MapAreaChangeNotify.proto | 29 +
protocol/proto/MapAreaInfo.proto | 25 +
protocol/proto/MapInfo.proto | 30 +
protocol/proto/MapMarkFromType.proto | 26 +
protocol/proto/MapMarkPoint.proto | 34 +
protocol/proto/MapMarkPointType.proto | 30 +
protocol/proto/MapMarkTipsInfo.proto | 27 +
protocol/proto/MapMarkTipsType.proto | 24 +
protocol/proto/MarkEntityInMinMapNotify.proto | 31 +
protocol/proto/MarkMapReq.proto | 39 +
protocol/proto/MarkMapRsp.proto | 30 +
protocol/proto/MarkNewNotify.proto | 28 +
...MarkTargetInvestigationMonsterNotify.proto | 31 +
protocol/proto/MassiveBoxInfo.proto | 32 +
.../MassiveEntityElementOpBatchNotify.proto | 41 +
protocol/proto/MassiveEntityState.proto | 26 +
.../MassiveEntityStateChangedNotify.proto | 30 +
protocol/proto/MassiveGrassInfo.proto | 28 +
protocol/proto/MassivePropParam.proto | 27 +
protocol/proto/MassivePropSyncInfo.proto | 27 +
protocol/proto/MassiveWaterInfo.proto | 24 +
protocol/proto/MatchPlayerInfo.proto | 27 +
protocol/proto/MatchReason.proto | 33 +
protocol/proto/MatchType.proto | 29 +
protocol/proto/Material.proto | 27 +
protocol/proto/MaterialDeleteInfo.proto | 44 +
.../proto/MaterialDeleteReturnNotify.proto | 31 +
protocol/proto/MaterialDeleteReturnType.proto | 25 +
.../proto/MaterialDeleteUpdateNotify.proto | 25 +
protocol/proto/MaterialInfo.proto | 25 +
protocol/proto/MathQuaternion.proto | 27 +
protocol/proto/McoinExchangeHcoinReq.proto | 29 +
protocol/proto/McoinExchangeHcoinRsp.proto | 29 +
.../MechanicusCandidateTeamCreateReq.proto | 28 +
.../MechanicusCandidateTeamCreateRsp.proto | 29 +
protocol/proto/MechanicusCloseNotify.proto | 27 +
protocol/proto/MechanicusCoinNotify.proto | 28 +
protocol/proto/MechanicusInfo.proto | 32 +
protocol/proto/MechanicusLevelupGearReq.proto | 29 +
protocol/proto/MechanicusLevelupGearRsp.proto | 30 +
protocol/proto/MechanicusOpenNotify.proto | 27 +
.../proto/MechanicusSequenceOpenNotify.proto | 28 +
protocol/proto/MechanicusUnlockGearReq.proto | 29 +
protocol/proto/MechanicusUnlockGearRsp.proto | 29 +
protocol/proto/MeetNpcReq.proto | 28 +
protocol/proto/MeetNpcRsp.proto | 28 +
protocol/proto/MetNpcIdListNotify.proto | 27 +
.../MichiaeMatsuriActivityDetailInfo.proto | 32 +
.../MichiaeMatsuriChallengePositionInfo.proto | 28 +
.../MichiaeMatsuriChestPositionInfo.proto | 28 +
...MatsuriDarkPressureLevelUpdateNotify.proto | 27 +
...iaeMatsuriGainCrystalExpUpdateNotify.proto | 28 +
.../MichiaeMatsuriInteractStatueReq.proto | 28 +
.../MichiaeMatsuriInteractStatueRsp.proto | 27 +
...hiaeMatsuriRemoveChallengeMarkNotify.proto | 28 +
.../MichiaeMatsuriRemoveChestMarkNotify.proto | 28 +
protocol/proto/MichiaeMatsuriStage.proto | 26 +
.../MichiaeMatsuriStartBossChallengeReq.proto | 29 +
.../MichiaeMatsuriStartBossChallengeRsp.proto | 27 +
.../MichiaeMatsuriStartDarkChallengeReq.proto | 28 +
.../MichiaeMatsuriStartDarkChallengeRsp.proto | 27 +
.../MichiaeMatsuriUnlockCrystalSkillReq.proto | 28 +
.../MichiaeMatsuriUnlockCrystalSkillRsp.proto | 28 +
protocol/proto/MiracleRingDataNotify.proto | 31 +
.../proto/MiracleRingDeliverItemReq.proto | 35 +
.../proto/MiracleRingDeliverItemRsp.proto | 34 +
protocol/proto/MiracleRingDestroyNotify.proto | 27 +
.../proto/MiracleRingDropResultNotify.proto | 28 +
protocol/proto/MiracleRingTakeRewardReq.proto | 29 +
protocol/proto/MiracleRingTakeRewardRsp.proto | 27 +
.../proto/MistTrialActivityDetailInfo.proto | 26 +
.../proto/MistTrialDunegonFailNotify.proto | 27 +
.../MistTrialGetChallengeMissionReq.proto | 28 +
.../MistTrialGetChallengeMissionRsp.proto | 31 +
...MistTrialGetDungeonExhibitionDataReq.proto | 28 +
...MistTrialGetDungeonExhibitionDataRsp.proto | 28 +
protocol/proto/MistTrialLevelData.proto | 26 +
protocol/proto/MistTrialMissionInfo.proto | 25 +
...tTrialSelectAvatarAndEnterDungeonReq.proto | 30 +
...tTrialSelectAvatarAndEnterDungeonRsp.proto | 28 +
protocol/proto/MistTrialSettleNotify.proto | 30 +
protocol/proto/ModifierAction.proto | 25 +
protocol/proto/ModifierDurability.proto | 25 +
protocol/proto/ModifierProperty.proto | 27 +
.../proto/MonsterAIConfigHashNotify.proto | 30 +
protocol/proto/MonsterAlertChangeNotify.proto | 30 +
protocol/proto/MonsterBornType.proto | 26 +
protocol/proto/MonsterForceAlertNotify.proto | 27 +
.../MonsterPointArrayRouteUpdateNotify.proto | 30 +
protocol/proto/MonsterRoute.proto | 29 +
protocol/proto/MonsterSummonTagNotify.proto | 28 +
.../MoonfinTrialActivityDetailInfo.proto | 27 +
protocol/proto/MoonfinTrialLevelInfo.proto | 25 +
protocol/proto/MotionInfo.proto | 35 +
protocol/proto/MotionState.proto | 80 ++
protocol/proto/MovingPlatformType.proto | 27 +
protocol/proto/MpBlockNotify.proto | 27 +
.../proto/MpPlayGuestReplyInviteReq.proto | 29 +
.../proto/MpPlayGuestReplyInviteRsp.proto | 28 +
protocol/proto/MpPlayGuestReplyNotify.proto | 29 +
protocol/proto/MpPlayInviteResultNotify.proto | 28 +
protocol/proto/MpPlayOwnerCheckReq.proto | 29 +
protocol/proto/MpPlayOwnerCheckRsp.proto | 30 +
protocol/proto/MpPlayOwnerInviteNotify.proto | 29 +
.../proto/MpPlayOwnerStartInviteReq.proto | 29 +
.../proto/MpPlayOwnerStartInviteRsp.proto | 29 +
.../proto/MpPlayPrepareInterruptNotify.proto | 27 +
protocol/proto/MpPlayPrepareNotify.proto | 28 +
protocol/proto/MpPlayRewardInfo.proto | 26 +
protocol/proto/MpSettingType.proto | 26 +
protocol/proto/MsgParam.proto | 28 +
protocol/proto/MultistagePlayEndNotify.proto | 28 +
.../proto/MultistagePlayFinishStageReq.proto | 29 +
.../proto/MultistagePlayFinishStageRsp.proto | 29 +
protocol/proto/MultistagePlayInfo.proto | 45 +
protocol/proto/MultistagePlayInfoNotify.proto | 29 +
.../proto/MultistagePlaySettleNotify.proto | 37 +
.../proto/MultistagePlayStageEndNotify.proto | 28 +
.../proto/MultistageSettleWatcherInfo.proto | 27 +
.../MuqadasPotionActivityDetailInfo.proto | 26 +
...MuqadasPotionActivityEnterDungeonReq.proto | 28 +
...MuqadasPotionActivityEnterDungeonRsp.proto | 28 +
.../MuqadasPotionCaptureWeaknessReq.proto | 29 +
.../MuqadasPotionCaptureWeaknessRsp.proto | 27 +
.../MuqadasPotionDungeonSettleNotify.proto | 31 +
protocol/proto/MuqadasPotionLevelData.proto | 26 +
.../MuqadasPotionRestartDungeonReq.proto | 26 +
.../MuqadasPotionRestartDungeonRsp.proto | 27 +
.../proto/MusicGameActivityDetailInfo.proto | 29 +
protocol/proto/MusicGameRecord.proto | 26 +
protocol/proto/MusicGameSettleReq.proto | 45 +
protocol/proto/MusicGameSettleRsp.proto | 31 +
protocol/proto/MusicGameStartReq.proto | 30 +
protocol/proto/MusicGameStartRsp.proto | 29 +
protocol/proto/NavMeshStatsNotify.proto | 30 +
.../proto/NicknameAuditConfigNotify.proto | 28 +
.../proto/NicknameSignatureAuditData.proto | 34 +
protocol/proto/NightCrowGadgetInfo.proto | 24 +
.../NightCrowGadgetObservationMatchReq.proto | 29 +
.../NightCrowGadgetObservationMatchRsp.proto | 27 +
protocol/proto/NormalUidOpNotify.proto | 30 +
protocol/proto/NpcPositionInfo.proto | 27 +
protocol/proto/NpcTalkReq.proto | 30 +
protocol/proto/NpcTalkRsp.proto | 30 +
protocol/proto/NpcTalkStateNotify.proto | 27 +
protocol/proto/NullMsg.proto | 7 +
protocol/proto/ObstacleInfo.proto | 37 +
protocol/proto/ObstacleModifyNotify.proto | 32 +
protocol/proto/OfferingInfo.proto | 24 +
protocol/proto/OfferingInteractReq.proto | 28 +
protocol/proto/OfferingInteractRsp.proto | 30 +
protocol/proto/OfficialCustomDungeon.proto | 25 +
.../proto/OneofGatherPointDetectorData.proto | 32 +
.../OneofGatherPointDetectorDataNotify.proto | 29 +
protocol/proto/OnlinePlayerInfo.proto | 39 +
protocol/proto/OpActivityDataNotify.proto | 29 +
protocol/proto/OpActivityInfo.proto | 33 +
protocol/proto/OpActivityStateNotify.proto | 30 +
protocol/proto/OpActivityTagBriefInfo.proto | 26 +
protocol/proto/OpActivityUpdateNotify.proto | 29 +
.../OpenBlossomCircleCampGuideNotify.proto | 29 +
protocol/proto/OpenStateChangeNotify.proto | 27 +
protocol/proto/OpenStateUpdateNotify.proto | 27 +
protocol/proto/OrderDisplayNotify.proto | 28 +
protocol/proto/OrderFinishNotify.proto | 33 +
protocol/proto/OtherCustomDungeonBrief.proto | 39 +
.../proto/OtherPlayerEnterHomeNotify.proto | 34 +
protocol/proto/OutStuckCustomDungeonReq.proto | 26 +
protocol/proto/OutStuckCustomDungeonRsp.proto | 28 +
protocol/proto/PBNavMeshPoly.proto | 33 +
protocol/proto/PBNavMeshTile.proto | 28 +
protocol/proto/PSNBlackListNotify.proto | 29 +
protocol/proto/PSNFriendListNotify.proto | 29 +
protocol/proto/PSPlayerApplyEnterMpReq.proto | 28 +
protocol/proto/PSPlayerApplyEnterMpRsp.proto | 29 +
protocol/proto/PacketHead.proto | 41 +
protocol/proto/ParamList.proto | 24 +
protocol/proto/ParentQuest.proto | 38 +
.../ParentQuestInferenceDataNotify.proto | 30 +
protocol/proto/ParentQuestRandomInfo.proto | 26 +
protocol/proto/ParkourLevelInfo.proto | 29 +
protocol/proto/PathfindingEnterSceneReq.proto | 36 +
protocol/proto/PathfindingEnterSceneRsp.proto | 27 +
protocol/proto/PathfindingPingNotify.proto | 26 +
protocol/proto/PbNavMeshStatsInfo.proto | 27 +
.../PersistentDungeonSwitchAvatarReq.proto | 29 +
.../PersistentDungeonSwitchAvatarRsp.proto | 29 +
protocol/proto/PersonalLineAllDataReq.proto | 26 +
protocol/proto/PersonalLineAllDataRsp.proto | 34 +
.../proto/PersonalLineNewUnlockNotify.proto | 27 +
protocol/proto/PersonalSceneJumpReq.proto | 28 +
protocol/proto/PersonalSceneJumpRsp.proto | 31 +
.../proto/PhotoActivityClientViewReq.proto | 28 +
.../proto/PhotoActivityClientViewRsp.proto | 28 +
protocol/proto/PhotoActivityDetailInfo.proto | 27 +
protocol/proto/PhotoActivityFinishReq.proto | 30 +
protocol/proto/PhotoActivityFinishRsp.proto | 28 +
protocol/proto/PhotoGallerySettleInfo.proto | 26 +
protocol/proto/PhotoPosData.proto | 30 +
protocol/proto/PingReq.proto | 32 +
protocol/proto/PingRsp.proto | 29 +
protocol/proto/PlaceInfo.proto | 27 +
.../PlantFlowerAcceptAllGiveFlowerReq.proto | 28 +
.../PlantFlowerAcceptAllGiveFlowerRsp.proto | 31 +
.../PlantFlowerAcceptFlowerResultInfo.proto | 26 +
.../PlantFlowerAcceptGiveFlowerReq.proto | 29 +
.../PlantFlowerAcceptGiveFlowerRsp.proto | 31 +
.../proto/PlantFlowerActivityDetailInfo.proto | 29 +
.../PlantFlowerEditFlowerCombinationReq.proto | 32 +
.../PlantFlowerEditFlowerCombinationRsp.proto | 28 +
.../PlantFlowerFriendFlowerWishData.proto | 29 +
...PlantFlowerGetCanGiveFriendFlowerReq.proto | 28 +
...PlantFlowerGetCanGiveFriendFlowerRsp.proto | 29 +
...lantFlowerGetFriendFlowerWishListReq.proto | 28 +
...lantFlowerGetFriendFlowerWishListRsp.proto | 31 +
.../PlantFlowerGetRecvFlowerListReq.proto | 28 +
.../PlantFlowerGetRecvFlowerListRsp.proto | 31 +
.../proto/PlantFlowerGetSeedInfoReq.proto | 28 +
.../proto/PlantFlowerGetSeedInfoRsp.proto | 29 +
.../PlantFlowerGiveFriendFlowerReq.proto | 30 +
.../PlantFlowerGiveFriendFlowerRsp.proto | 29 +
.../PlantFlowerHaveRecvFlowerNotify.proto | 27 +
.../proto/PlantFlowerRecvFlowerData.proto | 29 +
.../proto/PlantFlowerSetFlowerWishReq.proto | 29 +
.../proto/PlantFlowerSetFlowerWishRsp.proto | 28 +
.../proto/PlantFlowerTakeSeedRewardReq.proto | 28 +
.../proto/PlantFlowerTakeSeedRewardRsp.proto | 28 +
.../proto/PlatformChangeRouteNotify.proto | 31 +
protocol/proto/PlatformInfo.proto | 42 +
protocol/proto/PlatformStartRouteNotify.proto | 31 +
protocol/proto/PlatformStopRouteNotify.proto | 31 +
protocol/proto/PlatformType.proto | 38 +
protocol/proto/PlayProduct.proto | 26 +
protocol/proto/PlayTeamEntityInfo.proto | 30 +
...yerAllowEnterMpAfterAgreeMatchNotify.proto | 27 +
.../proto/PlayerApplyEnterHomeNotify.proto | 30 +
.../PlayerApplyEnterHomeResultNotify.proto | 42 +
.../proto/PlayerApplyEnterHomeResultReq.proto | 29 +
.../proto/PlayerApplyEnterHomeResultRsp.proto | 30 +
...erApplyEnterMpAfterMatchAgreedNotify.proto | 32 +
protocol/proto/PlayerApplyEnterMpNotify.proto | 31 +
protocol/proto/PlayerApplyEnterMpReq.proto | 28 +
.../PlayerApplyEnterMpResultNotify.proto | 47 +
.../proto/PlayerApplyEnterMpResultReq.proto | 29 +
.../proto/PlayerApplyEnterMpResultRsp.proto | 30 +
protocol/proto/PlayerApplyEnterMpRsp.proto | 29 +
protocol/proto/PlayerCancelMatchReq.proto | 30 +
protocol/proto/PlayerCancelMatchRsp.proto | 30 +
protocol/proto/PlayerChatCDNotify.proto | 27 +
protocol/proto/PlayerChatNotify.proto | 30 +
protocol/proto/PlayerChatReq.proto | 31 +
protocol/proto/PlayerChatRsp.proto | 28 +
.../PlayerCompoundMaterialBoostReq.proto | 31 +
.../PlayerCompoundMaterialBoostRsp.proto | 34 +
.../proto/PlayerCompoundMaterialReq.proto | 29 +
.../proto/PlayerCompoundMaterialRsp.proto | 30 +
protocol/proto/PlayerConfirmMatchReq.proto | 31 +
protocol/proto/PlayerConfirmMatchRsp.proto | 32 +
protocol/proto/PlayerCookArgsReq.proto | 29 +
protocol/proto/PlayerCookArgsRsp.proto | 28 +
protocol/proto/PlayerCookReq.proto | 31 +
protocol/proto/PlayerCookRsp.proto | 35 +
.../proto/PlayerCustomDungeonMuipData.proto | 29 +
protocol/proto/PlayerDataNotify.proto | 33 +
protocol/proto/PlayerDeathZoneNotify.proto | 27 +
protocol/proto/PlayerDieOption.proto | 27 +
protocol/proto/PlayerDieType.proto | 32 +
protocol/proto/PlayerEnterDungeonReq.proto | 32 +
protocol/proto/PlayerEnterDungeonRsp.proto | 29 +
.../proto/PlayerEnterSceneInfoNotify.proto | 36 +
protocol/proto/PlayerEnterSceneNotify.proto | 45 +
.../proto/PlayerEyePointStateNotify.proto | 44 +
protocol/proto/PlayerFishingDataNotify.proto | 27 +
protocol/proto/PlayerForceExitReq.proto | 26 +
protocol/proto/PlayerForceExitRsp.proto | 27 +
.../proto/PlayerGCGMatchConfirmNotify.proto | 29 +
.../proto/PlayerGCGMatchDismissNotify.proto | 31 +
protocol/proto/PlayerGameTimeNotify.proto | 30 +
.../PlayerGeneralMatchConfirmNotify.proto | 29 +
.../PlayerGeneralMatchDismissNotify.proto | 31 +
.../proto/PlayerGetForceQuitBanInfoReq.proto | 26 +
.../proto/PlayerGetForceQuitBanInfoRsp.proto | 29 +
protocol/proto/PlayerHomeCompInfo.proto | 29 +
protocol/proto/PlayerHomeCompInfoNotify.proto | 29 +
protocol/proto/PlayerInjectFixNotify.proto | 28 +
.../PlayerInvestigationAllInfoNotify.proto | 31 +
.../proto/PlayerInvestigationNotify.proto | 29 +
.../PlayerInvestigationTargetNotify.proto | 29 +
.../proto/PlayerLevelRewardUpdateNotify.proto | 27 +
protocol/proto/PlayerLocationInfo.proto | 28 +
protocol/proto/PlayerLoginReq.proto | 72 ++
protocol/proto/PlayerLoginRsp.proto | 66 ++
protocol/proto/PlayerLogoutNotify.proto | 27 +
protocol/proto/PlayerLogoutReq.proto | 39 +
protocol/proto/PlayerLogoutRsp.proto | 27 +
protocol/proto/PlayerLuaShellNotify.proto | 32 +
.../proto/PlayerMatchAgreedResultNotify.proto | 39 +
protocol/proto/PlayerMatchInfoNotify.proto | 37 +
protocol/proto/PlayerMatchStopNotify.proto | 30 +
protocol/proto/PlayerMatchSuccNotify.proto | 38 +
.../proto/PlayerNicknameAuditDataNotify.proto | 29 +
protocol/proto/PlayerNicknameNotify.proto | 27 +
protocol/proto/PlayerOfferingData.proto | 28 +
protocol/proto/PlayerOfferingDataNotify.proto | 29 +
protocol/proto/PlayerOfferingReq.proto | 28 +
protocol/proto/PlayerOfferingRsp.proto | 32 +
protocol/proto/PlayerPreEnterMpNotify.proto | 35 +
protocol/proto/PlayerPropChangeNotify.proto | 28 +
.../proto/PlayerPropChangeReasonNotify.proto | 32 +
protocol/proto/PlayerPropNotify.proto | 29 +
protocol/proto/PlayerQuitDungeonReq.proto | 29 +
protocol/proto/PlayerQuitDungeonRsp.proto | 28 +
protocol/proto/PlayerQuitFromHomeNotify.proto | 37 +
protocol/proto/PlayerQuitFromMpNotify.proto | 41 +
protocol/proto/PlayerRTTInfo.proto | 25 +
protocol/proto/PlayerRandomCookReq.proto | 30 +
protocol/proto/PlayerRandomCookRsp.proto | 27 +
protocol/proto/PlayerRechargeDataNotify.proto | 30 +
protocol/proto/PlayerReportReq.proto | 34 +
protocol/proto/PlayerReportRsp.proto | 29 +
protocol/proto/PlayerRoutineDataNotify.proto | 29 +
protocol/proto/PlayerRoutineInfo.proto | 25 +
protocol/proto/PlayerSetLanguageReq.proto | 28 +
protocol/proto/PlayerSetLanguageRsp.proto | 27 +
.../PlayerSetOnlyMPWithPSPlayerReq.proto | 28 +
.../PlayerSetOnlyMPWithPSPlayerRsp.proto | 28 +
protocol/proto/PlayerSetPauseReq.proto | 28 +
protocol/proto/PlayerSetPauseRsp.proto | 27 +
.../PlayerSignatureAuditDataNotify.proto | 29 +
protocol/proto/PlayerSignatureNotify.proto | 27 +
protocol/proto/PlayerStartMatchReq.proto | 35 +
protocol/proto/PlayerStartMatchRsp.proto | 36 +
protocol/proto/PlayerStoreNotify.proto | 32 +
protocol/proto/PlayerTimeNotify.proto | 29 +
protocol/proto/PlayerUidExtInfo.proto | 24 +
protocol/proto/PlayerWidgetInfo.proto | 27 +
protocol/proto/PlayerWorldLocationInfo.proto | 27 +
protocol/proto/PlayerWorldSceneInfo.proto | 26 +
.../PlayerWorldSceneInfoListNotify.proto | 29 +
protocol/proto/PolygonRegionSize.proto | 27 +
protocol/proto/PostEnterSceneReq.proto | 28 +
protocol/proto/PostEnterSceneRsp.proto | 28 +
protocol/proto/PotionActivityDetailInfo.proto | 26 +
protocol/proto/PotionAvatarInfo.proto | 25 +
protocol/proto/PotionDungeonAvatar.proto | 25 +
protocol/proto/PotionDungeonResultInfo.proto | 29 +
protocol/proto/PotionEnterDungeonNotify.proto | 33 +
protocol/proto/PotionEnterDungeonReq.proto | 34 +
protocol/proto/PotionEnterDungeonRsp.proto | 27 +
protocol/proto/PotionLevelData.proto | 27 +
protocol/proto/PotionResetChallengeReq.proto | 28 +
protocol/proto/PotionResetChallengeRsp.proto | 30 +
protocol/proto/PotionRestartDungeonReq.proto | 26 +
protocol/proto/PotionRestartDungeonRsp.proto | 27 +
.../proto/PotionSaveDungeonResultReq.proto | 29 +
.../proto/PotionSaveDungeonResultRsp.proto | 27 +
protocol/proto/PotionStageData.proto | 30 +
protocol/proto/PrivateChatNotify.proto | 29 +
protocol/proto/PrivateChatReq.proto | 32 +
protocol/proto/PrivateChatRsp.proto | 28 +
protocol/proto/ProductPriceTier.proto | 25 +
protocol/proto/ProfilePicture.proto | 25 +
.../proto/ProfilePictureChangeNotify.proto | 30 +
protocol/proto/ProjectorOptionReq.proto | 35 +
protocol/proto/ProjectorOptionRsp.proto | 29 +
protocol/proto/PropChangeReason.proto | 37 +
protocol/proto/PropPair.proto | 27 +
protocol/proto/PropValue.proto | 29 +
protocol/proto/ProtEntityType.proto | 38 +
protocol/proto/ProudSkillChangeNotify.proto | 30 +
.../proto/ProudSkillExtraLevelNotify.proto | 30 +
protocol/proto/ProudSkillUpgradeReq.proto | 30 +
protocol/proto/ProudSkillUpgradeRsp.proto | 29 +
protocol/proto/PublishCustomDungeonReq.proto | 29 +
protocol/proto/PublishCustomDungeonRsp.proto | 27 +
protocol/proto/PublishUgcReq.proto | 31 +
protocol/proto/PublishUgcRsp.proto | 31 +
protocol/proto/PullPrivateChatReq.proto | 30 +
protocol/proto/PullPrivateChatRsp.proto | 30 +
protocol/proto/PullRecentChatReq.proto | 29 +
protocol/proto/PullRecentChatRsp.proto | 30 +
protocol/proto/PushTipsAllDataNotify.proto | 29 +
protocol/proto/PushTipsChangeNotify.proto | 29 +
protocol/proto/PushTipsData.proto | 25 +
protocol/proto/PushTipsReadFinishReq.proto | 28 +
protocol/proto/PushTipsReadFinishRsp.proto | 28 +
.../QueryCodexMonsterBeKilledNumReq.proto | 28 +
.../QueryCodexMonsterBeKilledNumRsp.proto | 30 +
protocol/proto/QueryCurrRegionHttpRsp.proto | 37 +
protocol/proto/QueryFilter.proto | 25 +
protocol/proto/QueryPathReq.proto | 45 +
protocol/proto/QueryPathRsp.proto | 38 +
protocol/proto/QueryRegionListHttpRsp.proto | 30 +
protocol/proto/Quest.proto | 37 +
protocol/proto/QuestCreateEntityReq.proto | 33 +
protocol/proto/QuestCreateEntityRsp.proto | 34 +
protocol/proto/QuestDelNotify.proto | 27 +
protocol/proto/QuestDestroyEntityReq.proto | 30 +
protocol/proto/QuestDestroyEntityRsp.proto | 30 +
protocol/proto/QuestDestroyNpcReq.proto | 29 +
protocol/proto/QuestDestroyNpcRsp.proto | 29 +
protocol/proto/QuestGlobalVar.proto | 25 +
protocol/proto/QuestGlobalVarNotify.proto | 29 +
protocol/proto/QuestListNotify.proto | 29 +
protocol/proto/QuestListUpdateNotify.proto | 29 +
.../proto/QuestProgressUpdateNotify.proto | 29 +
protocol/proto/QuestTransmitReq.proto | 29 +
protocol/proto/QuestTransmitRsp.proto | 29 +
.../proto/QuestUpdateQuestTimeVarNotify.proto | 28 +
.../proto/QuestUpdateQuestVarNotify.proto | 29 +
protocol/proto/QuestUpdateQuestVarReq.proto | 33 +
protocol/proto/QuestUpdateQuestVarRsp.proto | 30 +
protocol/proto/QuestVarOp.proto | 26 +
protocol/proto/QuickOpenActivityReq.proto | 28 +
protocol/proto/QuickOpenActivityRsp.proto | 28 +
protocol/proto/QuickUseWidgetReq.proto | 38 +
protocol/proto/QuickUseWidgetRsp.proto | 37 +
protocol/proto/RacingGallerySettleInfo.proto | 28 +
protocol/proto/ReadMailNotify.proto | 28 +
protocol/proto/ReadNicknameAuditReq.proto | 26 +
protocol/proto/ReadNicknameAuditRsp.proto | 27 +
protocol/proto/ReadPrivateChatReq.proto | 28 +
protocol/proto/ReadPrivateChatRsp.proto | 27 +
protocol/proto/ReadSignatureAuditReq.proto | 26 +
protocol/proto/ReadSignatureAuditRsp.proto | 27 +
...ReceivedTrialAvatarActivityRewardReq.proto | 28 +
...ReceivedTrialAvatarActivityRewardRsp.proto | 29 +
protocol/proto/RechargeReq.proto | 36 +
protocol/proto/RechargeRsp.proto | 29 +
protocol/proto/RecordUsage.proto | 28 +
protocol/proto/RedPointData.proto | 26 +
protocol/proto/RedeemLegendaryKeyReq.proto | 26 +
protocol/proto/RedeemLegendaryKeyRsp.proto | 28 +
protocol/proto/ReformFireworksReq.proto | 30 +
protocol/proto/ReformFireworksRsp.proto | 27 +
.../proto/RefreshBackgroundAvatarReq.proto | 26 +
.../proto/RefreshBackgroundAvatarRsp.proto | 28 +
protocol/proto/RefreshEntityAuthNotify.proto | 28 +
protocol/proto/RefreshRogueDiaryCardReq.proto | 28 +
protocol/proto/RefreshRogueDiaryCardRsp.proto | 28 +
.../RefreshRoguelikeDungeonCardReq.proto | 26 +
.../RefreshRoguelikeDungeonCardRsp.proto | 28 +
protocol/proto/RegionInfo.proto | 54 +
protocol/proto/RegionSearch.proto | 29 +
.../RegionSearchChangeRegionNotify.proto | 35 +
protocol/proto/RegionSearchInfo.proto | 28 +
protocol/proto/RegionSearchNotify.proto | 30 +
protocol/proto/RegionSearchState.proto | 28 +
protocol/proto/RegionSimpleInfo.proto | 27 +
protocol/proto/RegionalPlayInfoNotify.proto | 33 +
protocol/proto/RegionalPlayVar.proto | 27 +
protocol/proto/Reliquary.proto | 28 +
protocol/proto/ReliquaryDecomposeReq.proto | 30 +
protocol/proto/ReliquaryDecomposeRsp.proto | 29 +
protocol/proto/ReliquaryPromoteReq.proto | 29 +
protocol/proto/ReliquaryPromoteRsp.proto | 32 +
protocol/proto/ReliquaryUpgradeReq.proto | 32 +
protocol/proto/ReliquaryUpgradeRsp.proto | 33 +
protocol/proto/RemotePlayerWidgetNotify.proto | 29 +
protocol/proto/RemoveBlacklistReq.proto | 28 +
protocol/proto/RemoveBlacklistRsp.proto | 28 +
protocol/proto/RemoveCustomDungeonReq.proto | 28 +
protocol/proto/RemoveCustomDungeonRsp.proto | 28 +
protocol/proto/RemoveRandTaskInfoNotify.proto | 36 +
protocol/proto/ReplayCustomDungeonReq.proto | 26 +
protocol/proto/ReplayCustomDungeonRsp.proto | 28 +
.../proto/ReportFightAntiCheatNotify.proto | 29 +
protocol/proto/ReportReasonType.proto | 30 +
.../proto/ReportTrackingIOInfoNotify.proto | 32 +
protocol/proto/RequestLiveInfoReq.proto | 28 +
protocol/proto/RequestLiveInfoRsp.proto | 30 +
protocol/proto/ResVersionConfig.proto | 30 +
.../proto/ReserveRogueDiaryAvatarReq.proto | 30 +
.../proto/ReserveRogueDiaryAvatarRsp.proto | 27 +
protocol/proto/ResetRogueDiaryPlayReq.proto | 28 +
protocol/proto/ResetRogueDiaryPlayRsp.proto | 27 +
protocol/proto/ResinCardData.proto | 27 +
.../proto/ResinCardDataUpdateNotify.proto | 30 +
protocol/proto/ResinChangeNotify.proto | 29 +
protocol/proto/ResinCostType.proto | 29 +
.../proto/RestartEffigyChallengeReq.proto | 26 +
.../proto/RestartEffigyChallengeRsp.proto | 27 +
.../proto/ResumeRogueDiaryDungeonReq.proto | 28 +
.../proto/ResumeRogueDiaryDungeonRsp.proto | 27 +
protocol/proto/Retcode.proto | 1042 +++++++++++++++++
.../proto/RetryCurRogueDiaryDungeonReq.proto | 26 +
.../proto/RetryCurRogueDiaryDungeonRsp.proto | 27 +
protocol/proto/ReunionActivateNotify.proto | 30 +
protocol/proto/ReunionBriefInfo.proto | 37 +
protocol/proto/ReunionBriefInfoReq.proto | 26 +
protocol/proto/ReunionBriefInfoRsp.proto | 31 +
.../proto/ReunionDailyRefreshNotify.proto | 29 +
protocol/proto/ReunionMissionInfo.proto | 33 +
.../proto/ReunionPrivilegeChangeNotify.proto | 29 +
protocol/proto/ReunionPrivilegeInfo.proto | 26 +
protocol/proto/ReunionSettleNotify.proto | 25 +
protocol/proto/ReunionSignInInfo.proto | 27 +
protocol/proto/ReunionWatcherInfo.proto | 28 +
protocol/proto/Reward.proto | 27 +
.../proto/RobotPushPlayerDataNotify.proto | 27 +
.../proto/RockBoardExploreDetailInfo.proto | 26 +
.../proto/RockBoardExploreStageData.proto | 27 +
protocol/proto/RogueAvatarInfo.proto | 26 +
protocol/proto/RogueCellInfo.proto | 30 +
protocol/proto/RogueCellState.proto | 28 +
protocol/proto/RogueCellUpdateNotify.proto | 29 +
.../proto/RogueDiaryActivityDetailInfo.proto | 30 +
protocol/proto/RogueDiaryAvatar.proto | 30 +
.../proto/RogueDiaryAvatarDisableStatus.proto | 27 +
protocol/proto/RogueDiaryCoinAddNotify.proto | 28 +
.../proto/RogueDiaryDungeonInfoNotify.proto | 39 +
protocol/proto/RogueDiaryDungeonRecord.proto | 27 +
.../proto/RogueDiaryDungeonSettleNotify.proto | 30 +
protocol/proto/RogueDiaryProgress.proto | 28 +
.../proto/RogueDiaryRepairInfoNotify.proto | 38 +
.../proto/RogueDiaryReviveAvatarReq.proto | 30 +
.../proto/RogueDiaryReviveAvatarRsp.proto | 27 +
protocol/proto/RogueDiaryRoomInfo.proto | 28 +
protocol/proto/RogueDiaryStageInfo.proto | 28 +
.../proto/RogueDiaryTiredAvatarNotify.proto | 33 +
.../RogueDungeonPlayerCellChangeNotify.proto | 28 +
protocol/proto/RogueEffectRecord.proto | 27 +
.../proto/RogueEliteCellDifficultyType.proto | 25 +
protocol/proto/RogueFinishRepairReq.proto | 31 +
protocol/proto/RogueFinishRepairRsp.proto | 27 +
protocol/proto/RogueHealAvatarsReq.proto | 29 +
protocol/proto/RogueHealAvatarsRsp.proto | 29 +
protocol/proto/RogueResumeDungeonReq.proto | 28 +
protocol/proto/RogueResumeDungeonRsp.proto | 28 +
protocol/proto/RogueShowAvatarTeamInfo.proto | 26 +
protocol/proto/RogueStageInfo.proto | 41 +
protocol/proto/RogueSwitchAvatarReq.proto | 31 +
protocol/proto/RogueSwitchAvatarRsp.proto | 32 +
protocol/proto/RoguelikeCardGachaNotify.proto | 28 +
.../RoguelikeDungeonActivityDetailInfo.proto | 32 +
.../proto/RoguelikeDungeonSettleInfo.proto | 32 +
.../proto/RoguelikeEffectDataNotify.proto | 30 +
protocol/proto/RoguelikeEffectViewReq.proto | 29 +
protocol/proto/RoguelikeEffectViewRsp.proto | 28 +
protocol/proto/RoguelikeGadgetInfo.proto | 27 +
protocol/proto/RoguelikeGiveUpReq.proto | 28 +
protocol/proto/RoguelikeGiveUpRsp.proto | 33 +
protocol/proto/RoguelikeMistClearNotify.proto | 25 +
...RoguelikeRefreshCardCostUpdateNotify.proto | 28 +
...guelikeResourceBonusPropUpdateNotify.proto | 27 +
protocol/proto/RoguelikeRuneRecord.proto | 26 +
.../RoguelikeRuneRecordUpdateNotify.proto | 29 +
...uelikeSelectAvatarAndEnterDungeonReq.proto | 30 +
...uelikeSelectAvatarAndEnterDungeonRsp.proto | 28 +
protocol/proto/RoguelikeSettleCoinInfo.proto | 26 +
protocol/proto/RoguelikeShikigamiRecord.proto | 25 +
...RoguelikeTakeStageFirstPassRewardReq.proto | 28 +
...RoguelikeTakeStageFirstPassRewardRsp.proto | 28 +
protocol/proto/Route.proto | 27 +
protocol/proto/RoutePoint.proto | 38 +
protocol/proto/RoutePointChangeInfo.proto | 26 +
.../proto/SalesmanActivityDetailInfo.proto | 35 +
protocol/proto/SalesmanDeliverItemReq.proto | 28 +
protocol/proto/SalesmanDeliverItemRsp.proto | 28 +
protocol/proto/SalesmanStatusType.proto | 27 +
protocol/proto/SalesmanTakeRewardReq.proto | 29 +
protocol/proto/SalesmanTakeRewardRsp.proto | 30 +
.../proto/SalesmanTakeSpecialRewardReq.proto | 28 +
.../proto/SalesmanTakeSpecialRewardRsp.proto | 28 +
.../proto/SalvageBundleChallengeInfo.proto | 24 +
protocol/proto/SalvageChallengeInfo.proto | 33 +
.../SalvageEscortGallerySettleInfo.proto | 27 +
protocol/proto/SalvageEscortRestartReq.proto | 28 +
protocol/proto/SalvageEscortRestartRsp.proto | 28 +
protocol/proto/SalvageEscortSettleInfo.proto | 27 +
.../proto/SalvageEscortSettleNotify.proto | 30 +
protocol/proto/SalvageEscortStopReason.proto | 30 +
.../SalvagePreventGallerySettleInfo.proto | 29 +
protocol/proto/SalvagePreventRestartReq.proto | 28 +
protocol/proto/SalvagePreventRestartRsp.proto | 28 +
protocol/proto/SalvagePreventSettleInfo.proto | 27 +
.../proto/SalvagePreventSettleNotify.proto | 30 +
protocol/proto/SalvagePreventStopReason.proto | 30 +
.../proto/SalvageScoreChallengeInfo.proto | 25 +
protocol/proto/SalvageStageInfo.proto | 28 +
protocol/proto/SaveCoopDialogReq.proto | 29 +
protocol/proto/SaveCoopDialogRsp.proto | 29 +
protocol/proto/SaveCustomDungeonRoomReq.proto | 33 +
protocol/proto/SaveCustomDungeonRoomRsp.proto | 31 +
protocol/proto/SaveMainCoopReq.proto | 32 +
protocol/proto/SaveMainCoopRsp.proto | 29 +
protocol/proto/SaveUgcReq.proto | 38 +
protocol/proto/SaveUgcRsp.proto | 31 +
protocol/proto/SceneAreaUnlockNotify.proto | 28 +
protocol/proto/SceneAreaWeatherNotify.proto | 31 +
protocol/proto/SceneAudioNotify.proto | 32 +
protocol/proto/SceneAvatarInfo.proto | 50 +
.../proto/SceneAvatarStaminaStepReq.proto | 31 +
.../proto/SceneAvatarStaminaStepRsp.proto | 31 +
protocol/proto/SceneCreateEntityReq.proto | 33 +
protocol/proto/SceneCreateEntityRsp.proto | 31 +
protocol/proto/SceneDataNotify.proto | 28 +
protocol/proto/SceneDestroyEntityReq.proto | 28 +
protocol/proto/SceneDestroyEntityRsp.proto | 28 +
.../SceneEntitiesMoveCombineNotify.proto | 29 +
protocol/proto/SceneEntitiesMovesReq.proto | 30 +
protocol/proto/SceneEntitiesMovesRsp.proto | 29 +
protocol/proto/SceneEntityAiInfo.proto | 33 +
protocol/proto/SceneEntityAppearNotify.proto | 32 +
.../proto/SceneEntityDisappearNotify.proto | 31 +
protocol/proto/SceneEntityDrownReq.proto | 28 +
protocol/proto/SceneEntityDrownRsp.proto | 28 +
protocol/proto/SceneEntityInfo.proto | 58 +
protocol/proto/SceneEntityMoveNotify.proto | 32 +
protocol/proto/SceneEntityMoveReq.proto | 33 +
protocol/proto/SceneEntityMoveRsp.proto | 33 +
protocol/proto/SceneEntityUpdateNotify.proto | 32 +
protocol/proto/SceneFishInfo.proto | 30 +
protocol/proto/SceneForceLockNotify.proto | 27 +
protocol/proto/SceneForceUnlockNotify.proto | 28 +
protocol/proto/SceneGadgetInfo.proto | 89 ++
protocol/proto/SceneGalleryBalloonInfo.proto | 27 +
.../SceneGalleryBounceConjuringInfo.proto | 25 +
.../proto/SceneGalleryBrokenFloorInfo.proto | 25 +
protocol/proto/SceneGalleryBulletInfo.proto | 25 +
.../proto/SceneGalleryBuoyantCombatInfo.proto | 26 +
.../proto/SceneGalleryCharAmusementInfo.proto | 28 +
.../proto/SceneGalleryCrystalLinkInfo.proto | 24 +
.../SceneGalleryEffigyChallengeV2Info.proto | 28 +
protocol/proto/SceneGalleryFallInfo.proto | 27 +
protocol/proto/SceneGalleryFlowerInfo.proto | 26 +
...SceneGalleryFungusFighterCaptureInfo.proto | 24 +
...ceneGalleryFungusFighterTrainingInfo.proto | 30 +
protocol/proto/SceneGalleryHandballInfo.proto | 27 +
.../proto/SceneGalleryHideAndSeekInfo.proto | 25 +
.../proto/SceneGalleryHomeBalloonInfo.proto | 24 +
.../SceneGalleryHomeSeekFurnitureInfo.proto | 27 +
protocol/proto/SceneGalleryInfo.proto | 96 ++
protocol/proto/SceneGalleryInfoNotify.proto | 29 +
.../SceneGalleryInstableSprayBuffInfo.proto | 26 +
.../proto/SceneGalleryInstableSprayInfo.proto | 27 +
.../proto/SceneGalleryIrodoriMasterInfo.proto | 26 +
.../SceneGalleryIslandPartyDownHillInfo.proto | 29 +
.../SceneGalleryIslandPartyRaftInfo.proto | 31 +
.../SceneGalleryIslandPartySailInfo.proto | 33 +
...neGalleryLuminanceStoneChallengeInfo.proto | 27 +
.../proto/SceneGalleryMuqadasPotionInfo.proto | 27 +
protocol/proto/SceneGalleryProgressInfo.proto | 27 +
.../SceneGallerySalvageEscortInfoInfo.proto | 27 +
.../SceneGallerySalvagePreventInfo.proto | 24 +
.../SceneGallerySummerTimeV2BoatInfo.proto | 27 +
protocol/proto/SceneGallerySumoInfo.proto | 26 +
.../SceneGalleryTreasureSeelieInfo.proto | 25 +
.../SceneGalleryVintageHuntingInfo.proto | 33 +
...eneGalleryVintageHuntingSettleNotify.proto | 40 +
.../proto/SceneGalleryWindFieldInfo.proto | 31 +
protocol/proto/SceneInitFinishReq.proto | 28 +
protocol/proto/SceneInitFinishRsp.proto | 29 +
protocol/proto/SceneKickPlayerNotify.proto | 29 +
protocol/proto/SceneKickPlayerReq.proto | 28 +
protocol/proto/SceneKickPlayerRsp.proto | 28 +
protocol/proto/SceneMonsterInfo.proto | 56 +
protocol/proto/SceneNpcInfo.proto | 27 +
protocol/proto/ScenePlayBattleInfo.proto | 33 +
.../proto/ScenePlayBattleInfoListNotify.proto | 29 +
.../proto/ScenePlayBattleInfoNotify.proto | 29 +
.../ScenePlayBattleInterruptNotify.proto | 29 +
.../proto/ScenePlayBattleResultNotify.proto | 35 +
.../ScenePlayBattleSettlePlayerInfo.proto | 34 +
.../ScenePlayBattleSettleRewardInfo.proto | 27 +
.../proto/ScenePlayBattleUidOpNotify.proto | 36 +
.../proto/ScenePlayGuestReplyInviteReq.proto | 29 +
.../proto/ScenePlayGuestReplyInviteRsp.proto | 29 +
.../proto/ScenePlayGuestReplyNotify.proto | 29 +
protocol/proto/ScenePlayInfo.proto | 27 +
protocol/proto/ScenePlayInfoListNotify.proto | 29 +
.../proto/ScenePlayInviteResultNotify.proto | 28 +
.../proto/ScenePlayOutofRegionNotify.proto | 28 +
protocol/proto/ScenePlayOwnerCheckReq.proto | 29 +
protocol/proto/ScenePlayOwnerCheckRsp.proto | 31 +
.../proto/ScenePlayOwnerInviteNotify.proto | 29 +
.../proto/ScenePlayOwnerStartInviteReq.proto | 29 +
.../proto/ScenePlayOwnerStartInviteRsp.proto | 29 +
...ePlayerBackgroundAvatarRefreshNotify.proto | 32 +
protocol/proto/ScenePlayerInfo.proto | 31 +
protocol/proto/ScenePlayerInfoNotify.proto | 29 +
.../proto/ScenePlayerLocationNotify.proto | 32 +
protocol/proto/ScenePlayerSoundNotify.proto | 37 +
protocol/proto/ScenePointUnlockNotify.proto | 31 +
protocol/proto/SceneReliquaryInfo.proto | 27 +
protocol/proto/SceneRouteChangeInfo.proto | 29 +
protocol/proto/SceneRouteChangeNotify.proto | 31 +
protocol/proto/SceneSurfaceMaterial.proto | 31 +
protocol/proto/SceneTeamAvatar.proto | 46 +
protocol/proto/SceneTeamUpdateNotify.proto | 30 +
protocol/proto/SceneTimeNotify.proto | 29 +
protocol/proto/SceneTransToPointReq.proto | 29 +
protocol/proto/SceneTransToPointRsp.proto | 29 +
protocol/proto/SceneWeaponInfo.proto | 35 +
protocol/proto/SceneWeatherForcastReq.proto | 28 +
protocol/proto/SceneWeatherForcastRsp.proto | 29 +
protocol/proto/ScreenInfo.proto | 25 +
.../proto/SeaLampActivityDetailInfo.proto | 30 +
protocol/proto/SeaLampActivityInfo.proto | 34 +
protocol/proto/SeaLampCoinNotify.proto | 27 +
protocol/proto/SeaLampContributeItemReq.proto | 31 +
protocol/proto/SeaLampContributeItemRsp.proto | 30 +
protocol/proto/SeaLampFlyLampNotify.proto | 32 +
protocol/proto/SeaLampFlyLampReq.proto | 33 +
protocol/proto/SeaLampFlyLampRsp.proto | 29 +
protocol/proto/SeaLampPopularityNotify.proto | 27 +
protocol/proto/SeaLampSectionInfo.proto | 24 +
.../SeaLampTakeContributionRewardReq.proto | 29 +
.../SeaLampTakeContributionRewardRsp.proto | 28 +
.../proto/SeaLampTakePhaseRewardReq.proto | 29 +
.../proto/SeaLampTakePhaseRewardRsp.proto | 28 +
protocol/proto/SealBattleBeginNotify.proto | 32 +
protocol/proto/SealBattleEndNotify.proto | 28 +
protocol/proto/SealBattleProgressNotify.proto | 31 +
protocol/proto/SealBattleType.proto | 26 +
protocol/proto/SearchCustomDungeonReq.proto | 28 +
protocol/proto/SearchCustomDungeonRsp.proto | 30 +
protocol/proto/SeeMonsterReq.proto | 28 +
protocol/proto/SeeMonsterRsp.proto | 27 +
protocol/proto/SeekFurnitureGalleryInfo.proto | 26 +
protocol/proto/SegmentCRCInfo.proto | 28 +
protocol/proto/SegmentInfo.proto | 26 +
.../proto/SelectAsterMidDifficultyReq.proto | 30 +
.../proto/SelectAsterMidDifficultyRsp.proto | 30 +
.../SelectEffigyChallengeConditionReq.proto | 30 +
.../SelectEffigyChallengeConditionRsp.proto | 30 +
.../proto/SelectRoguelikeDungeonCardReq.proto | 28 +
.../proto/SelectRoguelikeDungeonCardRsp.proto | 28 +
protocol/proto/SelectWorktopOptionReq.proto | 29 +
protocol/proto/SelectWorktopOptionRsp.proto | 29 +
protocol/proto/ServantInfo.proto | 25 +
protocol/proto/ServerAnnounceNotify.proto | 29 +
.../proto/ServerAnnounceRevokeNotify.proto | 27 +
protocol/proto/ServerBuff.proto | 28 +
protocol/proto/ServerBuffChangeNotify.proto | 38 +
protocol/proto/ServerCombatEndNotify.proto | 27 +
.../ServerCondMeetQuestListUpdateNotify.proto | 28 +
.../proto/ServerDisconnectClientNotify.proto | 27 +
.../proto/ServerGlobalValueChangeNotify.proto | 29 +
protocol/proto/ServerLogLevel.proto | 28 +
protocol/proto/ServerLogNotify.proto | 32 +
protocol/proto/ServerLogType.proto | 28 +
protocol/proto/ServerMassiveEntity.proto | 37 +
protocol/proto/ServerMessageNotify.proto | 27 +
protocol/proto/ServerTimeNotify.proto | 27 +
.../ServerTryCancelGeneralMatchNotify.proto | 27 +
.../proto/ServerUpdateGlobalValueNotify.proto | 37 +
protocol/proto/SetBattlePassViewedReq.proto | 28 +
protocol/proto/SetBattlePassViewedRsp.proto | 28 +
.../proto/SetChatEmojiCollectionReq.proto | 30 +
.../proto/SetChatEmojiCollectionRsp.proto | 27 +
protocol/proto/SetCodexPushtipsReadReq.proto | 29 +
protocol/proto/SetCodexPushtipsReadRsp.proto | 29 +
protocol/proto/SetCoopChapterViewedReq.proto | 28 +
protocol/proto/SetCoopChapterViewedRsp.proto | 28 +
.../SetCurExpeditionChallengeIdReq.proto | 28 +
.../SetCurExpeditionChallengeIdRsp.proto | 28 +
.../proto/SetEntityClientDataNotify.proto | 31 +
protocol/proto/SetEquipLockStateReq.proto | 29 +
protocol/proto/SetEquipLockStateRsp.proto | 29 +
.../proto/SetFriendEnterHomeOptionReq.proto | 30 +
.../proto/SetFriendEnterHomeOptionRsp.proto | 27 +
protocol/proto/SetFriendRemarkNameReq.proto | 29 +
protocol/proto/SetFriendRemarkNameRsp.proto | 30 +
.../SetH5ActivityRedDotTimestampReq.proto | 27 +
.../SetH5ActivityRedDotTimestampRsp.proto | 27 +
.../SetIsAutoUnlockSpecificEquipReq.proto | 28 +
.../SetIsAutoUnlockSpecificEquipRsp.proto | 27 +
.../proto/SetLimitOptimizationNotify.proto | 27 +
protocol/proto/SetNameCardReq.proto | 28 +
protocol/proto/SetNameCardRsp.proto | 29 +
protocol/proto/SetOpenStateReq.proto | 29 +
protocol/proto/SetOpenStateRsp.proto | 29 +
protocol/proto/SetPlayerBirthdayReq.proto | 30 +
protocol/proto/SetPlayerBirthdayRsp.proto | 30 +
protocol/proto/SetPlayerBornDataReq.proto | 29 +
protocol/proto/SetPlayerBornDataRsp.proto | 27 +
protocol/proto/SetPlayerHeadImageReq.proto | 28 +
protocol/proto/SetPlayerHeadImageRsp.proto | 31 +
protocol/proto/SetPlayerNameReq.proto | 28 +
protocol/proto/SetPlayerNameRsp.proto | 28 +
protocol/proto/SetPlayerPropReq.proto | 30 +
protocol/proto/SetPlayerPropRsp.proto | 27 +
protocol/proto/SetPlayerSignatureReq.proto | 28 +
protocol/proto/SetPlayerSignatureRsp.proto | 28 +
protocol/proto/SetSceneWeatherAreaReq.proto | 29 +
protocol/proto/SetSceneWeatherAreaRsp.proto | 27 +
protocol/proto/SetUpAvatarTeamReq.proto | 30 +
protocol/proto/SetUpAvatarTeamRsp.proto | 30 +
protocol/proto/SetUpLunchBoxWidgetReq.proto | 30 +
protocol/proto/SetUpLunchBoxWidgetRsp.proto | 30 +
protocol/proto/SetWidgetSlotReq.proto | 33 +
protocol/proto/SetWidgetSlotRsp.proto | 33 +
protocol/proto/ShapeBox.proto | 30 +
protocol/proto/ShapeSphere.proto | 27 +
protocol/proto/ShareCDInfo.proto | 26 +
protocol/proto/Shop.proto | 36 +
protocol/proto/ShopCardProduct.proto | 40 +
protocol/proto/ShopConcertProduct.proto | 30 +
protocol/proto/ShopGoods.proto | 45 +
protocol/proto/ShopMcoinProduct.proto | 30 +
protocol/proto/ShortAbilityHashPair.proto | 25 +
protocol/proto/ShowAvatarInfo.proto | 41 +
protocol/proto/ShowClientGuideNotify.proto | 27 +
protocol/proto/ShowClientTutorialNotify.proto | 27 +
protocol/proto/ShowCommonTipsNotify.proto | 29 +
protocol/proto/ShowEquip.proto | 31 +
protocol/proto/ShowMessageNotify.proto | 31 +
.../proto/ShowTemplateReminderNotify.proto | 31 +
protocol/proto/SignInData.proto | 27 +
protocol/proto/SignInInfo.proto | 34 +
protocol/proto/SignInInfoReq.proto | 26 +
protocol/proto/SignInInfoRsp.proto | 30 +
.../proto/SignatureAuditConfigNotify.proto | 28 +
protocol/proto/SkyCrystalDetectorData.proto | 29 +
.../SkyCrystalDetectorDataUpdateNotify.proto | 29 +
.../SkyCrystalDetectorQuickUseResult.proto | 27 +
protocol/proto/SocialDataNotify.proto | 28 +
protocol/proto/SocialDetail.proto | 54 +
protocol/proto/SocialShowAvatarInfo.proto | 26 +
protocol/proto/SpiceActivityDetailInfo.proto | 28 +
.../SpiceActivityFinishMakeSpiceReq.proto | 31 +
.../SpiceActivityFinishMakeSpiceRsp.proto | 29 +
.../SpiceActivityGivingRecordNotify.proto | 29 +
.../proto/SpiceActivityProcessFoodReq.proto | 30 +
.../proto/SpiceActivityProcessFoodRsp.proto | 31 +
protocol/proto/SpiceStageData.proto | 26 +
protocol/proto/SpringUseReq.proto | 28 +
protocol/proto/SpringUseRsp.proto | 28 +
.../proto/StartArenaChallengeLevelReq.proto | 30 +
.../proto/StartArenaChallengeLevelRsp.proto | 30 +
.../proto/StartBuoyantCombatGalleryReq.proto | 29 +
.../proto/StartBuoyantCombatGalleryRsp.proto | 29 +
protocol/proto/StartCoopPointReq.proto | 28 +
protocol/proto/StartCoopPointRsp.proto | 32 +
protocol/proto/StartEffigyChallengeReq.proto | 31 +
protocol/proto/StartEffigyChallengeRsp.proto | 31 +
protocol/proto/StartFishingReq.proto | 29 +
protocol/proto/StartFishingRsp.proto | 28 +
protocol/proto/StartRogueDiaryPlayReq.proto | 29 +
protocol/proto/StartRogueDiaryPlayRsp.proto | 32 +
protocol/proto/StartRogueDiaryRoomReq.proto | 29 +
protocol/proto/StartRogueDiaryRoomRsp.proto | 27 +
.../StartRogueEliteCellChallengeReq.proto | 32 +
.../StartRogueEliteCellChallengeRsp.proto | 29 +
.../StartRogueNormalCellChallengeReq.proto | 29 +
.../StartRogueNormalCellChallengeRsp.proto | 29 +
protocol/proto/StatueGadgetInfo.proto | 24 +
protocol/proto/StopReminderNotify.proto | 28 +
protocol/proto/StopServerInfo.proto | 27 +
protocol/proto/StoreCustomDungeonReq.proto | 29 +
protocol/proto/StoreCustomDungeonRsp.proto | 27 +
protocol/proto/StoreItemChangeNotify.proto | 31 +
protocol/proto/StoreItemDelNotify.proto | 30 +
protocol/proto/StoreType.proto | 26 +
protocol/proto/StoreWeightLimitNotify.proto | 34 +
protocol/proto/StrengthenPointData.proto | 25 +
protocol/proto/SubmitInferenceWordReq.proto | 29 +
protocol/proto/SubmitInferenceWordRsp.proto | 30 +
protocol/proto/SummerTimeDetailInfo.proto | 30 +
protocol/proto/SummerTimeDungeonInfo.proto | 28 +
.../SummerTimeFloatSignalPositionNotify.proto | 31 +
.../SummerTimeFloatSignalUpdateNotify.proto | 31 +
protocol/proto/SummerTimeSprintBoatInfo.proto | 26 +
.../proto/SummerTimeSprintBoatRecord.proto | 28 +
.../SummerTimeSprintBoatRestartReq.proto | 29 +
.../SummerTimeSprintBoatRestartRsp.proto | 29 +
.../SummerTimeSprintBoatSettleNotify.proto | 34 +
protocol/proto/SummerTimeStageInfo.proto | 26 +
.../SummerTimeV2BoatGallerySettleInfo.proto | 31 +
.../proto/SummerTimeV2BoatSettleNotify.proto | 32 +
.../proto/SummerTimeV2BoatStageInfo.proto | 27 +
protocol/proto/SummerTimeV2DetailInfo.proto | 31 +
.../proto/SummerTimeV2DungeonSettleInfo.proto | 26 +
.../proto/SummerTimeV2DungeonStageInfo.proto | 27 +
.../SummerTimeV2RestartBoatGalleryReq.proto | 28 +
.../SummerTimeV2RestartBoatGalleryRsp.proto | 28 +
.../proto/SummerTimeV2RestartDungeonReq.proto | 26 +
.../proto/SummerTimeV2RestartDungeonRsp.proto | 27 +
protocol/proto/SumoActivityDetailInfo.proto | 28 +
protocol/proto/SumoAvatarInfo.proto | 25 +
protocol/proto/SumoDungeonAvatar.proto | 26 +
protocol/proto/SumoDungeonSettleNotify.proto | 32 +
protocol/proto/SumoDungeonTeam.proto | 26 +
protocol/proto/SumoEnterDungeonNotify.proto | 34 +
protocol/proto/SumoLeaveDungeonNotify.proto | 25 +
protocol/proto/SumoRestartDungeonReq.proto | 26 +
protocol/proto/SumoRestartDungeonRsp.proto | 29 +
protocol/proto/SumoSaveTeamReq.proto | 33 +
protocol/proto/SumoSaveTeamRsp.proto | 33 +
.../SumoSelectTeamAndEnterDungeonReq.proto | 33 +
.../SumoSelectTeamAndEnterDungeonRsp.proto | 33 +
.../SumoSetNoSwitchPunishTimeNotify.proto | 34 +
protocol/proto/SumoStageData.proto | 30 +
protocol/proto/SumoSwitchTeamReq.proto | 29 +
protocol/proto/SumoSwitchTeamRsp.proto | 34 +
protocol/proto/SumoTeamData.proto | 27 +
protocol/proto/SvrMsgId.proto | 30 +
.../proto/SyncScenePlayTeamEntityNotify.proto | 30 +
protocol/proto/SyncTeamEntityNotify.proto | 30 +
.../proto/TakeAchievementGoalRewardReq.proto | 28 +
.../proto/TakeAchievementGoalRewardRsp.proto | 31 +
protocol/proto/TakeAchievementRewardReq.proto | 28 +
protocol/proto/TakeAchievementRewardRsp.proto | 31 +
.../proto/TakeAsterSpecialRewardReq.proto | 28 +
.../proto/TakeAsterSpecialRewardRsp.proto | 28 +
protocol/proto/TakeBackGivingItemReq.proto | 28 +
protocol/proto/TakeBackGivingItemRsp.proto | 28 +
.../proto/TakeBattlePassMissionPointReq.proto | 28 +
.../proto/TakeBattlePassMissionPointRsp.proto | 28 +
protocol/proto/TakeBattlePassRewardReq.proto | 30 +
protocol/proto/TakeBattlePassRewardRsp.proto | 32 +
.../TakeCityReputationExploreRewardReq.proto | 29 +
.../TakeCityReputationExploreRewardRsp.proto | 32 +
.../TakeCityReputationLevelRewardReq.proto | 29 +
.../TakeCityReputationLevelRewardRsp.proto | 32 +
.../TakeCityReputationParentQuestReq.proto | 29 +
.../TakeCityReputationParentQuestRsp.proto | 33 +
protocol/proto/TakeCompoundOutputReq.proto | 29 +
protocol/proto/TakeCompoundOutputRsp.proto | 30 +
protocol/proto/TakeCoopRewardReq.proto | 28 +
protocol/proto/TakeCoopRewardRsp.proto | 28 +
.../proto/TakeDeliveryDailyRewardReq.proto | 28 +
.../proto/TakeDeliveryDailyRewardRsp.proto | 28 +
.../proto/TakeEffigyFirstPassRewardReq.proto | 28 +
.../proto/TakeEffigyFirstPassRewardRsp.proto | 28 +
protocol/proto/TakeEffigyRewardReq.proto | 28 +
protocol/proto/TakeEffigyRewardRsp.proto | 28 +
protocol/proto/TakeFirstShareRewardReq.proto | 26 +
protocol/proto/TakeFirstShareRewardRsp.proto | 28 +
protocol/proto/TakeFurnitureMakeReq.proto | 30 +
protocol/proto/TakeFurnitureMakeRsp.proto | 34 +
protocol/proto/TakeHuntingOfferReq.proto | 31 +
protocol/proto/TakeHuntingOfferRsp.proto | 31 +
.../proto/TakeInvestigationRewardReq.proto | 28 +
.../proto/TakeInvestigationRewardRsp.proto | 28 +
.../TakeInvestigationTargetRewardReq.proto | 28 +
.../TakeInvestigationTargetRewardRsp.proto | 28 +
.../proto/TakeMaterialDeleteReturnReq.proto | 30 +
.../proto/TakeMaterialDeleteReturnRsp.proto | 27 +
.../proto/TakeOfferingLevelRewardReq.proto | 29 +
.../proto/TakeOfferingLevelRewardRsp.proto | 32 +
protocol/proto/TakePlayerLevelRewardReq.proto | 28 +
protocol/proto/TakePlayerLevelRewardRsp.proto | 29 +
.../proto/TakeRegionSearchRewardReq.proto | 29 +
.../proto/TakeRegionSearchRewardRsp.proto | 29 +
.../proto/TakeResinCardDailyRewardReq.proto | 28 +
.../proto/TakeResinCardDailyRewardRsp.proto | 31 +
.../proto/TakeReunionFirstGiftRewardReq.proto | 26 +
.../proto/TakeReunionFirstGiftRewardRsp.proto | 28 +
.../proto/TakeReunionMissionRewardReq.proto | 30 +
.../proto/TakeReunionMissionRewardRsp.proto | 33 +
.../proto/TakeReunionSignInRewardReq.proto | 29 +
.../proto/TakeReunionSignInRewardRsp.proto | 30 +
.../proto/TakeReunionWatcherRewardReq.proto | 29 +
.../proto/TakeReunionWatcherRewardRsp.proto | 29 +
protocol/proto/TakeoffEquipReq.proto | 29 +
protocol/proto/TakeoffEquipRsp.proto | 29 +
.../TanukiTravelActivityDetailInfo.proto | 28 +
.../TanukiTravelFinishGuideQuestNotify.proto | 27 +
protocol/proto/TanukiTravelLevelData.proto | 26 +
protocol/proto/TaskVar.proto | 25 +
protocol/proto/TaskVarNotify.proto | 29 +
protocol/proto/TeamEnterSceneInfo.proto | 29 +
protocol/proto/TeamEntityInfo.proto | 28 +
.../proto/TeamResonanceChangeNotify.proto | 29 +
protocol/proto/ToTheMoonAddObstacleReq.proto | 33 +
protocol/proto/ToTheMoonAddObstacleRsp.proto | 31 +
protocol/proto/ToTheMoonEnterSceneReq.proto | 29 +
protocol/proto/ToTheMoonEnterSceneRsp.proto | 27 +
protocol/proto/ToTheMoonObstacleInfo.proto | 36 +
.../ToTheMoonObstaclesModifyNotify.proto | 33 +
protocol/proto/ToTheMoonPingNotify.proto | 26 +
protocol/proto/ToTheMoonQueryPathReq.proto | 57 +
protocol/proto/ToTheMoonQueryPathRsp.proto | 40 +
.../proto/ToTheMoonRemoveObstacleReq.proto | 35 +
.../proto/ToTheMoonRemoveObstacleRsp.proto | 31 +
protocol/proto/TowerAllDataReq.proto | 28 +
protocol/proto/TowerAllDataRsp.proto | 47 +
protocol/proto/TowerBriefDataNotify.proto | 33 +
protocol/proto/TowerBuffSelectReq.proto | 28 +
protocol/proto/TowerBuffSelectRsp.proto | 28 +
protocol/proto/TowerCurLevelRecord.proto | 31 +
.../TowerCurLevelRecordChangeNotify.proto | 29 +
...TowerDailyRewardProgressChangeNotify.proto | 28 +
protocol/proto/TowerEnterLevelReq.proto | 28 +
protocol/proto/TowerEnterLevelRsp.proto | 30 +
protocol/proto/TowerFightRecordPair.proto | 25 +
protocol/proto/TowerFloorRecord.proto | 29 +
.../proto/TowerFloorRecordChangeNotify.proto | 30 +
.../proto/TowerGetFloorStarRewardReq.proto | 28 +
.../proto/TowerGetFloorStarRewardRsp.proto | 28 +
protocol/proto/TowerLevelEndNotify.proto | 39 +
protocol/proto/TowerLevelRecord.proto | 25 +
protocol/proto/TowerLevelStarCondData.proto | 27 +
protocol/proto/TowerLevelStarCondNotify.proto | 31 +
.../TowerMiddleLevelChangeTeamNotify.proto | 25 +
protocol/proto/TowerMonthlyBrief.proto | 27 +
protocol/proto/TowerMonthlyCombatRecord.proto | 31 +
protocol/proto/TowerMonthlyDetail.proto | 28 +
protocol/proto/TowerRecordHandbookReq.proto | 26 +
protocol/proto/TowerRecordHandbookRsp.proto | 30 +
protocol/proto/TowerSurrenderReq.proto | 26 +
protocol/proto/TowerSurrenderRsp.proto | 27 +
protocol/proto/TowerTeam.proto | 25 +
protocol/proto/TowerTeamSelectReq.proto | 31 +
protocol/proto/TowerTeamSelectRsp.proto | 27 +
protocol/proto/TrackingIOInfo.proto | 30 +
protocol/proto/TransmitReason.proto | 25 +
.../proto/TreasureMapActivityDetailInfo.proto | 35 +
.../proto/TreasureMapBonusChallengeInfo.proto | 28 +
.../TreasureMapBonusChallengeNotify.proto | 29 +
.../proto/TreasureMapCurrencyNotify.proto | 27 +
protocol/proto/TreasureMapDetectorData.proto | 30 +
.../proto/TreasureMapDetectorDataNotify.proto | 29 +
.../TreasureMapGuideTaskDoneNotify.proto | 25 +
.../proto/TreasureMapHostInfoNotify.proto | 27 +
.../proto/TreasureMapMpChallengeNotify.proto | 25 +
.../proto/TreasureMapPreTaskDoneNotify.proto | 25 +
.../proto/TreasureMapRegionActiveNotify.proto | 27 +
protocol/proto/TreasureMapRegionInfo.proto | 34 +
.../proto/TreasureMapRegionInfoNotify.proto | 29 +
.../TreasureSeelieActivityDetailInfo.proto | 28 +
.../TreasureSeelieCollectOrbsNotify.proto | 28 +
protocol/proto/TreasureSeelieRegionData.proto | 35 +
.../proto/TrialAvatarActivityDetailInfo.proto | 26 +
.../TrialAvatarActivityRewardDetailInfo.proto | 27 +
.../TrialAvatarFirstPassDungeonNotify.proto | 27 +
protocol/proto/TrialAvatarGrantRecord.proto | 42 +
.../TrialAvatarInDungeonIndexNotify.proto | 27 +
protocol/proto/TrialAvatarInfo.proto | 29 +
...TriggerCreateGadgetToEquipPartNotify.proto | 30 +
.../proto/TriggerRoguelikeCurseNotify.proto | 30 +
protocol/proto/TriggerRoguelikeRuneReq.proto | 28 +
protocol/proto/TriggerRoguelikeRuneRsp.proto | 29 +
protocol/proto/TryCustomDungeonReq.proto | 28 +
protocol/proto/TryCustomDungeonRsp.proto | 28 +
protocol/proto/TryCustomDungeonType.proto | 27 +
protocol/proto/TryEnterHomeReq.proto | 30 +
protocol/proto/TryEnterHomeRsp.proto | 29 +
.../TryEnterNextRogueDiaryDungeonReq.proto | 26 +
.../TryEnterNextRogueDiaryDungeonRsp.proto | 27 +
.../TryInterruptRogueDiaryDungeonReq.proto | 26 +
.../TryInterruptRogueDiaryDungeonRsp.proto | 27 +
protocol/proto/UgcActivityDetailInfo.proto | 29 +
protocol/proto/UgcMusicBriefInfo.proto | 43 +
protocol/proto/UgcMusicNote.proto | 25 +
protocol/proto/UgcMusicRecord.proto | 27 +
protocol/proto/UgcMusicTrack.proto | 26 +
protocol/proto/UgcNotify.proto | 29 +
protocol/proto/UgcType.proto | 25 +
protocol/proto/Uint32Pair.proto | 25 +
protocol/proto/UnfreezeGroupLimitNotify.proto | 28 +
protocol/proto/UnionCmd.proto | 25 +
protocol/proto/UnionCmdNotify.proto | 30 +
protocol/proto/UnlockAvatarTalentReq.proto | 29 +
protocol/proto/UnlockAvatarTalentRsp.proto | 29 +
protocol/proto/UnlockCoopChapterReq.proto | 28 +
protocol/proto/UnlockCoopChapterRsp.proto | 28 +
protocol/proto/UnlockNameCardNotify.proto | 27 +
protocol/proto/UnlockPersonalLineReq.proto | 28 +
protocol/proto/UnlockPersonalLineRsp.proto | 32 +
protocol/proto/UnlockTransPointReq.proto | 29 +
protocol/proto/UnlockTransPointRsp.proto | 27 +
.../UnlockedFurnitureFormulaDataNotify.proto | 28 +
.../UnlockedFurnitureSuiteDataNotify.proto | 28 +
.../proto/UnmarkEntityInMinMapNotify.proto | 27 +
...teAbilityCreatedMovingPlatformNotify.proto | 35 +
protocol/proto/UpdatePS4BlockListReq.proto | 28 +
protocol/proto/UpdatePS4BlockListRsp.proto | 27 +
.../proto/UpdatePS4FriendListNotify.proto | 28 +
protocol/proto/UpdatePS4FriendListReq.proto | 28 +
protocol/proto/UpdatePS4FriendListRsp.proto | 29 +
.../proto/UpdatePlayerShowAvatarListReq.proto | 29 +
.../proto/UpdatePlayerShowAvatarListRsp.proto | 29 +
.../UpdatePlayerShowNameCardListReq.proto | 28 +
.../UpdatePlayerShowNameCardListRsp.proto | 28 +
protocol/proto/UpdateRedPointNotify.proto | 29 +
.../proto/UpdateReunionWatcherNotify.proto | 30 +
.../proto/UpdateSalvageBundleMarkReq.proto | 29 +
.../proto/UpdateSalvageBundleMarkRsp.proto | 29 +
.../proto/UpgradeRoguelikeShikigamiReq.proto | 29 +
.../proto/UpgradeRoguelikeShikigamiRsp.proto | 29 +
protocol/proto/UseItemReq.proto | 32 +
protocol/proto/UseItemRsp.proto | 31 +
protocol/proto/UseMiracleRingReq.proto | 38 +
protocol/proto/UseMiracleRingRsp.proto | 28 +
protocol/proto/UseWidgetCreateGadgetReq.proto | 32 +
protocol/proto/UseWidgetCreateGadgetRsp.proto | 28 +
.../proto/UseWidgetRetractGadgetReq.proto | 28 +
.../proto/UseWidgetRetractGadgetRsp.proto | 29 +
protocol/proto/Vector.proto | 26 +
protocol/proto/Vector3Int.proto | 26 +
protocol/proto/VectorPlane.proto | 25 +
protocol/proto/VehicleInfo.proto | 28 +
protocol/proto/VehicleInteractReq.proto | 32 +
protocol/proto/VehicleInteractRsp.proto | 33 +
protocol/proto/VehicleInteractType.proto | 26 +
protocol/proto/VehicleLocationInfo.proto | 33 +
protocol/proto/VehicleMember.proto | 26 +
protocol/proto/VehicleStaminaNotify.proto | 28 +
protocol/proto/ViewCodexReq.proto | 30 +
protocol/proto/ViewCodexRsp.proto | 33 +
.../ViewLanternProjectionLevelTipsReq.proto | 28 +
.../ViewLanternProjectionLevelTipsRsp.proto | 27 +
.../proto/ViewLanternProjectionTipsReq.proto | 31 +
.../proto/ViewLanternProjectionTipsRsp.proto | 27 +
protocol/proto/VintageBoothUsedItemData.proto | 25 +
.../proto/VintageCampChallengeLevelData.proto | 27 +
.../proto/VintageCampChallengeStageData.proto | 31 +
...VintageCampGroupBundleRegisterNotify.proto | 27 +
.../proto/VintageCampStageFinishNotify.proto | 27 +
protocol/proto/VintageDecorateBoothReq.proto | 31 +
protocol/proto/VintageDecorateBoothRsp.proto | 27 +
protocol/proto/VintageDetailInfo.proto | 35 +
.../proto/VintageHuntingFirstStageInfo.proto | 27 +
.../VintageHuntingFirstStageSettleInfo.proto | 27 +
.../proto/VintageHuntingSecondStageInfo.proto | 26 +
.../VintageHuntingSecondStageSettleInfo.proto | 26 +
protocol/proto/VintageHuntingStageData.proto | 28 +
.../proto/VintageHuntingStartGalleryReq.proto | 28 +
.../proto/VintageHuntingStartGalleryRsp.proto | 27 +
.../proto/VintageHuntingThirdStageInfo.proto | 22 +
.../VintageHuntingThirdStageSettleInfo.proto | 25 +
protocol/proto/VintageMarketDealInfo.proto | 26 +
.../proto/VintageMarketDeliverItemReq.proto | 31 +
.../proto/VintageMarketDeliverItemRsp.proto | 28 +
.../VintageMarketDividendFinishNotify.proto | 28 +
.../VintageMarketFinishStorePlayReq.proto | 31 +
.../VintageMarketFinishStorePlayRsp.proto | 36 +
protocol/proto/VintageMarketInfo.proto | 48 +
.../VintageMarketNpcEventFinishNotify.proto | 29 +
.../VintageMarketStartStorePlayReq.proto | 28 +
.../VintageMarketStartStorePlayRsp.proto | 30 +
.../VintageMarketStoreChooseStrategyReq.proto | 32 +
.../VintageMarketStoreChooseStrategyRsp.proto | 29 +
protocol/proto/VintageMarketStoreInfo.proto | 28 +
protocol/proto/VintageMarketStoreOpInfo.proto | 28 +
.../VintageMarketStoreUnlockSlotReq.proto | 28 +
.../VintageMarketStoreUnlockSlotRsp.proto | 29 +
.../VintageMarketStoreViewStrategyReq.proto | 29 +
.../VintageMarketStoreViewStrategyRsp.proto | 29 +
protocol/proto/VintageMarketTraderInfo.proto | 27 +
.../proto/VintagePresentFinishNoify.proto | 27 +
.../proto/VintagePresentFinishNotify.proto | 27 +
protocol/proto/VintagePresentLevelData.proto | 27 +
protocol/proto/VintagePresentStageData.proto | 30 +
protocol/proto/VisionType.proto | 43 +
protocol/proto/WatcherAllDataNotify.proto | 27 +
protocol/proto/WatcherChangeNotify.proto | 28 +
protocol/proto/WatcherEventNotify.proto | 29 +
protocol/proto/WatcherEventStageNotify.proto | 30 +
protocol/proto/WatcherEventTypeNotify.proto | 30 +
.../proto/WaterSpiritActivityDetailInfo.proto | 26 +
.../proto/WaterSpritePhaseFinishNotify.proto | 25 +
protocol/proto/Weapon.proto | 27 +
protocol/proto/WeaponAwakenReq.proto | 30 +
protocol/proto/WeaponAwakenRsp.proto | 32 +
protocol/proto/WeaponPromoteReq.proto | 28 +
protocol/proto/WeaponPromoteRsp.proto | 30 +
protocol/proto/WeaponUpgradeReq.proto | 32 +
protocol/proto/WeaponUpgradeRsp.proto | 33 +
protocol/proto/WearEquipReq.proto | 29 +
protocol/proto/WearEquipRsp.proto | 29 +
protocol/proto/WeatherInfo.proto | 24 +
protocol/proto/WeekendDjinnInfo.proto | 27 +
.../proto/WeeklyBossResinDiscountInfo.proto | 27 +
protocol/proto/WidgetActiveChangeNotify.proto | 29 +
protocol/proto/WidgetCameraInfo.proto | 24 +
protocol/proto/WidgetCaptureAnimalReq.proto | 32 +
protocol/proto/WidgetCaptureAnimalRsp.proto | 32 +
protocol/proto/WidgetCoolDownData.proto | 26 +
protocol/proto/WidgetCoolDownNotify.proto | 30 +
protocol/proto/WidgetCreateLocationInfo.proto | 27 +
protocol/proto/WidgetCreatorInfo.proto | 29 +
protocol/proto/WidgetCreatorOpType.proto | 26 +
protocol/proto/WidgetDoBagReq.proto | 35 +
protocol/proto/WidgetDoBagRsp.proto | 28 +
protocol/proto/WidgetExtraCdType.proto | 25 +
.../proto/WidgetGadgetAllDataNotify.proto | 29 +
protocol/proto/WidgetGadgetData.proto | 25 +
protocol/proto/WidgetGadgetDataNotify.proto | 29 +
.../proto/WidgetGadgetDestroyNotify.proto | 27 +
protocol/proto/WidgetQuickHitTreeReq.proto | 30 +
protocol/proto/WidgetQuickHitTreeRsp.proto | 27 +
protocol/proto/WidgetReportReq.proto | 31 +
protocol/proto/WidgetReportRsp.proto | 28 +
protocol/proto/WidgetSlotChangeNotify.proto | 31 +
protocol/proto/WidgetSlotData.proto | 29 +
protocol/proto/WidgetSlotOp.proto | 25 +
protocol/proto/WidgetSlotTag.proto | 25 +
.../proto/WidgetThunderBirdFeatherInfo.proto | 24 +
protocol/proto/WidgetUpdateExtraCDReq.proto | 32 +
protocol/proto/WidgetUpdateExtraCDRsp.proto | 34 +
...getUseAttachAbilityGroupChangeNotify.proto | 28 +
protocol/proto/WindFieldDetailInfo.proto | 26 +
.../proto/WindFieldDungeonFailReason.proto | 28 +
.../proto/WindFieldDungeonSettleInfo.proto | 28 +
.../WindFieldGalleryChallengeInfoNotify.proto | 33 +
.../proto/WindFieldGalleryInfoNotify.proto | 34 +
.../proto/WindFieldRestartDungeonReq.proto | 26 +
.../proto/WindFieldRestartDungeonRsp.proto | 27 +
protocol/proto/WindFieldStageInfo.proto | 26 +
protocol/proto/WindSeedClientNotify.proto | 49 +
.../WinterCampAcceptAllGiveItemReq.proto | 26 +
.../WinterCampAcceptAllGiveItemRsp.proto | 30 +
.../proto/WinterCampAcceptGiveItemReq.proto | 28 +
.../proto/WinterCampAcceptGiveItemRsp.proto | 30 +
.../WinterCampAcceptItemResultInfo.proto | 28 +
.../proto/WinterCampActivityDetailInfo.proto | 35 +
.../WinterCampEditSnowmanCombinationReq.proto | 31 +
.../WinterCampEditSnowmanCombinationRsp.proto | 27 +
protocol/proto/WinterCampFriendWishData.proto | 29 +
.../WinterCampGetCanGiveFriendItemReq.proto | 26 +
.../WinterCampGetCanGiveFriendItemRsp.proto | 30 +
.../WinterCampGetFriendWishListReq.proto | 26 +
.../WinterCampGetFriendWishListRsp.proto | 30 +
.../proto/WinterCampGetRecvItemListReq.proto | 26 +
.../proto/WinterCampGetRecvItemListRsp.proto | 30 +
.../proto/WinterCampGiveFriendItemReq.proto | 31 +
.../proto/WinterCampGiveFriendItemRsp.proto | 28 +
.../proto/WinterCampRaceScoreNotify.proto | 28 +
protocol/proto/WinterCampRaceStageInfo.proto | 29 +
protocol/proto/WinterCampRecvItemData.proto | 30 +
protocol/proto/WinterCampRecvItemNotify.proto | 29 +
protocol/proto/WinterCampSetWishListReq.proto | 28 +
protocol/proto/WinterCampSetWishListRsp.proto | 28 +
protocol/proto/WinterCampStageInfo.proto | 31 +
.../WinterCampStageInfoChangeNotify.proto | 30 +
.../proto/WinterCampTakeBattleRewardReq.proto | 28 +
.../proto/WinterCampTakeBattleRewardRsp.proto | 28 +
.../WinterCampTakeExploreRewardReq.proto | 28 +
.../WinterCampTakeExploreRewardRsp.proto | 28 +
.../proto/WinterCampTriathlonRestartReq.proto | 28 +
.../proto/WinterCampTriathlonRestartRsp.proto | 28 +
.../WinterCampTriathlonSettleNotify.proto | 34 +
protocol/proto/WorktopInfo.proto | 25 +
protocol/proto/WorktopOptionNotify.proto | 28 +
.../proto/WorldAllRoutineTypeNotify.proto | 29 +
protocol/proto/WorldChestOpenNotify.proto | 29 +
protocol/proto/WorldDataNotify.proto | 36 +
.../WorldOwnerBlossomBriefInfoNotify.proto | 30 +
.../WorldOwnerBlossomScheduleInfoNotify.proto | 30 +
.../proto/WorldOwnerDailyTaskNotify.proto | 31 +
protocol/proto/WorldPlayerDieNotify.proto | 34 +
protocol/proto/WorldPlayerInfoNotify.proto | 33 +
.../proto/WorldPlayerLocationNotify.proto | 31 +
protocol/proto/WorldPlayerRTTNotify.proto | 29 +
protocol/proto/WorldPlayerReviveReq.proto | 26 +
protocol/proto/WorldPlayerReviveRsp.proto | 27 +
protocol/proto/WorldRoutineChangeNotify.proto | 30 +
protocol/proto/WorldRoutineInfo.proto | 27 +
.../proto/WorldRoutineTypeCloseNotify.proto | 27 +
protocol/proto/WorldRoutineTypeInfo.proto | 28 +
.../proto/WorldRoutineTypeRefreshNotify.proto | 29 +
protocol/proto/proto_gen.bat | 8 +
3076 files changed, 91291 insertions(+)
create mode 100644 protocol/proto/AISnapshotEntityData.proto
create mode 100644 protocol/proto/AISnapshotEntitySkillCycle.proto
create mode 100644 protocol/proto/AISnapshotInfo.proto
create mode 100644 protocol/proto/AbilityActionBlink.proto
create mode 100644 protocol/proto/AbilityActionCreateGadget.proto
create mode 100644 protocol/proto/AbilityActionCreateTile.proto
create mode 100644 protocol/proto/AbilityActionDeductStamina.proto
create mode 100644 protocol/proto/AbilityActionDestroyTile.proto
create mode 100644 protocol/proto/AbilityActionFireAfterImage.proto
create mode 100644 protocol/proto/AbilityActionGenerateElemBall.proto
create mode 100644 protocol/proto/AbilityActionHitEffect.proto
create mode 100644 protocol/proto/AbilityActionServerMonsterLog.proto
create mode 100644 protocol/proto/AbilityActionSetCrashDamage.proto
create mode 100644 protocol/proto/AbilityActionSetRandomOverrideMapValue.proto
create mode 100644 protocol/proto/AbilityActionSummon.proto
create mode 100644 protocol/proto/AbilityActionTriggerAbility.proto
create mode 100644 protocol/proto/AbilityAppliedAbility.proto
create mode 100644 protocol/proto/AbilityAppliedModifier.proto
create mode 100644 protocol/proto/AbilityApplyLevelModifier.proto
create mode 100644 protocol/proto/AbilityArgument.proto
create mode 100644 protocol/proto/AbilityAttachedModifier.proto
create mode 100644 protocol/proto/AbilityBornType.proto
create mode 100644 protocol/proto/AbilityChangeNotify.proto
create mode 100644 protocol/proto/AbilityControlBlock.proto
create mode 100644 protocol/proto/AbilityEmbryo.proto
create mode 100644 protocol/proto/AbilityFloatValue.proto
create mode 100644 protocol/proto/AbilityGadgetInfo.proto
create mode 100644 protocol/proto/AbilityIdentifier.proto
create mode 100644 protocol/proto/AbilityInvocationFailNotify.proto
create mode 100644 protocol/proto/AbilityInvocationFixedNotify.proto
create mode 100644 protocol/proto/AbilityInvocationsNotify.proto
create mode 100644 protocol/proto/AbilityInvokeArgument.proto
create mode 100644 protocol/proto/AbilityInvokeEntry.proto
create mode 100644 protocol/proto/AbilityInvokeEntryHead.proto
create mode 100644 protocol/proto/AbilityMetaAddAbility.proto
create mode 100644 protocol/proto/AbilityMetaAddOrGetAbilityAndTrigger.proto
create mode 100644 protocol/proto/AbilityMetaDurabilityIsZero.proto
create mode 100644 protocol/proto/AbilityMetaElementReactionVisual.proto
create mode 100644 protocol/proto/AbilityMetaLoseHp.proto
create mode 100644 protocol/proto/AbilityMetaModifierChange.proto
create mode 100644 protocol/proto/AbilityMetaModifierDurabilityChange.proto
create mode 100644 protocol/proto/AbilityMetaReInitOverrideMap.proto
create mode 100644 protocol/proto/AbilityMetaSetAbilityTrigger.proto
create mode 100644 protocol/proto/AbilityMetaSetKilledState.proto
create mode 100644 protocol/proto/AbilityMetaSetModifierApplyEntityId.proto
create mode 100644 protocol/proto/AbilityMetaSetPoseParameter.proto
create mode 100644 protocol/proto/AbilityMetaSpecialFloatArgument.proto
create mode 100644 protocol/proto/AbilityMetaTriggerElementReaction.proto
create mode 100644 protocol/proto/AbilityMetaUpdateBaseReactionDamage.proto
create mode 100644 protocol/proto/AbilityMixinAvatarCombat.proto
create mode 100644 protocol/proto/AbilityMixinAvatarSteerByCamera.proto
create mode 100644 protocol/proto/AbilityMixinCostStamina.proto
create mode 100644 protocol/proto/AbilityMixinDoActionByElementReaction.proto
create mode 100644 protocol/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.proto
create mode 100644 protocol/proto/AbilityMixinElementShield.proto
create mode 100644 protocol/proto/AbilityMixinEliteShield.proto
create mode 100644 protocol/proto/AbilityMixinEmpty.proto
create mode 100644 protocol/proto/AbilityMixinFieldEntityCountChange.proto
create mode 100644 protocol/proto/AbilityMixinFireworksLauncher.proto
create mode 100644 protocol/proto/AbilityMixinGlobalShield.proto
create mode 100644 protocol/proto/AbilityMixinRecoverInfo.proto
create mode 100644 protocol/proto/AbilityMixinScenePropSync.proto
create mode 100644 protocol/proto/AbilityMixinShieldBar.proto
create mode 100644 protocol/proto/AbilityMixinShootFromCamera.proto
create mode 100644 protocol/proto/AbilityMixinUGCTimeControl.proto
create mode 100644 protocol/proto/AbilityMixinUIInteract.proto
create mode 100644 protocol/proto/AbilityMixinWidgetMpSupport.proto
create mode 100644 protocol/proto/AbilityMixinWindSeedSpawner.proto
create mode 100644 protocol/proto/AbilityMixinWindZone.proto
create mode 100644 protocol/proto/AbilityScalarType.proto
create mode 100644 protocol/proto/AbilityScalarValueEntry.proto
create mode 100644 protocol/proto/AbilityString.proto
create mode 100644 protocol/proto/AbilitySyncStateInfo.proto
create mode 100644 protocol/proto/AcceptCityReputationRequestReq.proto
create mode 100644 protocol/proto/AcceptCityReputationRequestRsp.proto
create mode 100644 protocol/proto/Achievement.proto
create mode 100644 protocol/proto/AchievementAllDataNotify.proto
create mode 100644 protocol/proto/AchievementUpdateNotify.proto
create mode 100644 protocol/proto/ActivityAcceptAllGiveGiftReq.proto
create mode 100644 protocol/proto/ActivityAcceptAllGiveGiftRsp.proto
create mode 100644 protocol/proto/ActivityAcceptGiftResultInfo.proto
create mode 100644 protocol/proto/ActivityAcceptGiveGiftReq.proto
create mode 100644 protocol/proto/ActivityAcceptGiveGiftRsp.proto
create mode 100644 protocol/proto/ActivityBannerClearReq.proto
create mode 100644 protocol/proto/ActivityBannerClearRsp.proto
create mode 100644 protocol/proto/ActivityBannerNotify.proto
create mode 100644 protocol/proto/ActivityCoinInfoNotify.proto
create mode 100644 protocol/proto/ActivityCondStateChangeNotify.proto
create mode 100644 protocol/proto/ActivityDisableTransferPointInteractionNotify.proto
create mode 100644 protocol/proto/ActivityDungeonAvatar.proto
create mode 100644 protocol/proto/ActivityFriendGiftWishData.proto
create mode 100644 protocol/proto/ActivityGetCanGiveFriendGiftReq.proto
create mode 100644 protocol/proto/ActivityGetCanGiveFriendGiftRsp.proto
create mode 100644 protocol/proto/ActivityGetFriendGiftWishListReq.proto
create mode 100644 protocol/proto/ActivityGetFriendGiftWishListRsp.proto
create mode 100644 protocol/proto/ActivityGetRecvGiftListReq.proto
create mode 100644 protocol/proto/ActivityGetRecvGiftListRsp.proto
create mode 100644 protocol/proto/ActivityGiveFriendGiftReq.proto
create mode 100644 protocol/proto/ActivityGiveFriendGiftRsp.proto
create mode 100644 protocol/proto/ActivityHaveRecvGiftNotify.proto
create mode 100644 protocol/proto/ActivityInfo.proto
create mode 100644 protocol/proto/ActivityInfoNotify.proto
create mode 100644 protocol/proto/ActivityPlayOpenAnimNotify.proto
create mode 100644 protocol/proto/ActivityPushTipsData.proto
create mode 100644 protocol/proto/ActivityPushTipsInfoNotify.proto
create mode 100644 protocol/proto/ActivityPushTipsState.proto
create mode 100644 protocol/proto/ActivityReadPushTipsReq.proto
create mode 100644 protocol/proto/ActivityReadPushTipsRsp.proto
create mode 100644 protocol/proto/ActivityRecvGiftData.proto
create mode 100644 protocol/proto/ActivitySaleChangeNotify.proto
create mode 100644 protocol/proto/ActivityScheduleInfo.proto
create mode 100644 protocol/proto/ActivityScheduleInfoNotify.proto
create mode 100644 protocol/proto/ActivitySelectAvatarCardReq.proto
create mode 100644 protocol/proto/ActivitySelectAvatarCardRsp.proto
create mode 100644 protocol/proto/ActivitySetGiftWishReq.proto
create mode 100644 protocol/proto/ActivitySetGiftWishRsp.proto
create mode 100644 protocol/proto/ActivityShopSheetInfo.proto
create mode 100644 protocol/proto/ActivityTakeAllScoreRewardReq.proto
create mode 100644 protocol/proto/ActivityTakeAllScoreRewardRsp.proto
create mode 100644 protocol/proto/ActivityTakeScoreRewardReq.proto
create mode 100644 protocol/proto/ActivityTakeScoreRewardRsp.proto
create mode 100644 protocol/proto/ActivityTakeWatcherRewardBatchReq.proto
create mode 100644 protocol/proto/ActivityTakeWatcherRewardBatchRsp.proto
create mode 100644 protocol/proto/ActivityTakeWatcherRewardReq.proto
create mode 100644 protocol/proto/ActivityTakeWatcherRewardRsp.proto
create mode 100644 protocol/proto/ActivityUpdateWatcherNotify.proto
create mode 100644 protocol/proto/ActivityWatcherInfo.proto
create mode 100644 protocol/proto/AddAranaraCollectionNotify.proto
create mode 100644 protocol/proto/AddBackupAvatarTeamReq.proto
create mode 100644 protocol/proto/AddBackupAvatarTeamRsp.proto
create mode 100644 protocol/proto/AddBlacklistReq.proto
create mode 100644 protocol/proto/AddBlacklistRsp.proto
create mode 100644 protocol/proto/AddFriendNotify.proto
create mode 100644 protocol/proto/AddNoGachaAvatarCardNotify.proto
create mode 100644 protocol/proto/AddNoGachaAvatarCardTransferItem.proto
create mode 100644 protocol/proto/AddQuestContentProgressReq.proto
create mode 100644 protocol/proto/AddQuestContentProgressRsp.proto
create mode 100644 protocol/proto/AddRandTaskInfoNotify.proto
create mode 100644 protocol/proto/AddSeenMonsterNotify.proto
create mode 100644 protocol/proto/AdjustTrackingInfo.proto
create mode 100644 protocol/proto/AdjustWorldLevelReq.proto
create mode 100644 protocol/proto/AdjustWorldLevelRsp.proto
create mode 100644 protocol/proto/AiSkillCdInfo.proto
create mode 100644 protocol/proto/AiSyncInfo.proto
create mode 100644 protocol/proto/AiThreatInfo.proto
create mode 100644 protocol/proto/AllCoopInfoNotify.proto
create mode 100644 protocol/proto/AllMarkPointNotify.proto
create mode 100644 protocol/proto/AllSeenMonsterNotify.proto
create mode 100644 protocol/proto/AllShareCDDataNotify.proto
create mode 100644 protocol/proto/AllWidgetBackgroundActiveStateNotify.proto
create mode 100644 protocol/proto/AllWidgetDataNotify.proto
create mode 100644 protocol/proto/AnchorPointData.proto
create mode 100644 protocol/proto/AnchorPointDataNotify.proto
create mode 100644 protocol/proto/AnchorPointOpReq.proto
create mode 100644 protocol/proto/AnchorPointOpRsp.proto
create mode 100644 protocol/proto/AnimatorForceSetAirMoveNotify.proto
create mode 100644 protocol/proto/AnimatorParameterValueInfo.proto
create mode 100644 protocol/proto/AnimatorParameterValueInfoPair.proto
create mode 100644 protocol/proto/AnnounceData.proto
create mode 100644 protocol/proto/AntiAddictNotify.proto
create mode 100644 protocol/proto/AranaraCollectionDataNotify.proto
create mode 100644 protocol/proto/AranaraCollectionState.proto
create mode 100644 protocol/proto/AranaraCollectionSuite.proto
create mode 100644 protocol/proto/AreaPlayInfoNotify.proto
create mode 100644 protocol/proto/AreaPlayType.proto
create mode 100644 protocol/proto/ArenaChallengeActivityDetailInfo.proto
create mode 100644 protocol/proto/ArenaChallengeChildChallengeInfo.proto
create mode 100644 protocol/proto/ArenaChallengeFinishNotify.proto
create mode 100644 protocol/proto/ArenaChallengeMonsterLevel.proto
create mode 100644 protocol/proto/AskAddFriendNotify.proto
create mode 100644 protocol/proto/AskAddFriendReq.proto
create mode 100644 protocol/proto/AskAddFriendRsp.proto
create mode 100644 protocol/proto/AssociateInferenceWordReq.proto
create mode 100644 protocol/proto/AssociateInferenceWordRsp.proto
create mode 100644 protocol/proto/AsterActivityDetailInfo.proto
create mode 100644 protocol/proto/AsterLargeDetailInfo.proto
create mode 100644 protocol/proto/AsterLargeInfoNotify.proto
create mode 100644 protocol/proto/AsterLittleDetailInfo.proto
create mode 100644 protocol/proto/AsterLittleInfoNotify.proto
create mode 100644 protocol/proto/AsterLittleStageState.proto
create mode 100644 protocol/proto/AsterMidCampInfo.proto
create mode 100644 protocol/proto/AsterMidCampInfoNotify.proto
create mode 100644 protocol/proto/AsterMidDetailInfo.proto
create mode 100644 protocol/proto/AsterMidInfoNotify.proto
create mode 100644 protocol/proto/AsterMiscInfoNotify.proto
create mode 100644 protocol/proto/AsterProgressDetailInfo.proto
create mode 100644 protocol/proto/AsterProgressInfoNotify.proto
create mode 100644 protocol/proto/AttackHitEffectResult.proto
create mode 100644 protocol/proto/AttackResult.proto
create mode 100644 protocol/proto/AttackResultCreateCount.proto
create mode 100644 protocol/proto/AuditState.proto
create mode 100644 protocol/proto/AuthorityChange.proto
create mode 100644 protocol/proto/AvatarAddNotify.proto
create mode 100644 protocol/proto/AvatarBuffAddNotify.proto
create mode 100644 protocol/proto/AvatarBuffDelNotify.proto
create mode 100644 protocol/proto/AvatarCardChangeReq.proto
create mode 100644 protocol/proto/AvatarCardChangeRsp.proto
create mode 100644 protocol/proto/AvatarChangeAnimHashReq.proto
create mode 100644 protocol/proto/AvatarChangeAnimHashRsp.proto
create mode 100644 protocol/proto/AvatarChangeCostumeNotify.proto
create mode 100644 protocol/proto/AvatarChangeCostumeReq.proto
create mode 100644 protocol/proto/AvatarChangeCostumeRsp.proto
create mode 100644 protocol/proto/AvatarChangeElementTypeReq.proto
create mode 100644 protocol/proto/AvatarChangeElementTypeRsp.proto
create mode 100644 protocol/proto/AvatarDataNotify.proto
create mode 100644 protocol/proto/AvatarDelNotify.proto
create mode 100644 protocol/proto/AvatarDieAnimationEndReq.proto
create mode 100644 protocol/proto/AvatarDieAnimationEndRsp.proto
create mode 100644 protocol/proto/AvatarEnterElementViewNotify.proto
create mode 100644 protocol/proto/AvatarEnterSceneInfo.proto
create mode 100644 protocol/proto/AvatarEquipAffixInfo.proto
create mode 100644 protocol/proto/AvatarEquipAffixStartNotify.proto
create mode 100644 protocol/proto/AvatarEquipChangeNotify.proto
create mode 100644 protocol/proto/AvatarExcelInfo.proto
create mode 100644 protocol/proto/AvatarExpeditionAllDataReq.proto
create mode 100644 protocol/proto/AvatarExpeditionAllDataRsp.proto
create mode 100644 protocol/proto/AvatarExpeditionCallBackReq.proto
create mode 100644 protocol/proto/AvatarExpeditionCallBackRsp.proto
create mode 100644 protocol/proto/AvatarExpeditionDataNotify.proto
create mode 100644 protocol/proto/AvatarExpeditionGetRewardReq.proto
create mode 100644 protocol/proto/AvatarExpeditionGetRewardRsp.proto
create mode 100644 protocol/proto/AvatarExpeditionInfo.proto
create mode 100644 protocol/proto/AvatarExpeditionStartReq.proto
create mode 100644 protocol/proto/AvatarExpeditionStartRsp.proto
create mode 100644 protocol/proto/AvatarExpeditionState.proto
create mode 100644 protocol/proto/AvatarFetterDataNotify.proto
create mode 100644 protocol/proto/AvatarFetterInfo.proto
create mode 100644 protocol/proto/AvatarFetterLevelRewardReq.proto
create mode 100644 protocol/proto/AvatarFetterLevelRewardRsp.proto
create mode 100644 protocol/proto/AvatarFightPropNotify.proto
create mode 100644 protocol/proto/AvatarFightPropUpdateNotify.proto
create mode 100644 protocol/proto/AvatarFlycloakChangeNotify.proto
create mode 100644 protocol/proto/AvatarFollowRouteNotify.proto
create mode 100644 protocol/proto/AvatarGainCostumeNotify.proto
create mode 100644 protocol/proto/AvatarGainFlycloakNotify.proto
create mode 100644 protocol/proto/AvatarInfo.proto
create mode 100644 protocol/proto/AvatarLifeStateChangeNotify.proto
create mode 100644 protocol/proto/AvatarPromoteGetRewardReq.proto
create mode 100644 protocol/proto/AvatarPromoteGetRewardRsp.proto
create mode 100644 protocol/proto/AvatarPromoteReq.proto
create mode 100644 protocol/proto/AvatarPromoteRsp.proto
create mode 100644 protocol/proto/AvatarPropChangeReasonNotify.proto
create mode 100644 protocol/proto/AvatarPropNotify.proto
create mode 100644 protocol/proto/AvatarSatiationData.proto
create mode 100644 protocol/proto/AvatarSatiationDataNotify.proto
create mode 100644 protocol/proto/AvatarSkillChangeNotify.proto
create mode 100644 protocol/proto/AvatarSkillDepotChangeNotify.proto
create mode 100644 protocol/proto/AvatarSkillInfo.proto
create mode 100644 protocol/proto/AvatarSkillInfoNotify.proto
create mode 100644 protocol/proto/AvatarSkillMaxChargeCountNotify.proto
create mode 100644 protocol/proto/AvatarSkillUpgradeReq.proto
create mode 100644 protocol/proto/AvatarSkillUpgradeRsp.proto
create mode 100644 protocol/proto/AvatarTeam.proto
create mode 100644 protocol/proto/AvatarTeamAllDataNotify.proto
create mode 100644 protocol/proto/AvatarTeamResonanceInfo.proto
create mode 100644 protocol/proto/AvatarTeamUpdateNotify.proto
create mode 100644 protocol/proto/AvatarUnlockTalentNotify.proto
create mode 100644 protocol/proto/AvatarUpgradeReq.proto
create mode 100644 protocol/proto/AvatarUpgradeRsp.proto
create mode 100644 protocol/proto/AvatarWearFlycloakReq.proto
create mode 100644 protocol/proto/AvatarWearFlycloakRsp.proto
create mode 100644 protocol/proto/BackMyWorldReq.proto
create mode 100644 protocol/proto/BackMyWorldRsp.proto
create mode 100644 protocol/proto/BackPlayCustomDungeonOfficialReq.proto
create mode 100644 protocol/proto/BackPlayCustomDungeonOfficialRsp.proto
create mode 100644 protocol/proto/BackRebornGalleryReq.proto
create mode 100644 protocol/proto/BackRebornGalleryRsp.proto
create mode 100644 protocol/proto/BalloonGallerySettleInfo.proto
create mode 100644 protocol/proto/BalloonPlayerInfo.proto
create mode 100644 protocol/proto/BalloonSettleInfo.proto
create mode 100644 protocol/proto/BargainOfferPriceReq.proto
create mode 100644 protocol/proto/BargainOfferPriceRsp.proto
create mode 100644 protocol/proto/BargainResultType.proto
create mode 100644 protocol/proto/BargainSnapshot.proto
create mode 100644 protocol/proto/BargainStartNotify.proto
create mode 100644 protocol/proto/BargainTerminateNotify.proto
create mode 100644 protocol/proto/BartenderActivityDetailInfo.proto
create mode 100644 protocol/proto/BartenderCancelLevelReq.proto
create mode 100644 protocol/proto/BartenderCancelLevelRsp.proto
create mode 100644 protocol/proto/BartenderCancelOrderReq.proto
create mode 100644 protocol/proto/BartenderCancelOrderRsp.proto
create mode 100644 protocol/proto/BartenderCompleteOrderReq.proto
create mode 100644 protocol/proto/BartenderCompleteOrderRsp.proto
create mode 100644 protocol/proto/BartenderFinishLevelReq.proto
create mode 100644 protocol/proto/BartenderFinishLevelRsp.proto
create mode 100644 protocol/proto/BartenderGetFormulaReq.proto
create mode 100644 protocol/proto/BartenderGetFormulaRsp.proto
create mode 100644 protocol/proto/BartenderLevelInfo.proto
create mode 100644 protocol/proto/BartenderLevelProgressNotify.proto
create mode 100644 protocol/proto/BartenderStartLevelReq.proto
create mode 100644 protocol/proto/BartenderStartLevelRsp.proto
create mode 100644 protocol/proto/BartenderTaskInfo.proto
create mode 100644 protocol/proto/BattlePassAllDataNotify.proto
create mode 100644 protocol/proto/BattlePassBuySuccNotify.proto
create mode 100644 protocol/proto/BattlePassCurScheduleUpdateNotify.proto
create mode 100644 protocol/proto/BattlePassCycle.proto
create mode 100644 protocol/proto/BattlePassMission.proto
create mode 100644 protocol/proto/BattlePassMissionDelNotify.proto
create mode 100644 protocol/proto/BattlePassMissionUpdateNotify.proto
create mode 100644 protocol/proto/BattlePassProduct.proto
create mode 100644 protocol/proto/BattlePassRewardTag.proto
create mode 100644 protocol/proto/BattlePassRewardTakeOption.proto
create mode 100644 protocol/proto/BattlePassSchedule.proto
create mode 100644 protocol/proto/BattlePassUnlockStatus.proto
create mode 100644 protocol/proto/BeginCameraSceneLookNotify.proto
create mode 100644 protocol/proto/BeginCameraSceneLookWithTemplateNotify.proto
create mode 100644 protocol/proto/BigTalentPointConvertReq.proto
create mode 100644 protocol/proto/BigTalentPointConvertRsp.proto
create mode 100644 protocol/proto/Birthday.proto
create mode 100644 protocol/proto/BlessingAcceptAllGivePicReq.proto
create mode 100644 protocol/proto/BlessingAcceptAllGivePicRsp.proto
create mode 100644 protocol/proto/BlessingAcceptGivePicReq.proto
create mode 100644 protocol/proto/BlessingAcceptGivePicRsp.proto
create mode 100644 protocol/proto/BlessingActivityDetailInfo.proto
create mode 100644 protocol/proto/BlessingFriendPicData.proto
create mode 100644 protocol/proto/BlessingGetAllRecvPicRecordListReq.proto
create mode 100644 protocol/proto/BlessingGetAllRecvPicRecordListRsp.proto
create mode 100644 protocol/proto/BlessingGetFriendPicListReq.proto
create mode 100644 protocol/proto/BlessingGetFriendPicListRsp.proto
create mode 100644 protocol/proto/BlessingGiveFriendPicReq.proto
create mode 100644 protocol/proto/BlessingGiveFriendPicRsp.proto
create mode 100644 protocol/proto/BlessingRecvFriendPicNotify.proto
create mode 100644 protocol/proto/BlessingRecvPicRecord.proto
create mode 100644 protocol/proto/BlessingRedeemRewardReq.proto
create mode 100644 protocol/proto/BlessingRedeemRewardRsp.proto
create mode 100644 protocol/proto/BlessingScanReq.proto
create mode 100644 protocol/proto/BlessingScanRsp.proto
create mode 100644 protocol/proto/BlitzRushActivityDetailInfo.proto
create mode 100644 protocol/proto/BlitzRushParkourRestartReq.proto
create mode 100644 protocol/proto/BlitzRushParkourRestartRsp.proto
create mode 100644 protocol/proto/BlitzRushStage.proto
create mode 100644 protocol/proto/BlockInfo.proto
create mode 100644 protocol/proto/BlossomBriefInfo.proto
create mode 100644 protocol/proto/BlossomBriefInfoNotify.proto
create mode 100644 protocol/proto/BlossomChestCreateNotify.proto
create mode 100644 protocol/proto/BlossomChestInfo.proto
create mode 100644 protocol/proto/BlossomChestInfoNotify.proto
create mode 100644 protocol/proto/BlossomScheduleInfo.proto
create mode 100644 protocol/proto/BonusActivityInfo.proto
create mode 100644 protocol/proto/BonusActivityInfoReq.proto
create mode 100644 protocol/proto/BonusActivityInfoRsp.proto
create mode 100644 protocol/proto/BonusActivityUpdateNotify.proto
create mode 100644 protocol/proto/BonusOpActivityInfo.proto
create mode 100644 protocol/proto/BossChestActivateNotify.proto
create mode 100644 protocol/proto/BossChestInfo.proto
create mode 100644 protocol/proto/BounceConjuringActivityDetailInfo.proto
create mode 100644 protocol/proto/BounceConjuringChapterInfo.proto
create mode 100644 protocol/proto/BounceConjuringGallerySettleInfo.proto
create mode 100644 protocol/proto/BounceConjuringSettleNotify.proto
create mode 100644 protocol/proto/BuildingInfo.proto
create mode 100644 protocol/proto/BuoyantCombatDailyInfo.proto
create mode 100644 protocol/proto/BuoyantCombatDetailInfo.proto
create mode 100644 protocol/proto/BuoyantCombatGallerySettleInfo.proto
create mode 100644 protocol/proto/BuoyantCombatSettleInfo.proto
create mode 100644 protocol/proto/BuoyantCombatSettleNotify.proto
create mode 100644 protocol/proto/BuyBattlePassLevelReq.proto
create mode 100644 protocol/proto/BuyBattlePassLevelRsp.proto
create mode 100644 protocol/proto/BuyGoodsReq.proto
create mode 100644 protocol/proto/BuyGoodsRsp.proto
create mode 100644 protocol/proto/BuyResinReq.proto
create mode 100644 protocol/proto/BuyResinRsp.proto
create mode 100644 protocol/proto/CalcWeaponUpgradeReturnItemsReq.proto
create mode 100644 protocol/proto/CalcWeaponUpgradeReturnItemsRsp.proto
create mode 100644 protocol/proto/CanUseSkillNotify.proto
create mode 100644 protocol/proto/CancelCityReputationRequestReq.proto
create mode 100644 protocol/proto/CancelCityReputationRequestRsp.proto
create mode 100644 protocol/proto/CancelCoopTaskReq.proto
create mode 100644 protocol/proto/CancelCoopTaskRsp.proto
create mode 100644 protocol/proto/CancelFinishParentQuestNotify.proto
create mode 100644 protocol/proto/CardProductRewardNotify.proto
create mode 100644 protocol/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto
create mode 100644 protocol/proto/CataLogGlobalWatcherFinishedData.proto
create mode 100644 protocol/proto/CataLogNewFinishedGlobalWatcherNotify.proto
create mode 100644 protocol/proto/CellInfo.proto
create mode 100644 protocol/proto/ChallengeBrief.proto
create mode 100644 protocol/proto/ChallengeDataNotify.proto
create mode 100644 protocol/proto/ChallengeFinishType.proto
create mode 100644 protocol/proto/ChallengeRecord.proto
create mode 100644 protocol/proto/ChallengeRecordNotify.proto
create mode 100644 protocol/proto/ChangeAvatarReq.proto
create mode 100644 protocol/proto/ChangeAvatarRsp.proto
create mode 100644 protocol/proto/ChangeCustomDungeonRoomReq.proto
create mode 100644 protocol/proto/ChangeCustomDungeonRoomRsp.proto
create mode 100644 protocol/proto/ChangeEnergyReason.proto
create mode 100644 protocol/proto/ChangeGameTimeReq.proto
create mode 100644 protocol/proto/ChangeGameTimeRsp.proto
create mode 100644 protocol/proto/ChangeHpReason.proto
create mode 100644 protocol/proto/ChangeMailStarNotify.proto
create mode 100644 protocol/proto/ChangeMpTeamAvatarReq.proto
create mode 100644 protocol/proto/ChangeMpTeamAvatarRsp.proto
create mode 100644 protocol/proto/ChangeServerGlobalValueNotify.proto
create mode 100644 protocol/proto/ChangeTeamNameReq.proto
create mode 100644 protocol/proto/ChangeTeamNameRsp.proto
create mode 100644 protocol/proto/ChangeWidgetBackgroundActiveStateReq.proto
create mode 100644 protocol/proto/ChangeWidgetBackgroundActiveStateRsp.proto
create mode 100644 protocol/proto/ChangeWorldToSingleModeNotify.proto
create mode 100644 protocol/proto/ChangeWorldToSingleModeReq.proto
create mode 100644 protocol/proto/ChangeWorldToSingleModeRsp.proto
create mode 100644 protocol/proto/ChannelerSlabActivityDetailInfo.proto
create mode 100644 protocol/proto/ChannelerSlabAssistInfo.proto
create mode 100644 protocol/proto/ChannelerSlabBuffInfo.proto
create mode 100644 protocol/proto/ChannelerSlabBuffSchemeInfo.proto
create mode 100644 protocol/proto/ChannelerSlabCamp.proto
create mode 100644 protocol/proto/ChannelerSlabChallenge.proto
create mode 100644 protocol/proto/ChannelerSlabChallengeStage.proto
create mode 100644 protocol/proto/ChannelerSlabCheckEnterLoopDungeonReq.proto
create mode 100644 protocol/proto/ChannelerSlabCheckEnterLoopDungeonRsp.proto
create mode 100644 protocol/proto/ChannelerSlabEnterLoopDungeonReq.proto
create mode 100644 protocol/proto/ChannelerSlabEnterLoopDungeonRsp.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonInfo.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonResultInfo.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonSelectConditionReq.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonSelectConditionRsp.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonStageInfo.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.proto
create mode 100644 protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.proto
create mode 100644 protocol/proto/ChannelerSlabOneOffDungeonInfoNotify.proto
create mode 100644 protocol/proto/ChannelerSlabOneOffDungeonInfoReq.proto
create mode 100644 protocol/proto/ChannelerSlabOneOffDungeonInfoRsp.proto
create mode 100644 protocol/proto/ChannelerSlabOneofDungeon.proto
create mode 100644 protocol/proto/ChannelerSlabSaveAssistInfoReq.proto
create mode 100644 protocol/proto/ChannelerSlabSaveAssistInfoRsp.proto
create mode 100644 protocol/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto
create mode 100644 protocol/proto/ChannelerSlabStageOneofDungeonNotify.proto
create mode 100644 protocol/proto/ChannelerSlabTakeoffBuffReq.proto
create mode 100644 protocol/proto/ChannelerSlabTakeoffBuffRsp.proto
create mode 100644 protocol/proto/ChannelerSlabWearBuffReq.proto
create mode 100644 protocol/proto/ChannelerSlabWearBuffRsp.proto
create mode 100644 protocol/proto/ChapterState.proto
create mode 100644 protocol/proto/ChapterStateNotify.proto
create mode 100644 protocol/proto/CharAmusementAvatarInfo.proto
create mode 100644 protocol/proto/CharAmusementDetailInfo.proto
create mode 100644 protocol/proto/CharAmusementInfo.proto
create mode 100644 protocol/proto/CharAmusementSettleNotify.proto
create mode 100644 protocol/proto/CharAmusementStageData.proto
create mode 100644 protocol/proto/ChatChannelDataNotify.proto
create mode 100644 protocol/proto/ChatChannelUpdateNotify.proto
create mode 100644 protocol/proto/ChatEmojiCollectionData.proto
create mode 100644 protocol/proto/ChatHistoryNotify.proto
create mode 100644 protocol/proto/ChatInfo.proto
create mode 100644 protocol/proto/CheckAddItemExceedLimitNotify.proto
create mode 100644 protocol/proto/CheckGroupReplacedReq.proto
create mode 100644 protocol/proto/CheckGroupReplacedRsp.proto
create mode 100644 protocol/proto/CheckSegmentCRCNotify.proto
create mode 100644 protocol/proto/CheckSegmentCRCReq.proto
create mode 100644 protocol/proto/CheckUgcStateReq.proto
create mode 100644 protocol/proto/CheckUgcStateRsp.proto
create mode 100644 protocol/proto/CheckUgcUpdateReq.proto
create mode 100644 protocol/proto/CheckUgcUpdateRsp.proto
create mode 100644 protocol/proto/ChessActivityDetailInfo.proto
create mode 100644 protocol/proto/ChessCardInfo.proto
create mode 100644 protocol/proto/ChessEntranceDetailInfo.proto
create mode 100644 protocol/proto/ChessEntranceInfo.proto
create mode 100644 protocol/proto/ChessEscapedMonstersNotify.proto
create mode 100644 protocol/proto/ChessLeftMonstersNotify.proto
create mode 100644 protocol/proto/ChessManualRefreshCardsReq.proto
create mode 100644 protocol/proto/ChessManualRefreshCardsRsp.proto
create mode 100644 protocol/proto/ChessMonsterInfo.proto
create mode 100644 protocol/proto/ChessMysteryInfo.proto
create mode 100644 protocol/proto/ChessNormalCardInfo.proto
create mode 100644 protocol/proto/ChessPickCardNotify.proto
create mode 100644 protocol/proto/ChessPickCardReq.proto
create mode 100644 protocol/proto/ChessPickCardRsp.proto
create mode 100644 protocol/proto/ChessPlayerInfo.proto
create mode 100644 protocol/proto/ChessPlayerInfoNotify.proto
create mode 100644 protocol/proto/ChessSelectedCardsNotify.proto
create mode 100644 protocol/proto/ChildQuest.proto
create mode 100644 protocol/proto/ChooseCurAvatarTeamReq.proto
create mode 100644 protocol/proto/ChooseCurAvatarTeamRsp.proto
create mode 100644 protocol/proto/CityInfo.proto
create mode 100644 protocol/proto/CityReputationDataNotify.proto
create mode 100644 protocol/proto/CityReputationExploreInfo.proto
create mode 100644 protocol/proto/CityReputationHuntInfo.proto
create mode 100644 protocol/proto/CityReputationInfo.proto
create mode 100644 protocol/proto/CityReputationLevelupNotify.proto
create mode 100644 protocol/proto/CityReputationQuestInfo.proto
create mode 100644 protocol/proto/CityReputationRequestInfo.proto
create mode 100644 protocol/proto/CityReputationSimpleInfo.proto
create mode 100644 protocol/proto/ClearRoguelikeCurseNotify.proto
create mode 100644 protocol/proto/ClientAIStateNotify.proto
create mode 100644 protocol/proto/ClientAbilitiesInitFinishCombineNotify.proto
create mode 100644 protocol/proto/ClientAbilityChangeNotify.proto
create mode 100644 protocol/proto/ClientAbilityInitBeginNotify.proto
create mode 100644 protocol/proto/ClientAbilityInitFinishNotify.proto
create mode 100644 protocol/proto/ClientBulletCreateNotify.proto
create mode 100644 protocol/proto/ClientCollectorData.proto
create mode 100644 protocol/proto/ClientCollectorDataNotify.proto
create mode 100644 protocol/proto/ClientGadgetInfo.proto
create mode 100644 protocol/proto/ClientHashDebugNotify.proto
create mode 100644 protocol/proto/ClientInputType.proto
create mode 100644 protocol/proto/ClientLoadingCostumeVerificationNotify.proto
create mode 100644 protocol/proto/ClientLockGameTimeNotify.proto
create mode 100644 protocol/proto/ClientLogBodyLogin.proto
create mode 100644 protocol/proto/ClientLogBodyPing.proto
create mode 100644 protocol/proto/ClientLogHead.proto
create mode 100644 protocol/proto/ClientMassiveEntity.proto
create mode 100644 protocol/proto/ClientNewMailNotify.proto
create mode 100644 protocol/proto/ClientPauseNotify.proto
create mode 100644 protocol/proto/ClientReconnectNotify.proto
create mode 100644 protocol/proto/ClientReconnectReason.proto
create mode 100644 protocol/proto/ClientRemoveCombatEndModifierNotify.proto
create mode 100644 protocol/proto/ClientReportNotify.proto
create mode 100644 protocol/proto/ClientScriptEventNotify.proto
create mode 100644 protocol/proto/ClientTransmitReq.proto
create mode 100644 protocol/proto/ClientTransmitRsp.proto
create mode 100644 protocol/proto/ClientTriggerEventNotify.proto
create mode 100644 protocol/proto/CloseCommonTipsNotify.proto
create mode 100644 protocol/proto/ClosedItemNotify.proto
create mode 100644 protocol/proto/CodexDataFullNotify.proto
create mode 100644 protocol/proto/CodexDataUpdateNotify.proto
create mode 100644 protocol/proto/CodexType.proto
create mode 100644 protocol/proto/CodexTypeData.proto
create mode 100644 protocol/proto/CombatInvocationsNotify.proto
create mode 100644 protocol/proto/CombatInvokeEntry.proto
create mode 100644 protocol/proto/CombatTypeArgument.proto
create mode 100644 protocol/proto/CombineDataNotify.proto
create mode 100644 protocol/proto/CombineFormulaDataNotify.proto
create mode 100644 protocol/proto/CombineReq.proto
create mode 100644 protocol/proto/CombineRsp.proto
create mode 100644 protocol/proto/CommonPlayerTipsNotify.proto
create mode 100644 protocol/proto/CompoundBoostTakeStatusType.proto
create mode 100644 protocol/proto/CompoundDataNotify.proto
create mode 100644 protocol/proto/CompoundQueueData.proto
create mode 100644 protocol/proto/CompoundUnlockNotify.proto
create mode 100644 protocol/proto/ContentAuditAuxiliaryField.proto
create mode 100644 protocol/proto/ContentAuditData.proto
create mode 100644 protocol/proto/ContentAuditField.proto
create mode 100644 protocol/proto/ContentAuditInfo.proto
create mode 100644 protocol/proto/CookDataNotify.proto
create mode 100644 protocol/proto/CookGradeDataNotify.proto
create mode 100644 protocol/proto/CookRecipeData.proto
create mode 100644 protocol/proto/CookRecipeDataNotify.proto
create mode 100644 protocol/proto/CoopCg.proto
create mode 100644 protocol/proto/CoopCgShowNotify.proto
create mode 100644 protocol/proto/CoopCgUpdateNotify.proto
create mode 100644 protocol/proto/CoopChapter.proto
create mode 100644 protocol/proto/CoopChapterUpdateNotify.proto
create mode 100644 protocol/proto/CoopDataNotify.proto
create mode 100644 protocol/proto/CoopPoint.proto
create mode 100644 protocol/proto/CoopPointUpdateNotify.proto
create mode 100644 protocol/proto/CoopProgressUpdateNotify.proto
create mode 100644 protocol/proto/CoopReward.proto
create mode 100644 protocol/proto/CoopRewardUpdateNotify.proto
create mode 100644 protocol/proto/CreateEntityInfo.proto
create mode 100644 protocol/proto/CreateGadgetInfo.proto
create mode 100644 protocol/proto/CreateMassiveEntityNotify.proto
create mode 100644 protocol/proto/CreateMassiveEntityReq.proto
create mode 100644 protocol/proto/CreateMassiveEntityRsp.proto
create mode 100644 protocol/proto/CreateReason.proto
create mode 100644 protocol/proto/CreateVehicleReq.proto
create mode 100644 protocol/proto/CreateVehicleRsp.proto
create mode 100644 protocol/proto/CrucibleActivityDetailInfo.proto
create mode 100644 protocol/proto/CrucibleBattleUidInfo.proto
create mode 100644 protocol/proto/CrystalLinkActivityDetailInfo.proto
create mode 100644 protocol/proto/CrystalLinkAvatarInfo.proto
create mode 100644 protocol/proto/CrystalLinkBuffInfo.proto
create mode 100644 protocol/proto/CrystalLinkDungeonAvatarInfo.proto
create mode 100644 protocol/proto/CrystalLinkDungeonInfoNotify.proto
create mode 100644 protocol/proto/CrystalLinkEnterDungeonReq.proto
create mode 100644 protocol/proto/CrystalLinkEnterDungeonRsp.proto
create mode 100644 protocol/proto/CrystalLinkLevelInfo.proto
create mode 100644 protocol/proto/CrystalLinkRestartDungeonReq.proto
create mode 100644 protocol/proto/CrystalLinkRestartDungeonRsp.proto
create mode 100644 protocol/proto/CrystalLinkSettleInfo.proto
create mode 100644 protocol/proto/CrystalLinkTeamInfo.proto
create mode 100644 protocol/proto/CurVehicleInfo.proto
create mode 100644 protocol/proto/CustomCommonNodeInfo.proto
create mode 100644 protocol/proto/CustomDungeon.proto
create mode 100644 protocol/proto/CustomDungeonAbstract.proto
create mode 100644 protocol/proto/CustomDungeonAbstractMuipData.proto
create mode 100644 protocol/proto/CustomDungeonBanInfo.proto
create mode 100644 protocol/proto/CustomDungeonBanType.proto
create mode 100644 protocol/proto/CustomDungeonBatchBriefMuipData.proto
create mode 100644 protocol/proto/CustomDungeonBattleRecordMuipData.proto
create mode 100644 protocol/proto/CustomDungeonBattleRecordNotify.proto
create mode 100644 protocol/proto/CustomDungeonBlock.proto
create mode 100644 protocol/proto/CustomDungeonBrief.proto
create mode 100644 protocol/proto/CustomDungeonBriefMuipData.proto
create mode 100644 protocol/proto/CustomDungeonFinishType.proto
create mode 100644 protocol/proto/CustomDungeonOfficialNotify.proto
create mode 100644 protocol/proto/CustomDungeonRecoverNotify.proto
create mode 100644 protocol/proto/CustomDungeonResultInfo.proto
create mode 100644 protocol/proto/CustomDungeonRoom.proto
create mode 100644 protocol/proto/CustomDungeonSetting.proto
create mode 100644 protocol/proto/CustomDungeonSettingMuipData.proto
create mode 100644 protocol/proto/CustomDungeonSocial.proto
create mode 100644 protocol/proto/CustomDungeonSocialMuipData.proto
create mode 100644 protocol/proto/CustomDungeonState.proto
create mode 100644 protocol/proto/CustomDungeonUpdateNotify.proto
create mode 100644 protocol/proto/CustomDungeonVerify.proto
create mode 100644 protocol/proto/CustomGadgetTreeInfo.proto
create mode 100644 protocol/proto/CutSceneBeginNotify.proto
create mode 100644 protocol/proto/CutSceneEndNotify.proto
create mode 100644 protocol/proto/CutSceneExtraParam.proto
create mode 100644 protocol/proto/CutSceneFinishNotify.proto
create mode 100644 protocol/proto/CylinderRegionSize.proto
create mode 100644 protocol/proto/DailyDungeonEntryInfo.proto
create mode 100644 protocol/proto/DailyTaskDataNotify.proto
create mode 100644 protocol/proto/DailyTaskFilterCityReq.proto
create mode 100644 protocol/proto/DailyTaskFilterCityRsp.proto
create mode 100644 protocol/proto/DailyTaskInfo.proto
create mode 100644 protocol/proto/DailyTaskProgressNotify.proto
create mode 100644 protocol/proto/DailyTaskScoreRewardNotify.proto
create mode 100644 protocol/proto/DailyTaskUnlockedCitiesNotify.proto
create mode 100644 protocol/proto/DataResVersionNotify.proto
create mode 100644 protocol/proto/DealAddFriendReq.proto
create mode 100644 protocol/proto/DealAddFriendResultType.proto
create mode 100644 protocol/proto/DealAddFriendRsp.proto
create mode 100644 protocol/proto/DeathZoneInfo.proto
create mode 100644 protocol/proto/DeathZoneInfoNotify.proto
create mode 100644 protocol/proto/DeathZoneObserveNotify.proto
create mode 100644 protocol/proto/DebugNotify.proto
create mode 100644 protocol/proto/DelBackupAvatarTeamReq.proto
create mode 100644 protocol/proto/DelBackupAvatarTeamRsp.proto
create mode 100644 protocol/proto/DelMailReq.proto
create mode 100644 protocol/proto/DelMailRsp.proto
create mode 100644 protocol/proto/DelScenePlayTeamEntityNotify.proto
create mode 100644 protocol/proto/DelTeamEntityNotify.proto
create mode 100644 protocol/proto/DeleteFriendNotify.proto
create mode 100644 protocol/proto/DeleteFriendReq.proto
create mode 100644 protocol/proto/DeleteFriendRsp.proto
create mode 100644 protocol/proto/DeliveryActivityDetailInfo.proto
create mode 100644 protocol/proto/DeshretObeliskChestInfo.proto
create mode 100644 protocol/proto/DeshretObeliskChestInfoNotify.proto
create mode 100644 protocol/proto/DeshretObeliskGadgetInfo.proto
create mode 100644 protocol/proto/DestroyMassiveEntityNotify.proto
create mode 100644 protocol/proto/DestroyMaterialReq.proto
create mode 100644 protocol/proto/DestroyMaterialRsp.proto
create mode 100644 protocol/proto/DigActivityChangeGadgetStateReq.proto
create mode 100644 protocol/proto/DigActivityChangeGadgetStateRsp.proto
create mode 100644 protocol/proto/DigActivityDetailInfo.proto
create mode 100644 protocol/proto/DigActivityMarkPointChangeNotify.proto
create mode 100644 protocol/proto/DigMarkPoint.proto
create mode 100644 protocol/proto/DisableRoguelikeTrapNotify.proto
create mode 100644 protocol/proto/DoGachaReq.proto
create mode 100644 protocol/proto/DoGachaRsp.proto
create mode 100644 protocol/proto/DoRoguelikeDungeonCardGachaReq.proto
create mode 100644 protocol/proto/DoRoguelikeDungeonCardGachaRsp.proto
create mode 100644 protocol/proto/DoSetPlayerBornDataNotify.proto
create mode 100644 protocol/proto/DraftGuestReplyInviteNotify.proto
create mode 100644 protocol/proto/DraftGuestReplyInviteReq.proto
create mode 100644 protocol/proto/DraftGuestReplyInviteRsp.proto
create mode 100644 protocol/proto/DraftGuestReplyTwiceConfirmNotify.proto
create mode 100644 protocol/proto/DraftGuestReplyTwiceConfirmReq.proto
create mode 100644 protocol/proto/DraftGuestReplyTwiceConfirmRsp.proto
create mode 100644 protocol/proto/DraftInviteFailInfo.proto
create mode 100644 protocol/proto/DraftInviteFailReason.proto
create mode 100644 protocol/proto/DraftInviteResultNotify.proto
create mode 100644 protocol/proto/DraftOwnerInviteNotify.proto
create mode 100644 protocol/proto/DraftOwnerStartInviteReq.proto
create mode 100644 protocol/proto/DraftOwnerStartInviteRsp.proto
create mode 100644 protocol/proto/DraftOwnerTwiceConfirmNotify.proto
create mode 100644 protocol/proto/DraftTwiceConfirmResultNotify.proto
create mode 100644 protocol/proto/DragonSpineActivityDetailInfo.proto
create mode 100644 protocol/proto/DragonSpineChapterFinishNotify.proto
create mode 100644 protocol/proto/DragonSpineChapterInfo.proto
create mode 100644 protocol/proto/DragonSpineChapterOpenNotify.proto
create mode 100644 protocol/proto/DragonSpineChapterProgressChangeNotify.proto
create mode 100644 protocol/proto/DragonSpineCoinChangeNotify.proto
create mode 100644 protocol/proto/DropHintNotify.proto
create mode 100644 protocol/proto/DropItemReq.proto
create mode 100644 protocol/proto/DropItemRsp.proto
create mode 100644 protocol/proto/DungeonCandidateTeamAvatar.proto
create mode 100644 protocol/proto/DungeonCandidateTeamChangeAvatarReq.proto
create mode 100644 protocol/proto/DungeonCandidateTeamChangeAvatarRsp.proto
create mode 100644 protocol/proto/DungeonCandidateTeamCreateReq.proto
create mode 100644 protocol/proto/DungeonCandidateTeamCreateRsp.proto
create mode 100644 protocol/proto/DungeonCandidateTeamDismissNotify.proto
create mode 100644 protocol/proto/DungeonCandidateTeamDismissReason.proto
create mode 100644 protocol/proto/DungeonCandidateTeamInfoNotify.proto
create mode 100644 protocol/proto/DungeonCandidateTeamInviteNotify.proto
create mode 100644 protocol/proto/DungeonCandidateTeamInviteReq.proto
create mode 100644 protocol/proto/DungeonCandidateTeamInviteRsp.proto
create mode 100644 protocol/proto/DungeonCandidateTeamKickReq.proto
create mode 100644 protocol/proto/DungeonCandidateTeamKickRsp.proto
create mode 100644 protocol/proto/DungeonCandidateTeamLeaveReq.proto
create mode 100644 protocol/proto/DungeonCandidateTeamLeaveRsp.proto
create mode 100644 protocol/proto/DungeonCandidateTeamPlayerLeaveNotify.proto
create mode 100644 protocol/proto/DungeonCandidateTeamPlayerLeaveReason.proto
create mode 100644 protocol/proto/DungeonCandidateTeamPlayerState.proto
create mode 100644 protocol/proto/DungeonCandidateTeamRefuseNotify.proto
create mode 100644 protocol/proto/DungeonCandidateTeamReplyInviteReq.proto
create mode 100644 protocol/proto/DungeonCandidateTeamReplyInviteRsp.proto
create mode 100644 protocol/proto/DungeonCandidateTeamSetChangingAvatarReq.proto
create mode 100644 protocol/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto
create mode 100644 protocol/proto/DungeonCandidateTeamSetReadyReq.proto
create mode 100644 protocol/proto/DungeonCandidateTeamSetReadyRsp.proto
create mode 100644 protocol/proto/DungeonChallengeBeginNotify.proto
create mode 100644 protocol/proto/DungeonChallengeFinishNotify.proto
create mode 100644 protocol/proto/DungeonDataNotify.proto
create mode 100644 protocol/proto/DungeonDieOptionReq.proto
create mode 100644 protocol/proto/DungeonDieOptionRsp.proto
create mode 100644 protocol/proto/DungeonEnterPosInfo.proto
create mode 100644 protocol/proto/DungeonEntryBlockReason.proto
create mode 100644 protocol/proto/DungeonEntryCond.proto
create mode 100644 protocol/proto/DungeonEntryInfo.proto
create mode 100644 protocol/proto/DungeonEntryInfoReq.proto
create mode 100644 protocol/proto/DungeonEntryInfoRsp.proto
create mode 100644 protocol/proto/DungeonEntryPointInfo.proto
create mode 100644 protocol/proto/DungeonEntryToBeExploreNotify.proto
create mode 100644 protocol/proto/DungeonFollowNotify.proto
create mode 100644 protocol/proto/DungeonGetStatueDropReq.proto
create mode 100644 protocol/proto/DungeonGetStatueDropRsp.proto
create mode 100644 protocol/proto/DungeonInterruptChallengeReq.proto
create mode 100644 protocol/proto/DungeonInterruptChallengeRsp.proto
create mode 100644 protocol/proto/DungeonPlayerDieNotify.proto
create mode 100644 protocol/proto/DungeonPlayerDieReq.proto
create mode 100644 protocol/proto/DungeonPlayerDieRsp.proto
create mode 100644 protocol/proto/DungeonRestartInviteNotify.proto
create mode 100644 protocol/proto/DungeonRestartInviteReplyNotify.proto
create mode 100644 protocol/proto/DungeonRestartInviteReplyReq.proto
create mode 100644 protocol/proto/DungeonRestartInviteReplyRsp.proto
create mode 100644 protocol/proto/DungeonRestartReq.proto
create mode 100644 protocol/proto/DungeonRestartResultNotify.proto
create mode 100644 protocol/proto/DungeonRestartRsp.proto
create mode 100644 protocol/proto/DungeonReviseLevelNotify.proto
create mode 100644 protocol/proto/DungeonSettleExhibitionInfo.proto
create mode 100644 protocol/proto/DungeonSettleNotify.proto
create mode 100644 protocol/proto/DungeonShowReminderNotify.proto
create mode 100644 protocol/proto/DungeonSlipRevivePointActivateReq.proto
create mode 100644 protocol/proto/DungeonSlipRevivePointActivateRsp.proto
create mode 100644 protocol/proto/DungeonWayPointActivateReq.proto
create mode 100644 protocol/proto/DungeonWayPointActivateRsp.proto
create mode 100644 protocol/proto/DungeonWayPointNotify.proto
create mode 100644 protocol/proto/DynamicLayerNodes.proto
create mode 100644 protocol/proto/DynamicNodes.proto
create mode 100644 protocol/proto/DynamicSVONode.proto
create mode 100644 protocol/proto/EchoNotify.proto
create mode 100644 protocol/proto/EchoShellDetailInfo.proto
create mode 100644 protocol/proto/EchoShellInfo.proto
create mode 100644 protocol/proto/EchoShellTakeRewardReq.proto
create mode 100644 protocol/proto/EchoShellTakeRewardRsp.proto
create mode 100644 protocol/proto/EchoShellUpdateNotify.proto
create mode 100644 protocol/proto/EffigyActivityDetailInfo.proto
create mode 100644 protocol/proto/EffigyChallengeDungeonResultInfo.proto
create mode 100644 protocol/proto/EffigyChallengeInfoNotify.proto
create mode 100644 protocol/proto/EffigyChallengeResultNotify.proto
create mode 100644 protocol/proto/EffigyChallengeV2ChooseSkillReq.proto
create mode 100644 protocol/proto/EffigyChallengeV2ChooseSkillRsp.proto
create mode 100644 protocol/proto/EffigyChallengeV2DetailInfo.proto
create mode 100644 protocol/proto/EffigyChallengeV2DungeonInfoNotify.proto
create mode 100644 protocol/proto/EffigyChallengeV2EnterDungeonReq.proto
create mode 100644 protocol/proto/EffigyChallengeV2EnterDungeonRsp.proto
create mode 100644 protocol/proto/EffigyChallengeV2LevelData.proto
create mode 100644 protocol/proto/EffigyChallengeV2RestartDungeonReq.proto
create mode 100644 protocol/proto/EffigyChallengeV2RestartDungeonRsp.proto
create mode 100644 protocol/proto/EffigyChallengeV2SettleInfo.proto
create mode 100644 protocol/proto/EffigyDailyInfo.proto
create mode 100644 protocol/proto/EndCameraSceneLookNotify.proto
create mode 100644 protocol/proto/EnterChessDungeonReq.proto
create mode 100644 protocol/proto/EnterChessDungeonRsp.proto
create mode 100644 protocol/proto/EnterCustomDungeonReq.proto
create mode 100644 protocol/proto/EnterCustomDungeonRsp.proto
create mode 100644 protocol/proto/EnterCustomDungeonType.proto
create mode 100644 protocol/proto/EnterFishingReq.proto
create mode 100644 protocol/proto/EnterFishingRsp.proto
create mode 100644 protocol/proto/EnterFungusFighterPlotDungeonReq.proto
create mode 100644 protocol/proto/EnterFungusFighterPlotDungeonRsp.proto
create mode 100644 protocol/proto/EnterFungusFighterTrainingDungeonReq.proto
create mode 100644 protocol/proto/EnterFungusFighterTrainingDungeonRsp.proto
create mode 100644 protocol/proto/EnterIrodoriChessDungeonReq.proto
create mode 100644 protocol/proto/EnterIrodoriChessDungeonRsp.proto
create mode 100644 protocol/proto/EnterMechanicusDungeonReq.proto
create mode 100644 protocol/proto/EnterMechanicusDungeonRsp.proto
create mode 100644 protocol/proto/EnterRogueDiaryDungeonReq.proto
create mode 100644 protocol/proto/EnterRogueDiaryDungeonRsp.proto
create mode 100644 protocol/proto/EnterRoguelikeDungeonNotify.proto
create mode 100644 protocol/proto/EnterSceneDoneReq.proto
create mode 100644 protocol/proto/EnterSceneDoneRsp.proto
create mode 100644 protocol/proto/EnterScenePeerNotify.proto
create mode 100644 protocol/proto/EnterSceneReadyReq.proto
create mode 100644 protocol/proto/EnterSceneReadyRsp.proto
create mode 100644 protocol/proto/EnterSceneWeatherAreaNotify.proto
create mode 100644 protocol/proto/EnterTransPointRegionNotify.proto
create mode 100644 protocol/proto/EnterTrialAvatarActivityDungeonReq.proto
create mode 100644 protocol/proto/EnterTrialAvatarActivityDungeonRsp.proto
create mode 100644 protocol/proto/EnterType.proto
create mode 100644 protocol/proto/EnterWorldAreaReq.proto
create mode 100644 protocol/proto/EnterWorldAreaRsp.proto
create mode 100644 protocol/proto/EntityAbilityInvokeEntry.proto
create mode 100644 protocol/proto/EntityAiKillSelfNotify.proto
create mode 100644 protocol/proto/EntityAiSyncNotify.proto
create mode 100644 protocol/proto/EntityAuthorityChangeNotify.proto
create mode 100644 protocol/proto/EntityAuthorityInfo.proto
create mode 100644 protocol/proto/EntityClientData.proto
create mode 100644 protocol/proto/EntityClientExtraInfo.proto
create mode 100644 protocol/proto/EntityConfigHashEntry.proto
create mode 100644 protocol/proto/EntityConfigHashNotify.proto
create mode 100644 protocol/proto/EntityEnvironmentInfo.proto
create mode 100644 protocol/proto/EntityFightPropChangeReasonNotify.proto
create mode 100644 protocol/proto/EntityFightPropNotify.proto
create mode 100644 protocol/proto/EntityFightPropUpdateNotify.proto
create mode 100644 protocol/proto/EntityForceSyncReq.proto
create mode 100644 protocol/proto/EntityForceSyncRsp.proto
create mode 100644 protocol/proto/EntityJumpNotify.proto
create mode 100644 protocol/proto/EntityMoveFailInfo.proto
create mode 100644 protocol/proto/EntityMoveInfo.proto
create mode 100644 protocol/proto/EntityMoveRoomNotify.proto
create mode 100644 protocol/proto/EntityPropNotify.proto
create mode 100644 protocol/proto/EntityRendererChangedInfo.proto
create mode 100644 protocol/proto/EntityTagChangeNotify.proto
create mode 100644 protocol/proto/Equip.proto
create mode 100644 protocol/proto/EquipParam.proto
create mode 100644 protocol/proto/EquipParamList.proto
create mode 100644 protocol/proto/EquipRoguelikeRuneReq.proto
create mode 100644 protocol/proto/EquipRoguelikeRuneRsp.proto
create mode 100644 protocol/proto/EventTriggerType.proto
create mode 100644 protocol/proto/EvtAiSyncCombatThreatInfoNotify.proto
create mode 100644 protocol/proto/EvtAiSyncSkillCdNotify.proto
create mode 100644 protocol/proto/EvtAnimatorParameterInfo.proto
create mode 100644 protocol/proto/EvtAnimatorParameterNotify.proto
create mode 100644 protocol/proto/EvtAnimatorStateChangedInfo.proto
create mode 100644 protocol/proto/EvtAnimatorStateChangedNotify.proto
create mode 100644 protocol/proto/EvtAvatarEnterFocusNotify.proto
create mode 100644 protocol/proto/EvtAvatarExitFocusNotify.proto
create mode 100644 protocol/proto/EvtAvatarLockChairReq.proto
create mode 100644 protocol/proto/EvtAvatarLockChairRsp.proto
create mode 100644 protocol/proto/EvtAvatarSitDownNotify.proto
create mode 100644 protocol/proto/EvtAvatarStandUpNotify.proto
create mode 100644 protocol/proto/EvtAvatarUpdateFocusNotify.proto
create mode 100644 protocol/proto/EvtBeingHealedNotify.proto
create mode 100644 protocol/proto/EvtBeingHitInfo.proto
create mode 100644 protocol/proto/EvtBeingHitNotify.proto
create mode 100644 protocol/proto/EvtBeingHitsCombineNotify.proto
create mode 100644 protocol/proto/EvtBulletDeactiveNotify.proto
create mode 100644 protocol/proto/EvtBulletHitNotify.proto
create mode 100644 protocol/proto/EvtBulletMoveNotify.proto
create mode 100644 protocol/proto/EvtCombatForceSetPosInfo.proto
create mode 100644 protocol/proto/EvtCombatSteerMotionInfo.proto
create mode 100644 protocol/proto/EvtCompensatePosDiffInfo.proto
create mode 100644 protocol/proto/EvtCostStaminaNotify.proto
create mode 100644 protocol/proto/EvtCreateGadgetNotify.proto
create mode 100644 protocol/proto/EvtDestroyGadgetNotify.proto
create mode 100644 protocol/proto/EvtDestroyServerGadgetNotify.proto
create mode 100644 protocol/proto/EvtDoSkillSuccNotify.proto
create mode 100644 protocol/proto/EvtEntityRenderersChangedNotify.proto
create mode 100644 protocol/proto/EvtEntityStartDieEndNotify.proto
create mode 100644 protocol/proto/EvtFaceToDirInfo.proto
create mode 100644 protocol/proto/EvtFaceToDirNotify.proto
create mode 100644 protocol/proto/EvtFaceToEntityNotify.proto
create mode 100644 protocol/proto/EvtFixedRushMove.proto
create mode 100644 protocol/proto/EvtGrapplingHookMove.proto
create mode 100644 protocol/proto/EvtHittingOtherInfo.proto
create mode 100644 protocol/proto/EvtLightCoreMove.proto
create mode 100644 protocol/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto
create mode 100644 protocol/proto/EvtMonsterDoBlink.proto
create mode 100644 protocol/proto/EvtMotionInfoDuringSteerAttack.proto
create mode 100644 protocol/proto/EvtRushMoveInfo.proto
create mode 100644 protocol/proto/EvtRushMoveNotify.proto
create mode 100644 protocol/proto/EvtSetAttackTargetInfo.proto
create mode 100644 protocol/proto/EvtSetAttackTargetNotify.proto
create mode 100644 protocol/proto/EvtSyncEntityPositionInfo.proto
create mode 100644 protocol/proto/EvtSyncSkillAnchorPosition.proto
create mode 100644 protocol/proto/EvtSyncTransform.proto
create mode 100644 protocol/proto/ExclusiveRuleInfo.proto
create mode 100644 protocol/proto/ExclusiveRuleNotify.proto
create mode 100644 protocol/proto/ExecuteGadgetLuaReq.proto
create mode 100644 protocol/proto/ExecuteGadgetLuaRsp.proto
create mode 100644 protocol/proto/ExecuteGroupTriggerReq.proto
create mode 100644 protocol/proto/ExecuteGroupTriggerRsp.proto
create mode 100644 protocol/proto/ExhibitionDisplayInfo.proto
create mode 100644 protocol/proto/ExitCustomDungeonTryReq.proto
create mode 100644 protocol/proto/ExitCustomDungeonTryRsp.proto
create mode 100644 protocol/proto/ExitFishingReq.proto
create mode 100644 protocol/proto/ExitFishingRsp.proto
create mode 100644 protocol/proto/ExitSceneWeatherAreaNotify.proto
create mode 100644 protocol/proto/ExitTransPointRegionNotify.proto
create mode 100644 protocol/proto/ExpeditionActivityDetailInfo.proto
create mode 100644 protocol/proto/ExpeditionAssistInfo.proto
create mode 100644 protocol/proto/ExpeditionChallengeEnterRegionNotify.proto
create mode 100644 protocol/proto/ExpeditionChallengeFinishedNotify.proto
create mode 100644 protocol/proto/ExpeditionChallengeInfo.proto
create mode 100644 protocol/proto/ExpeditionPathInfo.proto
create mode 100644 protocol/proto/ExpeditionRecallReq.proto
create mode 100644 protocol/proto/ExpeditionRecallRsp.proto
create mode 100644 protocol/proto/ExpeditionStartReq.proto
create mode 100644 protocol/proto/ExpeditionStartRsp.proto
create mode 100644 protocol/proto/ExpeditionState.proto
create mode 100644 protocol/proto/ExpeditionTakeRewardReq.proto
create mode 100644 protocol/proto/ExpeditionTakeRewardRsp.proto
create mode 100644 protocol/proto/FallPlayerBrief.proto
create mode 100644 protocol/proto/FallPlayerInfo.proto
create mode 100644 protocol/proto/FallSettleInfo.proto
create mode 100644 protocol/proto/FeatureBlockInfo.proto
create mode 100644 protocol/proto/FetterData.proto
create mode 100644 protocol/proto/FightPropPair.proto
create mode 100644 protocol/proto/FindHilichurlAcceptQuestNotify.proto
create mode 100644 protocol/proto/FindHilichurlDayContentInfo.proto
create mode 100644 protocol/proto/FindHilichurlDetailInfo.proto
create mode 100644 protocol/proto/FindHilichurlFinishSecondQuestNotify.proto
create mode 100644 protocol/proto/FinishDeliveryNotify.proto
create mode 100644 protocol/proto/FinishLanternProjectionReq.proto
create mode 100644 protocol/proto/FinishLanternProjectionRsp.proto
create mode 100644 protocol/proto/FinishMainCoopReq.proto
create mode 100644 protocol/proto/FinishMainCoopRsp.proto
create mode 100644 protocol/proto/FinishedParentQuestNotify.proto
create mode 100644 protocol/proto/FinishedParentQuestUpdateNotify.proto
create mode 100644 protocol/proto/FinishedTalkIdListNotify.proto
create mode 100644 protocol/proto/FireworksLaunchDataNotify.proto
create mode 100644 protocol/proto/FireworksLaunchParam.proto
create mode 100644 protocol/proto/FireworksLaunchParamType.proto
create mode 100644 protocol/proto/FireworksLaunchSchemeData.proto
create mode 100644 protocol/proto/FireworksReformData.proto
create mode 100644 protocol/proto/FireworksReformDataNotify.proto
create mode 100644 protocol/proto/FireworksReformParam.proto
create mode 100644 protocol/proto/FireworksReformParamType.proto
create mode 100644 protocol/proto/FishAttractNotify.proto
create mode 100644 protocol/proto/FishBaitGoneNotify.proto
create mode 100644 protocol/proto/FishBattleBeginReq.proto
create mode 100644 protocol/proto/FishBattleBeginRsp.proto
create mode 100644 protocol/proto/FishBattleEndReq.proto
create mode 100644 protocol/proto/FishBattleEndRsp.proto
create mode 100644 protocol/proto/FishBattleResult.proto
create mode 100644 protocol/proto/FishBiteReq.proto
create mode 100644 protocol/proto/FishBiteRsp.proto
create mode 100644 protocol/proto/FishCastRodReq.proto
create mode 100644 protocol/proto/FishCastRodRsp.proto
create mode 100644 protocol/proto/FishChosenNotify.proto
create mode 100644 protocol/proto/FishEscapeNotify.proto
create mode 100644 protocol/proto/FishEscapeReason.proto
create mode 100644 protocol/proto/FishInfo.proto
create mode 100644 protocol/proto/FishPoolDataNotify.proto
create mode 100644 protocol/proto/FishPoolInfo.proto
create mode 100644 protocol/proto/FishingGallerySettleInfo.proto
create mode 100644 protocol/proto/FishingGallerySettleNotify.proto
create mode 100644 protocol/proto/FishingScore.proto
create mode 100644 protocol/proto/FishtankFishInfo.proto
create mode 100644 protocol/proto/FleurFairActivityDetailInfo.proto
create mode 100644 protocol/proto/FleurFairBalloonInfo.proto
create mode 100644 protocol/proto/FleurFairBalloonSettleInfo.proto
create mode 100644 protocol/proto/FleurFairBalloonSettleNotify.proto
create mode 100644 protocol/proto/FleurFairBossSettleInfo.proto
create mode 100644 protocol/proto/FleurFairBuffEnergyNotify.proto
create mode 100644 protocol/proto/FleurFairChapterInfo.proto
create mode 100644 protocol/proto/FleurFairDungeonSectionInfo.proto
create mode 100644 protocol/proto/FleurFairFallInfo.proto
create mode 100644 protocol/proto/FleurFairFallSettleInfo.proto
create mode 100644 protocol/proto/FleurFairFallSettleNotify.proto
create mode 100644 protocol/proto/FleurFairFinishGalleryStageNotify.proto
create mode 100644 protocol/proto/FleurFairGallerySettleInfo.proto
create mode 100644 protocol/proto/FleurFairMinigameInfo.proto
create mode 100644 protocol/proto/FleurFairMusicGameInfo.proto
create mode 100644 protocol/proto/FleurFairMusicGameSettleReq.proto
create mode 100644 protocol/proto/FleurFairMusicGameSettleRsp.proto
create mode 100644 protocol/proto/FleurFairMusicGameStartReq.proto
create mode 100644 protocol/proto/FleurFairMusicGameStartRsp.proto
create mode 100644 protocol/proto/FleurFairMusicRecord.proto
create mode 100644 protocol/proto/FleurFairPlayerStatInfo.proto
create mode 100644 protocol/proto/FleurFairReplayMiniGameReq.proto
create mode 100644 protocol/proto/FleurFairReplayMiniGameRsp.proto
create mode 100644 protocol/proto/FleurFairStageSettleNotify.proto
create mode 100644 protocol/proto/FlightActivityDetailInfo.proto
create mode 100644 protocol/proto/FlightActivityRestartReq.proto
create mode 100644 protocol/proto/FlightActivityRestartRsp.proto
create mode 100644 protocol/proto/FlightActivitySettleNotify.proto
create mode 100644 protocol/proto/FlightDailyRecord.proto
create mode 100644 protocol/proto/FocusAvatarReq.proto
create mode 100644 protocol/proto/FocusAvatarRsp.proto
create mode 100644 protocol/proto/ForceAddPlayerFriendReq.proto
create mode 100644 protocol/proto/ForceAddPlayerFriendRsp.proto
create mode 100644 protocol/proto/ForceDragAvatarNotify.proto
create mode 100644 protocol/proto/ForceDragBackTransferNotify.proto
create mode 100644 protocol/proto/ForceUpdateInfo.proto
create mode 100644 protocol/proto/ForgeDataNotify.proto
create mode 100644 protocol/proto/ForgeFormulaDataNotify.proto
create mode 100644 protocol/proto/ForgeGetQueueDataReq.proto
create mode 100644 protocol/proto/ForgeGetQueueDataRsp.proto
create mode 100644 protocol/proto/ForgeQueueData.proto
create mode 100644 protocol/proto/ForgeQueueDataNotify.proto
create mode 100644 protocol/proto/ForgeQueueManipulateReq.proto
create mode 100644 protocol/proto/ForgeQueueManipulateRsp.proto
create mode 100644 protocol/proto/ForgeQueueManipulateType.proto
create mode 100644 protocol/proto/ForgeStartReq.proto
create mode 100644 protocol/proto/ForgeStartRsp.proto
create mode 100644 protocol/proto/ForwardType.proto
create mode 100644 protocol/proto/FoundationInfo.proto
create mode 100644 protocol/proto/FoundationNotify.proto
create mode 100644 protocol/proto/FoundationOpType.proto
create mode 100644 protocol/proto/FoundationReq.proto
create mode 100644 protocol/proto/FoundationRsp.proto
create mode 100644 protocol/proto/FoundationStatus.proto
create mode 100644 protocol/proto/FriendBrief.proto
create mode 100644 protocol/proto/FriendEnterHomeOption.proto
create mode 100644 protocol/proto/FriendInfoChangeNotify.proto
create mode 100644 protocol/proto/FriendOnlineState.proto
create mode 100644 protocol/proto/FungusCaptureSettleNotify.proto
create mode 100644 protocol/proto/FungusCultivateReq.proto
create mode 100644 protocol/proto/FungusCultivateRsp.proto
create mode 100644 protocol/proto/FungusDetail.proto
create mode 100644 protocol/proto/FungusFighterClearTrainingRuntimeDataReq.proto
create mode 100644 protocol/proto/FungusFighterClearTrainingRuntimeDataRsp.proto
create mode 100644 protocol/proto/FungusFighterDetailInfo.proto
create mode 100644 protocol/proto/FungusFighterMonsterDetail.proto
create mode 100644 protocol/proto/FungusFighterPlotInfoNotify.proto
create mode 100644 protocol/proto/FungusFighterRestartTraningDungeonReq.proto
create mode 100644 protocol/proto/FungusFighterRestartTraningDungeonRsp.proto
create mode 100644 protocol/proto/FungusFighterRuntimeDataNotify.proto
create mode 100644 protocol/proto/FungusFighterTrainingGallerySettleNotify.proto
create mode 100644 protocol/proto/FungusFighterTrainingInfoNotify.proto
create mode 100644 protocol/proto/FungusFighterTrainingSelectFungusReq.proto
create mode 100644 protocol/proto/FungusFighterTrainingSelectFungusRsp.proto
create mode 100644 protocol/proto/FungusFighterTrainingSettleInfo.proto
create mode 100644 protocol/proto/FungusFighterUseBackupFungusReq.proto
create mode 100644 protocol/proto/FungusFighterUseBackupFungusRsp.proto
create mode 100644 protocol/proto/FungusPlotStageDetail.proto
create mode 100644 protocol/proto/FungusRenameReq.proto
create mode 100644 protocol/proto/FungusRenameRsp.proto
create mode 100644 protocol/proto/FungusTrainingDungeonDetail.proto
create mode 100644 protocol/proto/FungusTrainingMonsterPreviewDetail.proto
create mode 100644 protocol/proto/FungusTrainingPoolPreviewDetail.proto
create mode 100644 protocol/proto/FungusTrainingProgressDetail.proto
create mode 100644 protocol/proto/FunitureMakeMakeInfoChangeNotify.proto
create mode 100644 protocol/proto/Furniture.proto
create mode 100644 protocol/proto/FurnitureCurModuleArrangeCountNotify.proto
create mode 100644 protocol/proto/FurnitureMakeBeHelpedData.proto
create mode 100644 protocol/proto/FurnitureMakeBeHelpedNotify.proto
create mode 100644 protocol/proto/FurnitureMakeCancelReq.proto
create mode 100644 protocol/proto/FurnitureMakeCancelRsp.proto
create mode 100644 protocol/proto/FurnitureMakeData.proto
create mode 100644 protocol/proto/FurnitureMakeFinishNotify.proto
create mode 100644 protocol/proto/FurnitureMakeHelpData.proto
create mode 100644 protocol/proto/FurnitureMakeHelpReq.proto
create mode 100644 protocol/proto/FurnitureMakeHelpRsp.proto
create mode 100644 protocol/proto/FurnitureMakeMakeInfo.proto
create mode 100644 protocol/proto/FurnitureMakeReq.proto
create mode 100644 protocol/proto/FurnitureMakeRsp.proto
create mode 100644 protocol/proto/FurnitureMakeSlot.proto
create mode 100644 protocol/proto/FurnitureMakeStartReq.proto
create mode 100644 protocol/proto/FurnitureMakeStartRsp.proto
create mode 100644 protocol/proto/GCGApplyInviteBattleNotify.proto
create mode 100644 protocol/proto/GCGApplyInviteBattleReq.proto
create mode 100644 protocol/proto/GCGApplyInviteBattleRsp.proto
create mode 100644 protocol/proto/GCGAskDuelReq.proto
create mode 100644 protocol/proto/GCGAskDuelRsp.proto
create mode 100644 protocol/proto/GCGAttackCostInfo.proto
create mode 100644 protocol/proto/GCGBasicDataNotify.proto
create mode 100644 protocol/proto/GCGBossChallengeData.proto
create mode 100644 protocol/proto/GCGBossChallengeUpdateNotify.proto
create mode 100644 protocol/proto/GCGCard.proto
create mode 100644 protocol/proto/GCGChallengeData.proto
create mode 100644 protocol/proto/GCGChallengeUpdateNotify.proto
create mode 100644 protocol/proto/GCGClientPerformType.proto
create mode 100644 protocol/proto/GCGClientSettleReq.proto
create mode 100644 protocol/proto/GCGClientSettleRsp.proto
create mode 100644 protocol/proto/GCGControllerShowInfo.proto
create mode 100644 protocol/proto/GCGCostReviseInfo.proto
create mode 100644 protocol/proto/GCGDSCardBackUnlockNotify.proto
create mode 100644 protocol/proto/GCGDSCardData.proto
create mode 100644 protocol/proto/GCGDSCardFaceUnlockNotify.proto
create mode 100644 protocol/proto/GCGDSCardNumChangeNotify.proto
create mode 100644 protocol/proto/GCGDSCardProficiencyNotify.proto
create mode 100644 protocol/proto/GCGDSChangeCardBackReq.proto
create mode 100644 protocol/proto/GCGDSChangeCardBackRsp.proto
create mode 100644 protocol/proto/GCGDSChangeCardFaceReq.proto
create mode 100644 protocol/proto/GCGDSChangeCardFaceRsp.proto
create mode 100644 protocol/proto/GCGDSChangeCurDeckReq.proto
create mode 100644 protocol/proto/GCGDSChangeCurDeckRsp.proto
create mode 100644 protocol/proto/GCGDSChangeDeckNameReq.proto
create mode 100644 protocol/proto/GCGDSChangeDeckNameRsp.proto
create mode 100644 protocol/proto/GCGDSChangeFieldReq.proto
create mode 100644 protocol/proto/GCGDSChangeFieldRsp.proto
create mode 100644 protocol/proto/GCGDSCurDeckChangeNotify.proto
create mode 100644 protocol/proto/GCGDSDataNotify.proto
create mode 100644 protocol/proto/GCGDSDeckData.proto
create mode 100644 protocol/proto/GCGDSDeckSaveReq.proto
create mode 100644 protocol/proto/GCGDSDeckSaveRsp.proto
create mode 100644 protocol/proto/GCGDSDeckUnlockNotify.proto
create mode 100644 protocol/proto/GCGDSDeleteDeckReq.proto
create mode 100644 protocol/proto/GCGDSDeleteDeckRsp.proto
create mode 100644 protocol/proto/GCGDSFieldUnlockNotify.proto
create mode 100644 protocol/proto/GCGDamageDetail.proto
create mode 100644 protocol/proto/GCGDiceSideType.proto
create mode 100644 protocol/proto/GCGDuel.proto
create mode 100644 protocol/proto/GCGDuelChallenge.proto
create mode 100644 protocol/proto/GCGDuelExtra.proto
create mode 100644 protocol/proto/GCGEndReason.proto
create mode 100644 protocol/proto/GCGGameBriefData.proto
create mode 100644 protocol/proto/GCGGameBriefDataNotify.proto
create mode 100644 protocol/proto/GCGGameBusinessType.proto
create mode 100644 protocol/proto/GCGGrowthLevelNotify.proto
create mode 100644 protocol/proto/GCGGrowthLevelRewardNotify.proto
create mode 100644 protocol/proto/GCGGrowthLevelTakeRewardReq.proto
create mode 100644 protocol/proto/GCGGrowthLevelTakeRewardRsp.proto
create mode 100644 protocol/proto/GCGHeartBeatNotify.proto
create mode 100644 protocol/proto/GCGInitFinishReq.proto
create mode 100644 protocol/proto/GCGInitFinishRsp.proto
create mode 100644 protocol/proto/GCGInviteBattleNotify.proto
create mode 100644 protocol/proto/GCGInviteGuestBattleReq.proto
create mode 100644 protocol/proto/GCGInviteGuestBattleRsp.proto
create mode 100644 protocol/proto/GCGLevelChallengeFinishNotify.proto
create mode 100644 protocol/proto/GCGLevelChallengeNotify.proto
create mode 100644 protocol/proto/GCGLevelData.proto
create mode 100644 protocol/proto/GCGLevelType.proto
create mode 100644 protocol/proto/GCGMatchInfo.proto
create mode 100644 protocol/proto/GCGMessage.proto
create mode 100644 protocol/proto/GCGMessagePack.proto
create mode 100644 protocol/proto/GCGMessagePackNotify.proto
create mode 100644 protocol/proto/GCGMsgAddCards.proto
create mode 100644 protocol/proto/GCGMsgAddDice.proto
create mode 100644 protocol/proto/GCGMsgCardUpdate.proto
create mode 100644 protocol/proto/GCGMsgCharDie.proto
create mode 100644 protocol/proto/GCGMsgClientPerform.proto
create mode 100644 protocol/proto/GCGMsgCostDice.proto
create mode 100644 protocol/proto/GCGMsgCostRevise.proto
create mode 100644 protocol/proto/GCGMsgDiceReroll.proto
create mode 100644 protocol/proto/GCGMsgDiceRoll.proto
create mode 100644 protocol/proto/GCGMsgDuelDataChange.proto
create mode 100644 protocol/proto/GCGMsgGameOver.proto
create mode 100644 protocol/proto/GCGMsgModifyAdd.proto
create mode 100644 protocol/proto/GCGMsgModifyRemove.proto
create mode 100644 protocol/proto/GCGMsgMoveCard.proto
create mode 100644 protocol/proto/GCGMsgNewCard.proto
create mode 100644 protocol/proto/GCGMsgOpTimer.proto
create mode 100644 protocol/proto/GCGMsgPVEDoOp.proto
create mode 100644 protocol/proto/GCGMsgPVEGenCardOp.proto
create mode 100644 protocol/proto/GCGMsgPass.proto
create mode 100644 protocol/proto/GCGMsgPhaseChange.proto
create mode 100644 protocol/proto/GCGMsgRemoveCards.proto
create mode 100644 protocol/proto/GCGMsgSelectOnStage.proto
create mode 100644 protocol/proto/GCGMsgSelectOnStageByEffect.proto
create mode 100644 protocol/proto/GCGMsgSkillResult.proto
create mode 100644 protocol/proto/GCGMsgTokenChange.proto
create mode 100644 protocol/proto/GCGMsgUpdateController.proto
create mode 100644 protocol/proto/GCGMsgUseSkill.proto
create mode 100644 protocol/proto/GCGMsgUseSkillEnd.proto
create mode 100644 protocol/proto/GCGMsgWaitingListChange.proto
create mode 100644 protocol/proto/GCGNewCardInfoNotify.proto
create mode 100644 protocol/proto/GCGOperation.proto
create mode 100644 protocol/proto/GCGOperationAttack.proto
create mode 100644 protocol/proto/GCGOperationData.proto
create mode 100644 protocol/proto/GCGOperationOnStageSelect.proto
create mode 100644 protocol/proto/GCGOperationPass.proto
create mode 100644 protocol/proto/GCGOperationPlayCard.proto
create mode 100644 protocol/proto/GCGOperationReboot.proto
create mode 100644 protocol/proto/GCGOperationRedraw.proto
create mode 100644 protocol/proto/GCGOperationReplay.proto
create mode 100644 protocol/proto/GCGOperationReq.proto
create mode 100644 protocol/proto/GCGOperationReroll.proto
create mode 100644 protocol/proto/GCGOperationRsp.proto
create mode 100644 protocol/proto/GCGOperationSurrender.proto
create mode 100644 protocol/proto/GCGPVEIntention.proto
create mode 100644 protocol/proto/GCGPhase.proto
create mode 100644 protocol/proto/GCGPhaseType.proto
create mode 100644 protocol/proto/GCGPlayCardCostInfo.proto
create mode 100644 protocol/proto/GCGPlayerBriefData.proto
create mode 100644 protocol/proto/GCGPlayerField.proto
create mode 100644 protocol/proto/GCGReason.proto
create mode 100644 protocol/proto/GCGResourceStateNotify.proto
create mode 100644 protocol/proto/GCGSelectOnStageCostInfo.proto
create mode 100644 protocol/proto/GCGSettleNotify.proto
create mode 100644 protocol/proto/GCGSettleOption.proto
create mode 100644 protocol/proto/GCGSettleOptionReq.proto
create mode 100644 protocol/proto/GCGSettleOptionRsp.proto
create mode 100644 protocol/proto/GCGSkillHpChangeType.proto
create mode 100644 protocol/proto/GCGSkillPreviewAskReq.proto
create mode 100644 protocol/proto/GCGSkillPreviewAskRsp.proto
create mode 100644 protocol/proto/GCGSkillPreviewCardInfo.proto
create mode 100644 protocol/proto/GCGSkillPreviewElementReactionInfo.proto
create mode 100644 protocol/proto/GCGSkillPreviewHpInfo.proto
create mode 100644 protocol/proto/GCGSkillPreviewInfo.proto
create mode 100644 protocol/proto/GCGSkillPreviewNotify.proto
create mode 100644 protocol/proto/GCGSkillPreviewOnstageChangeInfo.proto
create mode 100644 protocol/proto/GCGSkillPreviewReactionInfo.proto
create mode 100644 protocol/proto/GCGSkillPreviewTokenChangeInfo.proto
create mode 100644 protocol/proto/GCGSkillPreviewTokenInfo.proto
create mode 100644 protocol/proto/GCGStartChallengeReq.proto
create mode 100644 protocol/proto/GCGStartChallengeRsp.proto
create mode 100644 protocol/proto/GCGTCInviteReq.proto
create mode 100644 protocol/proto/GCGTCInviteRsp.proto
create mode 100644 protocol/proto/GCGTCTavernChallengeData.proto
create mode 100644 protocol/proto/GCGTCTavernChallengeDataNotify.proto
create mode 100644 protocol/proto/GCGTCTavernChallengeUpdateNotify.proto
create mode 100644 protocol/proto/GCGTCTavernInfoNotify.proto
create mode 100644 protocol/proto/GCGTavernNpcInfo.proto
create mode 100644 protocol/proto/GCGTavernNpcInfoNotify.proto
create mode 100644 protocol/proto/GCGToken.proto
create mode 100644 protocol/proto/GCGWaitingCharacter.proto
create mode 100644 protocol/proto/GCGWeekChallengeInfo.proto
create mode 100644 protocol/proto/GCGWeekChallengeInfoNotify.proto
create mode 100644 protocol/proto/GCGWorldChallengeUnlockNotify.proto
create mode 100644 protocol/proto/GCGZone.proto
create mode 100644 protocol/proto/GCGZoneType.proto
create mode 100644 protocol/proto/GMObstacleInfo.proto
create mode 100644 protocol/proto/GMShowNavMeshReq.proto
create mode 100644 protocol/proto/GMShowNavMeshRsp.proto
create mode 100644 protocol/proto/GMShowObstacleReq.proto
create mode 100644 protocol/proto/GMShowObstacleRsp.proto
create mode 100644 protocol/proto/GachaActivityCreateRobotReq.proto
create mode 100644 protocol/proto/GachaActivityCreateRobotRsp.proto
create mode 100644 protocol/proto/GachaActivityDetailInfo.proto
create mode 100644 protocol/proto/GachaActivityNextStageReq.proto
create mode 100644 protocol/proto/GachaActivityNextStageRsp.proto
create mode 100644 protocol/proto/GachaActivityPercentNotify.proto
create mode 100644 protocol/proto/GachaActivityResetReq.proto
create mode 100644 protocol/proto/GachaActivityResetRsp.proto
create mode 100644 protocol/proto/GachaActivityTakeRewardReq.proto
create mode 100644 protocol/proto/GachaActivityTakeRewardRsp.proto
create mode 100644 protocol/proto/GachaActivityUpdateElemNotify.proto
create mode 100644 protocol/proto/GachaInfo.proto
create mode 100644 protocol/proto/GachaItem.proto
create mode 100644 protocol/proto/GachaOpenWishNotify.proto
create mode 100644 protocol/proto/GachaSimpleInfoNotify.proto
create mode 100644 protocol/proto/GachaStageData.proto
create mode 100644 protocol/proto/GachaTransferItem.proto
create mode 100644 protocol/proto/GachaUpInfo.proto
create mode 100644 protocol/proto/GachaWishReq.proto
create mode 100644 protocol/proto/GachaWishRsp.proto
create mode 100644 protocol/proto/GadgetAutoPickDropInfoNotify.proto
create mode 100644 protocol/proto/GadgetBornType.proto
create mode 100644 protocol/proto/GadgetChainLevelChangeNotify.proto
create mode 100644 protocol/proto/GadgetChainLevelUpdateNotify.proto
create mode 100644 protocol/proto/GadgetChangeLevelTagReq.proto
create mode 100644 protocol/proto/GadgetChangeLevelTagRsp.proto
create mode 100644 protocol/proto/GadgetCrucibleInfo.proto
create mode 100644 protocol/proto/GadgetCustomTreeInfoNotify.proto
create mode 100644 protocol/proto/GadgetGeneralRewardInfo.proto
create mode 100644 protocol/proto/GadgetGeneralRewardInfoNotify.proto
create mode 100644 protocol/proto/GadgetInteractReq.proto
create mode 100644 protocol/proto/GadgetInteractRsp.proto
create mode 100644 protocol/proto/GadgetPlayDataNotify.proto
create mode 100644 protocol/proto/GadgetPlayInfo.proto
create mode 100644 protocol/proto/GadgetPlayStartNotify.proto
create mode 100644 protocol/proto/GadgetPlayStopNotify.proto
create mode 100644 protocol/proto/GadgetPlayUidInfo.proto
create mode 100644 protocol/proto/GadgetPlayUidOpNotify.proto
create mode 100644 protocol/proto/GadgetStateNotify.proto
create mode 100644 protocol/proto/GadgetTalkChangeNotify.proto
create mode 100644 protocol/proto/GalleryBalloonScoreNotify.proto
create mode 100644 protocol/proto/GalleryBalloonShootNotify.proto
create mode 100644 protocol/proto/GalleryBounceConjuringHitNotify.proto
create mode 100644 protocol/proto/GalleryBrokenFloorFallNotify.proto
create mode 100644 protocol/proto/GalleryBulletHitNotify.proto
create mode 100644 protocol/proto/GalleryCrystalLinkBuffInfoNotify.proto
create mode 100644 protocol/proto/GalleryCrystalLinkKillMonsterNotify.proto
create mode 100644 protocol/proto/GalleryFallCatchNotify.proto
create mode 100644 protocol/proto/GalleryFallScoreNotify.proto
create mode 100644 protocol/proto/GalleryFlowerCatchNotify.proto
create mode 100644 protocol/proto/GalleryFlowerStartParam.proto
create mode 100644 protocol/proto/GalleryIslandPartyDownHillInfoNotify.proto
create mode 100644 protocol/proto/GalleryPreStartNotify.proto
create mode 100644 protocol/proto/GalleryStageType.proto
create mode 100644 protocol/proto/GalleryStartNotify.proto
create mode 100644 protocol/proto/GalleryStartSource.proto
create mode 100644 protocol/proto/GalleryStopNotify.proto
create mode 100644 protocol/proto/GalleryStopReason.proto
create mode 100644 protocol/proto/GallerySumoKillMonsterNotify.proto
create mode 100644 protocol/proto/GalleryWillStartCountdownNotify.proto
create mode 100644 protocol/proto/GameplayRecommendationElementReliquaryRequest.proto
create mode 100644 protocol/proto/GameplayRecommendationElementReliquaryResponse.proto
create mode 100644 protocol/proto/GameplayRecommendationReliquaryMainPropData.proto
create mode 100644 protocol/proto/GameplayRecommendationReliquaryRequest.proto
create mode 100644 protocol/proto/GameplayRecommendationReliquaryResponse.proto
create mode 100644 protocol/proto/GameplayRecommendationSkillRequest.proto
create mode 100644 protocol/proto/GameplayRecommendationSkillResponse.proto
create mode 100644 protocol/proto/GatherGadgetInfo.proto
create mode 100644 protocol/proto/GearActivityDetailInfo.proto
create mode 100644 protocol/proto/GearActivityFinishPlayGearReq.proto
create mode 100644 protocol/proto/GearActivityFinishPlayGearRsp.proto
create mode 100644 protocol/proto/GearActivityFinishPlayPictureReq.proto
create mode 100644 protocol/proto/GearActivityFinishPlayPictureRsp.proto
create mode 100644 protocol/proto/GearActivityStartPlayGearReq.proto
create mode 100644 protocol/proto/GearActivityStartPlayGearRsp.proto
create mode 100644 protocol/proto/GearActivityStartPlayPictureReq.proto
create mode 100644 protocol/proto/GearActivityStartPlayPictureRsp.proto
create mode 100644 protocol/proto/GearColumnInfo.proto
create mode 100644 protocol/proto/GearLevelData.proto
create mode 100644 protocol/proto/GeneralMatchInfo.proto
create mode 100644 protocol/proto/GetActivityInfoReq.proto
create mode 100644 protocol/proto/GetActivityInfoRsp.proto
create mode 100644 protocol/proto/GetActivityScheduleReq.proto
create mode 100644 protocol/proto/GetActivityScheduleRsp.proto
create mode 100644 protocol/proto/GetActivityShopSheetInfoReq.proto
create mode 100644 protocol/proto/GetActivityShopSheetInfoRsp.proto
create mode 100644 protocol/proto/GetAllActivatedBargainDataReq.proto
create mode 100644 protocol/proto/GetAllActivatedBargainDataRsp.proto
create mode 100644 protocol/proto/GetAllH5ActivityInfoReq.proto
create mode 100644 protocol/proto/GetAllH5ActivityInfoRsp.proto
create mode 100644 protocol/proto/GetAllMailNotify.proto
create mode 100644 protocol/proto/GetAllMailReq.proto
create mode 100644 protocol/proto/GetAllMailResultNotify.proto
create mode 100644 protocol/proto/GetAllMailRsp.proto
create mode 100644 protocol/proto/GetAllSceneGalleryInfoReq.proto
create mode 100644 protocol/proto/GetAllSceneGalleryInfoRsp.proto
create mode 100644 protocol/proto/GetAllUnlockNameCardReq.proto
create mode 100644 protocol/proto/GetAllUnlockNameCardRsp.proto
create mode 100644 protocol/proto/GetAreaExplorePointReq.proto
create mode 100644 protocol/proto/GetAreaExplorePointRsp.proto
create mode 100644 protocol/proto/GetAuthSalesmanInfoReq.proto
create mode 100644 protocol/proto/GetAuthSalesmanInfoRsp.proto
create mode 100644 protocol/proto/GetAuthkeyReq.proto
create mode 100644 protocol/proto/GetAuthkeyRsp.proto
create mode 100644 protocol/proto/GetBargainDataReq.proto
create mode 100644 protocol/proto/GetBargainDataRsp.proto
create mode 100644 protocol/proto/GetBattlePassProductReq.proto
create mode 100644 protocol/proto/GetBattlePassProductRsp.proto
create mode 100644 protocol/proto/GetBlossomBriefInfoListReq.proto
create mode 100644 protocol/proto/GetBlossomBriefInfoListRsp.proto
create mode 100644 protocol/proto/GetBonusActivityRewardReq.proto
create mode 100644 protocol/proto/GetBonusActivityRewardRsp.proto
create mode 100644 protocol/proto/GetChatEmojiCollectionReq.proto
create mode 100644 protocol/proto/GetChatEmojiCollectionRsp.proto
create mode 100644 protocol/proto/GetCityHuntingOfferReq.proto
create mode 100644 protocol/proto/GetCityHuntingOfferRsp.proto
create mode 100644 protocol/proto/GetCityReputationInfoReq.proto
create mode 100644 protocol/proto/GetCityReputationInfoRsp.proto
create mode 100644 protocol/proto/GetCityReputationMapInfoReq.proto
create mode 100644 protocol/proto/GetCityReputationMapInfoRsp.proto
create mode 100644 protocol/proto/GetCompoundDataReq.proto
create mode 100644 protocol/proto/GetCompoundDataRsp.proto
create mode 100644 protocol/proto/GetCustomDungeonReq.proto
create mode 100644 protocol/proto/GetCustomDungeonRsp.proto
create mode 100644 protocol/proto/GetDailyDungeonEntryInfoReq.proto
create mode 100644 protocol/proto/GetDailyDungeonEntryInfoRsp.proto
create mode 100644 protocol/proto/GetDungeonEntryExploreConditionReq.proto
create mode 100644 protocol/proto/GetDungeonEntryExploreConditionRsp.proto
create mode 100644 protocol/proto/GetExpeditionAssistInfoListReq.proto
create mode 100644 protocol/proto/GetExpeditionAssistInfoListRsp.proto
create mode 100644 protocol/proto/GetFriendShowAvatarInfoReq.proto
create mode 100644 protocol/proto/GetFriendShowAvatarInfoRsp.proto
create mode 100644 protocol/proto/GetFriendShowNameCardInfoReq.proto
create mode 100644 protocol/proto/GetFriendShowNameCardInfoRsp.proto
create mode 100644 protocol/proto/GetFurnitureCurModuleArrangeCountReq.proto
create mode 100644 protocol/proto/GetGachaInfoReq.proto
create mode 100644 protocol/proto/GetGachaInfoRsp.proto
create mode 100644 protocol/proto/GetGameplayRecommendationReq.proto
create mode 100644 protocol/proto/GetGameplayRecommendationRsp.proto
create mode 100644 protocol/proto/GetHomeExchangeWoodInfoReq.proto
create mode 100644 protocol/proto/GetHomeExchangeWoodInfoRsp.proto
create mode 100644 protocol/proto/GetHomeLevelUpRewardReq.proto
create mode 100644 protocol/proto/GetHomeLevelUpRewardRsp.proto
create mode 100644 protocol/proto/GetHuntingOfferRewardReq.proto
create mode 100644 protocol/proto/GetHuntingOfferRewardRsp.proto
create mode 100644 protocol/proto/GetInvestigationMonsterReq.proto
create mode 100644 protocol/proto/GetInvestigationMonsterRsp.proto
create mode 100644 protocol/proto/GetMailItemReq.proto
create mode 100644 protocol/proto/GetMailItemRsp.proto
create mode 100644 protocol/proto/GetMapAreaReq.proto
create mode 100644 protocol/proto/GetMapAreaRsp.proto
create mode 100644 protocol/proto/GetMapMarkTipsReq.proto
create mode 100644 protocol/proto/GetMapMarkTipsRsp.proto
create mode 100644 protocol/proto/GetMechanicusInfoReq.proto
create mode 100644 protocol/proto/GetMechanicusInfoRsp.proto
create mode 100644 protocol/proto/GetNextResourceInfoReq.proto
create mode 100644 protocol/proto/GetNextResourceInfoRsp.proto
create mode 100644 protocol/proto/GetOnlinePlayerInfoReq.proto
create mode 100644 protocol/proto/GetOnlinePlayerInfoRsp.proto
create mode 100644 protocol/proto/GetOnlinePlayerListReq.proto
create mode 100644 protocol/proto/GetOnlinePlayerListRsp.proto
create mode 100644 protocol/proto/GetOpActivityInfoReq.proto
create mode 100644 protocol/proto/GetOpActivityInfoRsp.proto
create mode 100644 protocol/proto/GetParentQuestVideoKeyReq.proto
create mode 100644 protocol/proto/GetParentQuestVideoKeyRsp.proto
create mode 100644 protocol/proto/GetPlayerAskFriendListReq.proto
create mode 100644 protocol/proto/GetPlayerAskFriendListRsp.proto
create mode 100644 protocol/proto/GetPlayerBlacklistReq.proto
create mode 100644 protocol/proto/GetPlayerBlacklistRsp.proto
create mode 100644 protocol/proto/GetPlayerFriendListReq.proto
create mode 100644 protocol/proto/GetPlayerFriendListRsp.proto
create mode 100644 protocol/proto/GetPlayerHomeCompInfoReq.proto
create mode 100644 protocol/proto/GetPlayerMpModeAvailabilityReq.proto
create mode 100644 protocol/proto/GetPlayerMpModeAvailabilityRsp.proto
create mode 100644 protocol/proto/GetPlayerSocialDetailReq.proto
create mode 100644 protocol/proto/GetPlayerSocialDetailRsp.proto
create mode 100644 protocol/proto/GetPlayerTokenReq.proto
create mode 100644 protocol/proto/GetPlayerTokenRsp.proto
create mode 100644 protocol/proto/GetPushTipsRewardReq.proto
create mode 100644 protocol/proto/GetPushTipsRewardRsp.proto
create mode 100644 protocol/proto/GetQuestLackingResourceReq.proto
create mode 100644 protocol/proto/GetQuestLackingResourceRsp.proto
create mode 100644 protocol/proto/GetQuestTalkHistoryReq.proto
create mode 100644 protocol/proto/GetQuestTalkHistoryRsp.proto
create mode 100644 protocol/proto/GetRecentMpPlayerListReq.proto
create mode 100644 protocol/proto/GetRecentMpPlayerListRsp.proto
create mode 100644 protocol/proto/GetRecommendCustomDungeonReq.proto
create mode 100644 protocol/proto/GetRecommendCustomDungeonRsp.proto
create mode 100644 protocol/proto/GetRegionSearchReq.proto
create mode 100644 protocol/proto/GetReunionMissionInfoReq.proto
create mode 100644 protocol/proto/GetReunionMissionInfoRsp.proto
create mode 100644 protocol/proto/GetReunionPrivilegeInfoReq.proto
create mode 100644 protocol/proto/GetReunionPrivilegeInfoRsp.proto
create mode 100644 protocol/proto/GetReunionSignInInfoReq.proto
create mode 100644 protocol/proto/GetReunionSignInInfoRsp.proto
create mode 100644 protocol/proto/GetRogueDairyRepairInfoReq.proto
create mode 100644 protocol/proto/GetRogueDairyRepairInfoRsp.proto
create mode 100644 protocol/proto/GetSceneAreaReq.proto
create mode 100644 protocol/proto/GetSceneAreaRsp.proto
create mode 100644 protocol/proto/GetSceneNpcPositionReq.proto
create mode 100644 protocol/proto/GetSceneNpcPositionRsp.proto
create mode 100644 protocol/proto/GetScenePerformanceReq.proto
create mode 100644 protocol/proto/GetScenePerformanceRsp.proto
create mode 100644 protocol/proto/GetScenePointReq.proto
create mode 100644 protocol/proto/GetScenePointRsp.proto
create mode 100644 protocol/proto/GetShopReq.proto
create mode 100644 protocol/proto/GetShopRsp.proto
create mode 100644 protocol/proto/GetShopmallDataReq.proto
create mode 100644 protocol/proto/GetShopmallDataRsp.proto
create mode 100644 protocol/proto/GetSignInRewardReq.proto
create mode 100644 protocol/proto/GetSignInRewardRsp.proto
create mode 100644 protocol/proto/GetStoreCustomDungeonReq.proto
create mode 100644 protocol/proto/GetStoreCustomDungeonRsp.proto
create mode 100644 protocol/proto/GetUgcBriefInfoReq.proto
create mode 100644 protocol/proto/GetUgcBriefInfoRsp.proto
create mode 100644 protocol/proto/GetUgcReq.proto
create mode 100644 protocol/proto/GetUgcRsp.proto
create mode 100644 protocol/proto/GetUgcType.proto
create mode 100644 protocol/proto/GetWidgetSlotReq.proto
create mode 100644 protocol/proto/GetWidgetSlotRsp.proto
create mode 100644 protocol/proto/GetWorldMpInfoReq.proto
create mode 100644 protocol/proto/GetWorldMpInfoRsp.proto
create mode 100644 protocol/proto/GiveUpRoguelikeDungeonCardReq.proto
create mode 100644 protocol/proto/GiveUpRoguelikeDungeonCardRsp.proto
create mode 100644 protocol/proto/GivingRecord.proto
create mode 100644 protocol/proto/GivingRecordChangeNotify.proto
create mode 100644 protocol/proto/GivingRecordNotify.proto
create mode 100644 protocol/proto/GlobalBuildingInfoNotify.proto
create mode 100644 protocol/proto/GmTalkNotify.proto
create mode 100644 protocol/proto/GmTalkReq.proto
create mode 100644 protocol/proto/GmTalkRsp.proto
create mode 100644 protocol/proto/GrantRewardNotify.proto
create mode 100644 protocol/proto/GravenInnocenceCampInfo.proto
create mode 100644 protocol/proto/GravenInnocenceCampStageInfo.proto
create mode 100644 protocol/proto/GravenInnocenceCarveInfo.proto
create mode 100644 protocol/proto/GravenInnocenceCarveStageInfo.proto
create mode 100644 protocol/proto/GravenInnocenceDetailInfo.proto
create mode 100644 protocol/proto/GravenInnocenceEditCarveCombinationReq.proto
create mode 100644 protocol/proto/GravenInnocenceEditCarveCombinationRsp.proto
create mode 100644 protocol/proto/GravenInnocencePhotoFinishReq.proto
create mode 100644 protocol/proto/GravenInnocencePhotoFinishRsp.proto
create mode 100644 protocol/proto/GravenInnocencePhotoInfo.proto
create mode 100644 protocol/proto/GravenInnocencePhotoObjectInfo.proto
create mode 100644 protocol/proto/GravenInnocencePhotoReminderNotify.proto
create mode 100644 protocol/proto/GravenInnocencePhotoStageInfo.proto
create mode 100644 protocol/proto/GravenInnocenceRaceInfo.proto
create mode 100644 protocol/proto/GravenInnocenceRaceLevelInfo.proto
create mode 100644 protocol/proto/GravenInnocenceRaceRestartReq.proto
create mode 100644 protocol/proto/GravenInnocenceRaceRestartRsp.proto
create mode 100644 protocol/proto/GravenInnocenceRaceSettleNotify.proto
create mode 100644 protocol/proto/GroupLinkAllNotify.proto
create mode 100644 protocol/proto/GroupLinkBundle.proto
create mode 100644 protocol/proto/GroupLinkChangeNotify.proto
create mode 100644 protocol/proto/GroupLinkDeleteNotify.proto
create mode 100644 protocol/proto/GroupLinkMarkUpdateNotify.proto
create mode 100644 protocol/proto/GroupSuiteNotify.proto
create mode 100644 protocol/proto/GroupUnloadNotify.proto
create mode 100644 protocol/proto/GuestBeginEnterSceneNotify.proto
create mode 100644 protocol/proto/GuestPostEnterSceneNotify.proto
create mode 100644 protocol/proto/H5ActivityIdsNotify.proto
create mode 100644 protocol/proto/H5ActivityInfo.proto
create mode 100644 protocol/proto/HachiActivityDetailInfo.proto
create mode 100644 protocol/proto/HachiStageData.proto
create mode 100644 protocol/proto/HashedString.proto
create mode 100644 protocol/proto/HideAndSeekActivityDetailInfo.proto
create mode 100644 protocol/proto/HideAndSeekMapInfo.proto
create mode 100644 protocol/proto/HideAndSeekPlayerBattleInfo.proto
create mode 100644 protocol/proto/HideAndSeekPlayerReadyNotify.proto
create mode 100644 protocol/proto/HideAndSeekPlayerSetAvatarNotify.proto
create mode 100644 protocol/proto/HideAndSeekSelectAvatarReq.proto
create mode 100644 protocol/proto/HideAndSeekSelectAvatarRsp.proto
create mode 100644 protocol/proto/HideAndSeekSelectSkillReq.proto
create mode 100644 protocol/proto/HideAndSeekSelectSkillRsp.proto
create mode 100644 protocol/proto/HideAndSeekSetReadyReq.proto
create mode 100644 protocol/proto/HideAndSeekSetReadyRsp.proto
create mode 100644 protocol/proto/HideAndSeekSettleInfo.proto
create mode 100644 protocol/proto/HideAndSeekSettleNotify.proto
create mode 100644 protocol/proto/HideAndSeekStageInfo.proto
create mode 100644 protocol/proto/HideAndSeekStageType.proto
create mode 100644 protocol/proto/HitClientTrivialNotify.proto
create mode 100644 protocol/proto/HitColliderType.proto
create mode 100644 protocol/proto/HitCollision.proto
create mode 100644 protocol/proto/HitTreeInfo.proto
create mode 100644 protocol/proto/HitTreeNotify.proto
create mode 100644 protocol/proto/HomeAllUnlockedBgmIdListNotify.proto
create mode 100644 protocol/proto/HomeAnimalData.proto
create mode 100644 protocol/proto/HomeAvatarAllFinishRewardNotify.proto
create mode 100644 protocol/proto/HomeAvatarCostumeChangeNotify.proto
create mode 100644 protocol/proto/HomeAvatarRewardEventGetReq.proto
create mode 100644 protocol/proto/HomeAvatarRewardEventGetRsp.proto
create mode 100644 protocol/proto/HomeAvatarRewardEventInfo.proto
create mode 100644 protocol/proto/HomeAvatarRewardEventNotify.proto
create mode 100644 protocol/proto/HomeAvatarSummonAllEventNotify.proto
create mode 100644 protocol/proto/HomeAvatarSummonEventInfo.proto
create mode 100644 protocol/proto/HomeAvatarSummonEventReq.proto
create mode 100644 protocol/proto/HomeAvatarSummonEventRsp.proto
create mode 100644 protocol/proto/HomeAvatarSummonFinishReq.proto
create mode 100644 protocol/proto/HomeAvatarSummonFinishRsp.proto
create mode 100644 protocol/proto/HomeAvatarTalkFinishInfo.proto
create mode 100644 protocol/proto/HomeAvatarTalkFinishInfoNotify.proto
create mode 100644 protocol/proto/HomeAvatarTalkReq.proto
create mode 100644 protocol/proto/HomeAvatarTalkRsp.proto
create mode 100644 protocol/proto/HomeAvtarAllFinishRewardNotify.proto
create mode 100644 protocol/proto/HomeBalloonGalleryRecord.proto
create mode 100644 protocol/proto/HomeBalloonGalleryScoreNotify.proto
create mode 100644 protocol/proto/HomeBalloonGallerySettleNotify.proto
create mode 100644 protocol/proto/HomeBalloonRecord.proto
create mode 100644 protocol/proto/HomeBasicInfo.proto
create mode 100644 protocol/proto/HomeBasicInfoNotify.proto
create mode 100644 protocol/proto/HomeBlockArrangementInfo.proto
create mode 100644 protocol/proto/HomeBlockArrangementMuipData.proto
create mode 100644 protocol/proto/HomeBlockDotPattern.proto
create mode 100644 protocol/proto/HomeBlockFieldData.proto
create mode 100644 protocol/proto/HomeBlockNotify.proto
create mode 100644 protocol/proto/HomeBlockSubFieldData.proto
create mode 100644 protocol/proto/HomeBlueprintBatchBriefMuipData.proto
create mode 100644 protocol/proto/HomeBlueprintBriefMuipData.proto
create mode 100644 protocol/proto/HomeBlueprintInfoNotify.proto
create mode 100644 protocol/proto/HomeBlueprintSearchInfo.proto
create mode 100644 protocol/proto/HomeBlueprintSlotInfo.proto
create mode 100644 protocol/proto/HomeChangeBgmNotify.proto
create mode 100644 protocol/proto/HomeChangeBgmReq.proto
create mode 100644 protocol/proto/HomeChangeBgmRsp.proto
create mode 100644 protocol/proto/HomeChangeEditModeReq.proto
create mode 100644 protocol/proto/HomeChangeEditModeRsp.proto
create mode 100644 protocol/proto/HomeChangeModuleReq.proto
create mode 100644 protocol/proto/HomeChangeModuleRsp.proto
create mode 100644 protocol/proto/HomeChooseModuleReq.proto
create mode 100644 protocol/proto/HomeChooseModuleRsp.proto
create mode 100644 protocol/proto/HomeClearGroupRecordReq.proto
create mode 100644 protocol/proto/HomeClearGroupRecordRsp.proto
create mode 100644 protocol/proto/HomeComfortInfoNotify.proto
create mode 100644 protocol/proto/HomeCreateBlueprintReq.proto
create mode 100644 protocol/proto/HomeCreateBlueprintRsp.proto
create mode 100644 protocol/proto/HomeCustomFurnitureInfo.proto
create mode 100644 protocol/proto/HomeCustomFurnitureInfoNotify.proto
create mode 100644 protocol/proto/HomeDeleteBlueprintReq.proto
create mode 100644 protocol/proto/HomeDeleteBlueprintRsp.proto
create mode 100644 protocol/proto/HomeEditCustomFurnitureReq.proto
create mode 100644 protocol/proto/HomeEditCustomFurnitureRsp.proto
create mode 100644 protocol/proto/HomeEnterEditModeFinishReq.proto
create mode 100644 protocol/proto/HomeEnterEditModeFinishRsp.proto
create mode 100644 protocol/proto/HomeExchangeWoodReq.proto
create mode 100644 protocol/proto/HomeExchangeWoodRsp.proto
create mode 100644 protocol/proto/HomeFishFarmingInfo.proto
create mode 100644 protocol/proto/HomeFishFarmingInfoNotify.proto
create mode 100644 protocol/proto/HomeFurnitureArrangementMuipData.proto
create mode 100644 protocol/proto/HomeFurnitureCustomSuiteData.proto
create mode 100644 protocol/proto/HomeFurnitureData.proto
create mode 100644 protocol/proto/HomeFurnitureGroupData.proto
create mode 100644 protocol/proto/HomeFurnitureSuiteData.proto
create mode 100644 protocol/proto/HomeGalleryInPlayingNotify.proto
create mode 100644 protocol/proto/HomeGetArrangementInfoReq.proto
create mode 100644 protocol/proto/HomeGetArrangementInfoRsp.proto
create mode 100644 protocol/proto/HomeGetBasicInfoReq.proto
create mode 100644 protocol/proto/HomeGetBlueprintSlotInfoReq.proto
create mode 100644 protocol/proto/HomeGetBlueprintSlotInfoRsp.proto
create mode 100644 protocol/proto/HomeGetFishFarmingInfoReq.proto
create mode 100644 protocol/proto/HomeGetFishFarmingInfoRsp.proto
create mode 100644 protocol/proto/HomeGetGroupRecordReq.proto
create mode 100644 protocol/proto/HomeGetGroupRecordRsp.proto
create mode 100644 protocol/proto/HomeGetOnlineStatusReq.proto
create mode 100644 protocol/proto/HomeGetOnlineStatusRsp.proto
create mode 100644 protocol/proto/HomeGroupPlayerInfo.proto
create mode 100644 protocol/proto/HomeGroupRecord.proto
create mode 100644 protocol/proto/HomeKickPlayerReq.proto
create mode 100644 protocol/proto/HomeKickPlayerRsp.proto
create mode 100644 protocol/proto/HomeLimitedShop.proto
create mode 100644 protocol/proto/HomeLimitedShopBuyGoodsReq.proto
create mode 100644 protocol/proto/HomeLimitedShopBuyGoodsRsp.proto
create mode 100644 protocol/proto/HomeLimitedShopGoods.proto
create mode 100644 protocol/proto/HomeLimitedShopGoodsListReq.proto
create mode 100644 protocol/proto/HomeLimitedShopGoodsListRsp.proto
create mode 100644 protocol/proto/HomeLimitedShopInfo.proto
create mode 100644 protocol/proto/HomeLimitedShopInfoChangeNotify.proto
create mode 100644 protocol/proto/HomeLimitedShopInfoNotify.proto
create mode 100644 protocol/proto/HomeLimitedShopInfoReq.proto
create mode 100644 protocol/proto/HomeLimitedShopInfoRsp.proto
create mode 100644 protocol/proto/HomeMarkPointFurnitureData.proto
create mode 100644 protocol/proto/HomeMarkPointNPCData.proto
create mode 100644 protocol/proto/HomeMarkPointNotify.proto
create mode 100644 protocol/proto/HomeMarkPointSceneData.proto
create mode 100644 protocol/proto/HomeMarkPointSuiteData.proto
create mode 100644 protocol/proto/HomeModuleComfortInfo.proto
create mode 100644 protocol/proto/HomeModuleSeenReq.proto
create mode 100644 protocol/proto/HomeModuleSeenRsp.proto
create mode 100644 protocol/proto/HomeModuleUnlockNotify.proto
create mode 100644 protocol/proto/HomeNewUnlockedBgmIdListNotify.proto
create mode 100644 protocol/proto/HomeNpcData.proto
create mode 100644 protocol/proto/HomePictureFrameInfo.proto
create mode 100644 protocol/proto/HomePictureFrameInfoNotify.proto
create mode 100644 protocol/proto/HomePlantFieldData.proto
create mode 100644 protocol/proto/HomePlantFieldNotify.proto
create mode 100644 protocol/proto/HomePlantFieldStatus.proto
create mode 100644 protocol/proto/HomePlantInfoNotify.proto
create mode 100644 protocol/proto/HomePlantInfoReq.proto
create mode 100644 protocol/proto/HomePlantInfoRsp.proto
create mode 100644 protocol/proto/HomePlantSeedReq.proto
create mode 100644 protocol/proto/HomePlantSeedRsp.proto
create mode 100644 protocol/proto/HomePlantSubFieldData.proto
create mode 100644 protocol/proto/HomePlantWeedReq.proto
create mode 100644 protocol/proto/HomePlantWeedRsp.proto
create mode 100644 protocol/proto/HomePreChangeEditModeNotify.proto
create mode 100644 protocol/proto/HomePreviewBlueprintReq.proto
create mode 100644 protocol/proto/HomePreviewBlueprintRsp.proto
create mode 100644 protocol/proto/HomePriorCheckNotify.proto
create mode 100644 protocol/proto/HomeRacingGalleryRecord.proto
create mode 100644 protocol/proto/HomeRacingGallerySettleNotify.proto
create mode 100644 protocol/proto/HomeRacingRecord.proto
create mode 100644 protocol/proto/HomeResource.proto
create mode 100644 protocol/proto/HomeResourceNotify.proto
create mode 100644 protocol/proto/HomeResourceTakeFetterExpReq.proto
create mode 100644 protocol/proto/HomeResourceTakeFetterExpRsp.proto
create mode 100644 protocol/proto/HomeResourceTakeHomeCoinReq.proto
create mode 100644 protocol/proto/HomeResourceTakeHomeCoinRsp.proto
create mode 100644 protocol/proto/HomeSaveArrangementNoChangeReq.proto
create mode 100644 protocol/proto/HomeSaveArrangementNoChangeRsp.proto
create mode 100644 protocol/proto/HomeSceneArrangementInfo.proto
create mode 100644 protocol/proto/HomeSceneArrangementMuipData.proto
create mode 100644 protocol/proto/HomeSceneInitFinishReq.proto
create mode 100644 protocol/proto/HomeSceneInitFinishRsp.proto
create mode 100644 protocol/proto/HomeSceneJumpReq.proto
create mode 100644 protocol/proto/HomeSceneJumpRsp.proto
create mode 100644 protocol/proto/HomeScenePointFishFarmingInfo.proto
create mode 100644 protocol/proto/HomeScenePointFishFarmingInfoNotify.proto
create mode 100644 protocol/proto/HomeSearchBlueprintReq.proto
create mode 100644 protocol/proto/HomeSearchBlueprintRsp.proto
create mode 100644 protocol/proto/HomeSeekFurnitureGalleryScoreNotify.proto
create mode 100644 protocol/proto/HomeSeekFurnitureOneRecord.proto
create mode 100644 protocol/proto/HomeSeekFurniturePlayerScore.proto
create mode 100644 protocol/proto/HomeSetBlueprintFriendOptionReq.proto
create mode 100644 protocol/proto/HomeSetBlueprintFriendOptionRsp.proto
create mode 100644 protocol/proto/HomeSetBlueprintSlotOptionReq.proto
create mode 100644 protocol/proto/HomeSetBlueprintSlotOptionRsp.proto
create mode 100644 protocol/proto/HomeStakePlayRecord.proto
create mode 100644 protocol/proto/HomeStakeRecord.proto
create mode 100644 protocol/proto/HomeTransferData.proto
create mode 100644 protocol/proto/HomeTransferReq.proto
create mode 100644 protocol/proto/HomeTransferRsp.proto
create mode 100644 protocol/proto/HomeUpdateArrangementInfoReq.proto
create mode 100644 protocol/proto/HomeUpdateArrangementInfoRsp.proto
create mode 100644 protocol/proto/HomeUpdateFishFarmingInfoReq.proto
create mode 100644 protocol/proto/HomeUpdateFishFarmingInfoRsp.proto
create mode 100644 protocol/proto/HomeUpdatePictureFrameInfoReq.proto
create mode 100644 protocol/proto/HomeUpdatePictureFrameInfoRsp.proto
create mode 100644 protocol/proto/HomeUpdateScenePointFishFarmingInfoReq.proto
create mode 100644 protocol/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto
create mode 100644 protocol/proto/HomeVerifyBlockData.proto
create mode 100644 protocol/proto/HomeVerifyData.proto
create mode 100644 protocol/proto/HomeVerifyFurnitureData.proto
create mode 100644 protocol/proto/HomeVerifySceneData.proto
create mode 100644 protocol/proto/HostPlayerNotify.proto
create mode 100644 protocol/proto/HuntingFailNotify.proto
create mode 100644 protocol/proto/HuntingGiveUpReq.proto
create mode 100644 protocol/proto/HuntingGiveUpRsp.proto
create mode 100644 protocol/proto/HuntingOfferData.proto
create mode 100644 protocol/proto/HuntingOfferState.proto
create mode 100644 protocol/proto/HuntingOngoingNotify.proto
create mode 100644 protocol/proto/HuntingPair.proto
create mode 100644 protocol/proto/HuntingRevealClueNotify.proto
create mode 100644 protocol/proto/HuntingRevealFinalNotify.proto
create mode 100644 protocol/proto/HuntingStartNotify.proto
create mode 100644 protocol/proto/HuntingSuccessNotify.proto
create mode 100644 protocol/proto/InBattleChessInfo.proto
create mode 100644 protocol/proto/InBattleChessSettleInfo.proto
create mode 100644 protocol/proto/InBattleFleurFairInfo.proto
create mode 100644 protocol/proto/InBattleIrodoriChessSettleInfo.proto
create mode 100644 protocol/proto/InBattleMechanicusBuildingInfo.proto
create mode 100644 protocol/proto/InBattleMechanicusBuildingPointsNotify.proto
create mode 100644 protocol/proto/InBattleMechanicusCardChallengeState.proto
create mode 100644 protocol/proto/InBattleMechanicusCardInfo.proto
create mode 100644 protocol/proto/InBattleMechanicusCardResultNotify.proto
create mode 100644 protocol/proto/InBattleMechanicusConfirmCardNotify.proto
create mode 100644 protocol/proto/InBattleMechanicusConfirmCardReq.proto
create mode 100644 protocol/proto/InBattleMechanicusConfirmCardRsp.proto
create mode 100644 protocol/proto/InBattleMechanicusEscapeMonsterNotify.proto
create mode 100644 protocol/proto/InBattleMechanicusInfo.proto
create mode 100644 protocol/proto/InBattleMechanicusLeftMonsterNotify.proto
create mode 100644 protocol/proto/InBattleMechanicusMonsterInfo.proto
create mode 100644 protocol/proto/InBattleMechanicusPickCardNotify.proto
create mode 100644 protocol/proto/InBattleMechanicusPickCardReq.proto
create mode 100644 protocol/proto/InBattleMechanicusPickCardRsp.proto
create mode 100644 protocol/proto/InBattleMechanicusPlayerInfo.proto
create mode 100644 protocol/proto/InBattleMechanicusSettleInfo.proto
create mode 100644 protocol/proto/InBattleMechanicusSettleNotify.proto
create mode 100644 protocol/proto/InBattleMechanicusStageType.proto
create mode 100644 protocol/proto/InferencePageInfo.proto
create mode 100644 protocol/proto/InfernceWordInfo.proto
create mode 100644 protocol/proto/InstableSprayAvatarInfo.proto
create mode 100644 protocol/proto/InstableSprayDetailInfo.proto
create mode 100644 protocol/proto/InstableSprayEnterDungeonReq.proto
create mode 100644 protocol/proto/InstableSprayEnterDungeonRsp.proto
create mode 100644 protocol/proto/InstableSprayGalleryInfoNotify.proto
create mode 100644 protocol/proto/InstableSprayLevelFinishNotify.proto
create mode 100644 protocol/proto/InstableSprayRestartDungeonReq.proto
create mode 100644 protocol/proto/InstableSprayRestartDungeonRsp.proto
create mode 100644 protocol/proto/InstableSpraySettleInfo.proto
create mode 100644 protocol/proto/InstableSprayStageInfo.proto
create mode 100644 protocol/proto/InstableSpraySwitchTeamReq.proto
create mode 100644 protocol/proto/InstableSpraySwitchTeamRsp.proto
create mode 100644 protocol/proto/InstableSprayTeamInfo.proto
create mode 100644 protocol/proto/InterOpType.proto
create mode 100644 protocol/proto/InteractDailyDungeonInfoNotify.proto
create mode 100644 protocol/proto/InteractType.proto
create mode 100644 protocol/proto/InterpretInferenceWordReq.proto
create mode 100644 protocol/proto/InterpretInferenceWordRsp.proto
create mode 100644 protocol/proto/InterruptGalleryReq.proto
create mode 100644 protocol/proto/InterruptGalleryRsp.proto
create mode 100644 protocol/proto/Investigation.proto
create mode 100644 protocol/proto/InvestigationMonster.proto
create mode 100644 protocol/proto/InvestigationMonsterUpdateNotify.proto
create mode 100644 protocol/proto/InvestigationQuestDailyNotify.proto
create mode 100644 protocol/proto/InvestigationReadQuestDailyNotify.proto
create mode 100644 protocol/proto/InvestigationTarget.proto
create mode 100644 protocol/proto/IrodoriActivityDetailInfo.proto
create mode 100644 protocol/proto/IrodoriChessData.proto
create mode 100644 protocol/proto/IrodoriChessEntranceDetailInfo.proto
create mode 100644 protocol/proto/IrodoriChessEntranceInfo.proto
create mode 100644 protocol/proto/IrodoriChessEquipCardReq.proto
create mode 100644 protocol/proto/IrodoriChessEquipCardRsp.proto
create mode 100644 protocol/proto/IrodoriChessInfo.proto
create mode 100644 protocol/proto/IrodoriChessLeftMonsterNotify.proto
create mode 100644 protocol/proto/IrodoriChessLevelData.proto
create mode 100644 protocol/proto/IrodoriChessMapData.proto
create mode 100644 protocol/proto/IrodoriChessMonsterInfo.proto
create mode 100644 protocol/proto/IrodoriChessMysteryInfo.proto
create mode 100644 protocol/proto/IrodoriChessPlayerInfo.proto
create mode 100644 protocol/proto/IrodoriChessPlayerInfoNotify.proto
create mode 100644 protocol/proto/IrodoriChessUnequipCardReq.proto
create mode 100644 protocol/proto/IrodoriChessUnequipCardRsp.proto
create mode 100644 protocol/proto/IrodoriEditFlowerCombinationReq.proto
create mode 100644 protocol/proto/IrodoriEditFlowerCombinationRsp.proto
create mode 100644 protocol/proto/IrodoriFillPoetryReq.proto
create mode 100644 protocol/proto/IrodoriFillPoetryRsp.proto
create mode 100644 protocol/proto/IrodoriFlowerData.proto
create mode 100644 protocol/proto/IrodoriMasterGalleryCgEndNotify.proto
create mode 100644 protocol/proto/IrodoriMasterGallerySettleInfo.proto
create mode 100644 protocol/proto/IrodoriMasterGallerySettleNotify.proto
create mode 100644 protocol/proto/IrodoriMasterLevelDetailInfo.proto
create mode 100644 protocol/proto/IrodoriMasterLevelInfo.proto
create mode 100644 protocol/proto/IrodoriMasterStartGalleryReq.proto
create mode 100644 protocol/proto/IrodoriMasterStartGalleryRsp.proto
create mode 100644 protocol/proto/IrodoriPoetryData.proto
create mode 100644 protocol/proto/IrodoriPoetryThemeData.proto
create mode 100644 protocol/proto/IrodoriScanEntityReq.proto
create mode 100644 protocol/proto/IrodoriScanEntityRsp.proto
create mode 100644 protocol/proto/IslandPartyDetailInfo.proto
create mode 100644 protocol/proto/IslandPartyGallerySettleInfo.proto
create mode 100644 protocol/proto/IslandPartyRaftInfoNotify.proto
create mode 100644 protocol/proto/IslandPartySailInfoNotify.proto
create mode 100644 protocol/proto/IslandPartySailStage.proto
create mode 100644 protocol/proto/IslandPartySettleNotify.proto
create mode 100644 protocol/proto/IslandPartyStageData.proto
create mode 100644 protocol/proto/Item.proto
create mode 100644 protocol/proto/ItemAddHintNotify.proto
create mode 100644 protocol/proto/ItemCdGroupTimeNotify.proto
create mode 100644 protocol/proto/ItemGivingReq.proto
create mode 100644 protocol/proto/ItemGivingRsp.proto
create mode 100644 protocol/proto/ItemHint.proto
create mode 100644 protocol/proto/ItemParam.proto
create mode 100644 protocol/proto/JigsawPictureData.proto
create mode 100644 protocol/proto/JoinHomeWorldFailNotify.proto
create mode 100644 protocol/proto/JoinPlayerFailNotify.proto
create mode 100644 protocol/proto/JoinPlayerSceneReq.proto
create mode 100644 protocol/proto/JoinPlayerSceneRsp.proto
create mode 100644 protocol/proto/KeepAliveNotify.proto
create mode 100644 protocol/proto/LanguageType.proto
create mode 100644 protocol/proto/LanternProjectionInfo.proto
create mode 100644 protocol/proto/LanternProjectionLevelInfo.proto
create mode 100644 protocol/proto/LanternRiteActivityDetailInfo.proto
create mode 100644 protocol/proto/LanternRiteDoFireworksReformReq.proto
create mode 100644 protocol/proto/LanternRiteDoFireworksReformRsp.proto
create mode 100644 protocol/proto/LanternRiteEndFireworksReformReq.proto
create mode 100644 protocol/proto/LanternRiteEndFireworksReformRsp.proto
create mode 100644 protocol/proto/LanternRiteFireworksChallengeInfo.proto
create mode 100644 protocol/proto/LanternRiteFireworksInfo.proto
create mode 100644 protocol/proto/LanternRiteFireworksReformFactorInfo.proto
create mode 100644 protocol/proto/LanternRiteFireworksReformSkillInfo.proto
create mode 100644 protocol/proto/LanternRiteFireworksStageInfo.proto
create mode 100644 protocol/proto/LanternRiteStartFireworksReformReq.proto
create mode 100644 protocol/proto/LanternRiteStartFireworksReformRsp.proto
create mode 100644 protocol/proto/LanternRiteTakeSkinRewardReq.proto
create mode 100644 protocol/proto/LanternRiteTakeSkinRewardRsp.proto
create mode 100644 protocol/proto/LastPacketPrintNotify.proto
create mode 100644 protocol/proto/LaunchFireworksReq.proto
create mode 100644 protocol/proto/LaunchFireworksRsp.proto
create mode 100644 protocol/proto/LeaveSceneReq.proto
create mode 100644 protocol/proto/LeaveSceneRsp.proto
create mode 100644 protocol/proto/LeaveWorldNotify.proto
create mode 100644 protocol/proto/LevelTagDataNotify.proto
create mode 100644 protocol/proto/LevelupCityReq.proto
create mode 100644 protocol/proto/LevelupCityRsp.proto
create mode 100644 protocol/proto/LifeStateChangeNotify.proto
create mode 100644 protocol/proto/LikeCustomDungeonReq.proto
create mode 100644 protocol/proto/LikeCustomDungeonRsp.proto
create mode 100644 protocol/proto/LiveEndNotify.proto
create mode 100644 protocol/proto/LiveStartNotify.proto
create mode 100644 protocol/proto/LoadActivityTerrainNotify.proto
create mode 100644 protocol/proto/LockedPersonallineData.proto
create mode 100644 protocol/proto/LuaEnvironmentEffectNotify.proto
create mode 100644 protocol/proto/LuaSetOptionNotify.proto
create mode 100644 protocol/proto/LuaShellType.proto
create mode 100644 protocol/proto/LuminanceStoneChallengeActivityDetailInfo.proto
create mode 100644 protocol/proto/LuminanceStoneChallengeGallerySettleInfo.proto
create mode 100644 protocol/proto/LuminanceStoneChallengeSettleInfo.proto
create mode 100644 protocol/proto/LuminanceStoneChallengeSettleNotify.proto
create mode 100644 protocol/proto/LunaRiteAreaFinishNotify.proto
create mode 100644 protocol/proto/LunaRiteAreaInfo.proto
create mode 100644 protocol/proto/LunaRiteDetailInfo.proto
create mode 100644 protocol/proto/LunaRiteGroupBundleRegisterNotify.proto
create mode 100644 protocol/proto/LunaRiteHintPoint.proto
create mode 100644 protocol/proto/LunaRiteHintPointRemoveNotify.proto
create mode 100644 protocol/proto/LunaRiteHintPointReq.proto
create mode 100644 protocol/proto/LunaRiteHintPointRsp.proto
create mode 100644 protocol/proto/LunaRiteHintPointType.proto
create mode 100644 protocol/proto/LunaRiteHintStatusType.proto
create mode 100644 protocol/proto/LunaRiteSacrificeReq.proto
create mode 100644 protocol/proto/LunaRiteSacrificeRsp.proto
create mode 100644 protocol/proto/LunaRiteTakeSacrificeRewardReq.proto
create mode 100644 protocol/proto/LunaRiteTakeSacrificeRewardRsp.proto
create mode 100644 protocol/proto/LunchBoxData.proto
create mode 100644 protocol/proto/MPLevelEntityInfo.proto
create mode 100644 protocol/proto/MailChangeNotify.proto
create mode 100644 protocol/proto/MailCollectState.proto
create mode 100644 protocol/proto/MailData.proto
create mode 100644 protocol/proto/MailItem.proto
create mode 100644 protocol/proto/MailTextContent.proto
create mode 100644 protocol/proto/MainCoop.proto
create mode 100644 protocol/proto/MainCoopFailNotify.proto
create mode 100644 protocol/proto/MainCoopUpdateNotify.proto
create mode 100644 protocol/proto/MapAreaChangeNotify.proto
create mode 100644 protocol/proto/MapAreaInfo.proto
create mode 100644 protocol/proto/MapInfo.proto
create mode 100644 protocol/proto/MapMarkFromType.proto
create mode 100644 protocol/proto/MapMarkPoint.proto
create mode 100644 protocol/proto/MapMarkPointType.proto
create mode 100644 protocol/proto/MapMarkTipsInfo.proto
create mode 100644 protocol/proto/MapMarkTipsType.proto
create mode 100644 protocol/proto/MarkEntityInMinMapNotify.proto
create mode 100644 protocol/proto/MarkMapReq.proto
create mode 100644 protocol/proto/MarkMapRsp.proto
create mode 100644 protocol/proto/MarkNewNotify.proto
create mode 100644 protocol/proto/MarkTargetInvestigationMonsterNotify.proto
create mode 100644 protocol/proto/MassiveBoxInfo.proto
create mode 100644 protocol/proto/MassiveEntityElementOpBatchNotify.proto
create mode 100644 protocol/proto/MassiveEntityState.proto
create mode 100644 protocol/proto/MassiveEntityStateChangedNotify.proto
create mode 100644 protocol/proto/MassiveGrassInfo.proto
create mode 100644 protocol/proto/MassivePropParam.proto
create mode 100644 protocol/proto/MassivePropSyncInfo.proto
create mode 100644 protocol/proto/MassiveWaterInfo.proto
create mode 100644 protocol/proto/MatchPlayerInfo.proto
create mode 100644 protocol/proto/MatchReason.proto
create mode 100644 protocol/proto/MatchType.proto
create mode 100644 protocol/proto/Material.proto
create mode 100644 protocol/proto/MaterialDeleteInfo.proto
create mode 100644 protocol/proto/MaterialDeleteReturnNotify.proto
create mode 100644 protocol/proto/MaterialDeleteReturnType.proto
create mode 100644 protocol/proto/MaterialDeleteUpdateNotify.proto
create mode 100644 protocol/proto/MaterialInfo.proto
create mode 100644 protocol/proto/MathQuaternion.proto
create mode 100644 protocol/proto/McoinExchangeHcoinReq.proto
create mode 100644 protocol/proto/McoinExchangeHcoinRsp.proto
create mode 100644 protocol/proto/MechanicusCandidateTeamCreateReq.proto
create mode 100644 protocol/proto/MechanicusCandidateTeamCreateRsp.proto
create mode 100644 protocol/proto/MechanicusCloseNotify.proto
create mode 100644 protocol/proto/MechanicusCoinNotify.proto
create mode 100644 protocol/proto/MechanicusInfo.proto
create mode 100644 protocol/proto/MechanicusLevelupGearReq.proto
create mode 100644 protocol/proto/MechanicusLevelupGearRsp.proto
create mode 100644 protocol/proto/MechanicusOpenNotify.proto
create mode 100644 protocol/proto/MechanicusSequenceOpenNotify.proto
create mode 100644 protocol/proto/MechanicusUnlockGearReq.proto
create mode 100644 protocol/proto/MechanicusUnlockGearRsp.proto
create mode 100644 protocol/proto/MeetNpcReq.proto
create mode 100644 protocol/proto/MeetNpcRsp.proto
create mode 100644 protocol/proto/MetNpcIdListNotify.proto
create mode 100644 protocol/proto/MichiaeMatsuriActivityDetailInfo.proto
create mode 100644 protocol/proto/MichiaeMatsuriChallengePositionInfo.proto
create mode 100644 protocol/proto/MichiaeMatsuriChestPositionInfo.proto
create mode 100644 protocol/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto
create mode 100644 protocol/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto
create mode 100644 protocol/proto/MichiaeMatsuriInteractStatueReq.proto
create mode 100644 protocol/proto/MichiaeMatsuriInteractStatueRsp.proto
create mode 100644 protocol/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto
create mode 100644 protocol/proto/MichiaeMatsuriRemoveChestMarkNotify.proto
create mode 100644 protocol/proto/MichiaeMatsuriStage.proto
create mode 100644 protocol/proto/MichiaeMatsuriStartBossChallengeReq.proto
create mode 100644 protocol/proto/MichiaeMatsuriStartBossChallengeRsp.proto
create mode 100644 protocol/proto/MichiaeMatsuriStartDarkChallengeReq.proto
create mode 100644 protocol/proto/MichiaeMatsuriStartDarkChallengeRsp.proto
create mode 100644 protocol/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto
create mode 100644 protocol/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto
create mode 100644 protocol/proto/MiracleRingDataNotify.proto
create mode 100644 protocol/proto/MiracleRingDeliverItemReq.proto
create mode 100644 protocol/proto/MiracleRingDeliverItemRsp.proto
create mode 100644 protocol/proto/MiracleRingDestroyNotify.proto
create mode 100644 protocol/proto/MiracleRingDropResultNotify.proto
create mode 100644 protocol/proto/MiracleRingTakeRewardReq.proto
create mode 100644 protocol/proto/MiracleRingTakeRewardRsp.proto
create mode 100644 protocol/proto/MistTrialActivityDetailInfo.proto
create mode 100644 protocol/proto/MistTrialDunegonFailNotify.proto
create mode 100644 protocol/proto/MistTrialGetChallengeMissionReq.proto
create mode 100644 protocol/proto/MistTrialGetChallengeMissionRsp.proto
create mode 100644 protocol/proto/MistTrialGetDungeonExhibitionDataReq.proto
create mode 100644 protocol/proto/MistTrialGetDungeonExhibitionDataRsp.proto
create mode 100644 protocol/proto/MistTrialLevelData.proto
create mode 100644 protocol/proto/MistTrialMissionInfo.proto
create mode 100644 protocol/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto
create mode 100644 protocol/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto
create mode 100644 protocol/proto/MistTrialSettleNotify.proto
create mode 100644 protocol/proto/ModifierAction.proto
create mode 100644 protocol/proto/ModifierDurability.proto
create mode 100644 protocol/proto/ModifierProperty.proto
create mode 100644 protocol/proto/MonsterAIConfigHashNotify.proto
create mode 100644 protocol/proto/MonsterAlertChangeNotify.proto
create mode 100644 protocol/proto/MonsterBornType.proto
create mode 100644 protocol/proto/MonsterForceAlertNotify.proto
create mode 100644 protocol/proto/MonsterPointArrayRouteUpdateNotify.proto
create mode 100644 protocol/proto/MonsterRoute.proto
create mode 100644 protocol/proto/MonsterSummonTagNotify.proto
create mode 100644 protocol/proto/MoonfinTrialActivityDetailInfo.proto
create mode 100644 protocol/proto/MoonfinTrialLevelInfo.proto
create mode 100644 protocol/proto/MotionInfo.proto
create mode 100644 protocol/proto/MotionState.proto
create mode 100644 protocol/proto/MovingPlatformType.proto
create mode 100644 protocol/proto/MpBlockNotify.proto
create mode 100644 protocol/proto/MpPlayGuestReplyInviteReq.proto
create mode 100644 protocol/proto/MpPlayGuestReplyInviteRsp.proto
create mode 100644 protocol/proto/MpPlayGuestReplyNotify.proto
create mode 100644 protocol/proto/MpPlayInviteResultNotify.proto
create mode 100644 protocol/proto/MpPlayOwnerCheckReq.proto
create mode 100644 protocol/proto/MpPlayOwnerCheckRsp.proto
create mode 100644 protocol/proto/MpPlayOwnerInviteNotify.proto
create mode 100644 protocol/proto/MpPlayOwnerStartInviteReq.proto
create mode 100644 protocol/proto/MpPlayOwnerStartInviteRsp.proto
create mode 100644 protocol/proto/MpPlayPrepareInterruptNotify.proto
create mode 100644 protocol/proto/MpPlayPrepareNotify.proto
create mode 100644 protocol/proto/MpPlayRewardInfo.proto
create mode 100644 protocol/proto/MpSettingType.proto
create mode 100644 protocol/proto/MsgParam.proto
create mode 100644 protocol/proto/MultistagePlayEndNotify.proto
create mode 100644 protocol/proto/MultistagePlayFinishStageReq.proto
create mode 100644 protocol/proto/MultistagePlayFinishStageRsp.proto
create mode 100644 protocol/proto/MultistagePlayInfo.proto
create mode 100644 protocol/proto/MultistagePlayInfoNotify.proto
create mode 100644 protocol/proto/MultistagePlaySettleNotify.proto
create mode 100644 protocol/proto/MultistagePlayStageEndNotify.proto
create mode 100644 protocol/proto/MultistageSettleWatcherInfo.proto
create mode 100644 protocol/proto/MuqadasPotionActivityDetailInfo.proto
create mode 100644 protocol/proto/MuqadasPotionActivityEnterDungeonReq.proto
create mode 100644 protocol/proto/MuqadasPotionActivityEnterDungeonRsp.proto
create mode 100644 protocol/proto/MuqadasPotionCaptureWeaknessReq.proto
create mode 100644 protocol/proto/MuqadasPotionCaptureWeaknessRsp.proto
create mode 100644 protocol/proto/MuqadasPotionDungeonSettleNotify.proto
create mode 100644 protocol/proto/MuqadasPotionLevelData.proto
create mode 100644 protocol/proto/MuqadasPotionRestartDungeonReq.proto
create mode 100644 protocol/proto/MuqadasPotionRestartDungeonRsp.proto
create mode 100644 protocol/proto/MusicGameActivityDetailInfo.proto
create mode 100644 protocol/proto/MusicGameRecord.proto
create mode 100644 protocol/proto/MusicGameSettleReq.proto
create mode 100644 protocol/proto/MusicGameSettleRsp.proto
create mode 100644 protocol/proto/MusicGameStartReq.proto
create mode 100644 protocol/proto/MusicGameStartRsp.proto
create mode 100644 protocol/proto/NavMeshStatsNotify.proto
create mode 100644 protocol/proto/NicknameAuditConfigNotify.proto
create mode 100644 protocol/proto/NicknameSignatureAuditData.proto
create mode 100644 protocol/proto/NightCrowGadgetInfo.proto
create mode 100644 protocol/proto/NightCrowGadgetObservationMatchReq.proto
create mode 100644 protocol/proto/NightCrowGadgetObservationMatchRsp.proto
create mode 100644 protocol/proto/NormalUidOpNotify.proto
create mode 100644 protocol/proto/NpcPositionInfo.proto
create mode 100644 protocol/proto/NpcTalkReq.proto
create mode 100644 protocol/proto/NpcTalkRsp.proto
create mode 100644 protocol/proto/NpcTalkStateNotify.proto
create mode 100644 protocol/proto/NullMsg.proto
create mode 100644 protocol/proto/ObstacleInfo.proto
create mode 100644 protocol/proto/ObstacleModifyNotify.proto
create mode 100644 protocol/proto/OfferingInfo.proto
create mode 100644 protocol/proto/OfferingInteractReq.proto
create mode 100644 protocol/proto/OfferingInteractRsp.proto
create mode 100644 protocol/proto/OfficialCustomDungeon.proto
create mode 100644 protocol/proto/OneofGatherPointDetectorData.proto
create mode 100644 protocol/proto/OneofGatherPointDetectorDataNotify.proto
create mode 100644 protocol/proto/OnlinePlayerInfo.proto
create mode 100644 protocol/proto/OpActivityDataNotify.proto
create mode 100644 protocol/proto/OpActivityInfo.proto
create mode 100644 protocol/proto/OpActivityStateNotify.proto
create mode 100644 protocol/proto/OpActivityTagBriefInfo.proto
create mode 100644 protocol/proto/OpActivityUpdateNotify.proto
create mode 100644 protocol/proto/OpenBlossomCircleCampGuideNotify.proto
create mode 100644 protocol/proto/OpenStateChangeNotify.proto
create mode 100644 protocol/proto/OpenStateUpdateNotify.proto
create mode 100644 protocol/proto/OrderDisplayNotify.proto
create mode 100644 protocol/proto/OrderFinishNotify.proto
create mode 100644 protocol/proto/OtherCustomDungeonBrief.proto
create mode 100644 protocol/proto/OtherPlayerEnterHomeNotify.proto
create mode 100644 protocol/proto/OutStuckCustomDungeonReq.proto
create mode 100644 protocol/proto/OutStuckCustomDungeonRsp.proto
create mode 100644 protocol/proto/PBNavMeshPoly.proto
create mode 100644 protocol/proto/PBNavMeshTile.proto
create mode 100644 protocol/proto/PSNBlackListNotify.proto
create mode 100644 protocol/proto/PSNFriendListNotify.proto
create mode 100644 protocol/proto/PSPlayerApplyEnterMpReq.proto
create mode 100644 protocol/proto/PSPlayerApplyEnterMpRsp.proto
create mode 100644 protocol/proto/PacketHead.proto
create mode 100644 protocol/proto/ParamList.proto
create mode 100644 protocol/proto/ParentQuest.proto
create mode 100644 protocol/proto/ParentQuestInferenceDataNotify.proto
create mode 100644 protocol/proto/ParentQuestRandomInfo.proto
create mode 100644 protocol/proto/ParkourLevelInfo.proto
create mode 100644 protocol/proto/PathfindingEnterSceneReq.proto
create mode 100644 protocol/proto/PathfindingEnterSceneRsp.proto
create mode 100644 protocol/proto/PathfindingPingNotify.proto
create mode 100644 protocol/proto/PbNavMeshStatsInfo.proto
create mode 100644 protocol/proto/PersistentDungeonSwitchAvatarReq.proto
create mode 100644 protocol/proto/PersistentDungeonSwitchAvatarRsp.proto
create mode 100644 protocol/proto/PersonalLineAllDataReq.proto
create mode 100644 protocol/proto/PersonalLineAllDataRsp.proto
create mode 100644 protocol/proto/PersonalLineNewUnlockNotify.proto
create mode 100644 protocol/proto/PersonalSceneJumpReq.proto
create mode 100644 protocol/proto/PersonalSceneJumpRsp.proto
create mode 100644 protocol/proto/PhotoActivityClientViewReq.proto
create mode 100644 protocol/proto/PhotoActivityClientViewRsp.proto
create mode 100644 protocol/proto/PhotoActivityDetailInfo.proto
create mode 100644 protocol/proto/PhotoActivityFinishReq.proto
create mode 100644 protocol/proto/PhotoActivityFinishRsp.proto
create mode 100644 protocol/proto/PhotoGallerySettleInfo.proto
create mode 100644 protocol/proto/PhotoPosData.proto
create mode 100644 protocol/proto/PingReq.proto
create mode 100644 protocol/proto/PingRsp.proto
create mode 100644 protocol/proto/PlaceInfo.proto
create mode 100644 protocol/proto/PlantFlowerAcceptAllGiveFlowerReq.proto
create mode 100644 protocol/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto
create mode 100644 protocol/proto/PlantFlowerAcceptFlowerResultInfo.proto
create mode 100644 protocol/proto/PlantFlowerAcceptGiveFlowerReq.proto
create mode 100644 protocol/proto/PlantFlowerAcceptGiveFlowerRsp.proto
create mode 100644 protocol/proto/PlantFlowerActivityDetailInfo.proto
create mode 100644 protocol/proto/PlantFlowerEditFlowerCombinationReq.proto
create mode 100644 protocol/proto/PlantFlowerEditFlowerCombinationRsp.proto
create mode 100644 protocol/proto/PlantFlowerFriendFlowerWishData.proto
create mode 100644 protocol/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto
create mode 100644 protocol/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto
create mode 100644 protocol/proto/PlantFlowerGetFriendFlowerWishListReq.proto
create mode 100644 protocol/proto/PlantFlowerGetFriendFlowerWishListRsp.proto
create mode 100644 protocol/proto/PlantFlowerGetRecvFlowerListReq.proto
create mode 100644 protocol/proto/PlantFlowerGetRecvFlowerListRsp.proto
create mode 100644 protocol/proto/PlantFlowerGetSeedInfoReq.proto
create mode 100644 protocol/proto/PlantFlowerGetSeedInfoRsp.proto
create mode 100644 protocol/proto/PlantFlowerGiveFriendFlowerReq.proto
create mode 100644 protocol/proto/PlantFlowerGiveFriendFlowerRsp.proto
create mode 100644 protocol/proto/PlantFlowerHaveRecvFlowerNotify.proto
create mode 100644 protocol/proto/PlantFlowerRecvFlowerData.proto
create mode 100644 protocol/proto/PlantFlowerSetFlowerWishReq.proto
create mode 100644 protocol/proto/PlantFlowerSetFlowerWishRsp.proto
create mode 100644 protocol/proto/PlantFlowerTakeSeedRewardReq.proto
create mode 100644 protocol/proto/PlantFlowerTakeSeedRewardRsp.proto
create mode 100644 protocol/proto/PlatformChangeRouteNotify.proto
create mode 100644 protocol/proto/PlatformInfo.proto
create mode 100644 protocol/proto/PlatformStartRouteNotify.proto
create mode 100644 protocol/proto/PlatformStopRouteNotify.proto
create mode 100644 protocol/proto/PlatformType.proto
create mode 100644 protocol/proto/PlayProduct.proto
create mode 100644 protocol/proto/PlayTeamEntityInfo.proto
create mode 100644 protocol/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto
create mode 100644 protocol/proto/PlayerApplyEnterHomeNotify.proto
create mode 100644 protocol/proto/PlayerApplyEnterHomeResultNotify.proto
create mode 100644 protocol/proto/PlayerApplyEnterHomeResultReq.proto
create mode 100644 protocol/proto/PlayerApplyEnterHomeResultRsp.proto
create mode 100644 protocol/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto
create mode 100644 protocol/proto/PlayerApplyEnterMpNotify.proto
create mode 100644 protocol/proto/PlayerApplyEnterMpReq.proto
create mode 100644 protocol/proto/PlayerApplyEnterMpResultNotify.proto
create mode 100644 protocol/proto/PlayerApplyEnterMpResultReq.proto
create mode 100644 protocol/proto/PlayerApplyEnterMpResultRsp.proto
create mode 100644 protocol/proto/PlayerApplyEnterMpRsp.proto
create mode 100644 protocol/proto/PlayerCancelMatchReq.proto
create mode 100644 protocol/proto/PlayerCancelMatchRsp.proto
create mode 100644 protocol/proto/PlayerChatCDNotify.proto
create mode 100644 protocol/proto/PlayerChatNotify.proto
create mode 100644 protocol/proto/PlayerChatReq.proto
create mode 100644 protocol/proto/PlayerChatRsp.proto
create mode 100644 protocol/proto/PlayerCompoundMaterialBoostReq.proto
create mode 100644 protocol/proto/PlayerCompoundMaterialBoostRsp.proto
create mode 100644 protocol/proto/PlayerCompoundMaterialReq.proto
create mode 100644 protocol/proto/PlayerCompoundMaterialRsp.proto
create mode 100644 protocol/proto/PlayerConfirmMatchReq.proto
create mode 100644 protocol/proto/PlayerConfirmMatchRsp.proto
create mode 100644 protocol/proto/PlayerCookArgsReq.proto
create mode 100644 protocol/proto/PlayerCookArgsRsp.proto
create mode 100644 protocol/proto/PlayerCookReq.proto
create mode 100644 protocol/proto/PlayerCookRsp.proto
create mode 100644 protocol/proto/PlayerCustomDungeonMuipData.proto
create mode 100644 protocol/proto/PlayerDataNotify.proto
create mode 100644 protocol/proto/PlayerDeathZoneNotify.proto
create mode 100644 protocol/proto/PlayerDieOption.proto
create mode 100644 protocol/proto/PlayerDieType.proto
create mode 100644 protocol/proto/PlayerEnterDungeonReq.proto
create mode 100644 protocol/proto/PlayerEnterDungeonRsp.proto
create mode 100644 protocol/proto/PlayerEnterSceneInfoNotify.proto
create mode 100644 protocol/proto/PlayerEnterSceneNotify.proto
create mode 100644 protocol/proto/PlayerEyePointStateNotify.proto
create mode 100644 protocol/proto/PlayerFishingDataNotify.proto
create mode 100644 protocol/proto/PlayerForceExitReq.proto
create mode 100644 protocol/proto/PlayerForceExitRsp.proto
create mode 100644 protocol/proto/PlayerGCGMatchConfirmNotify.proto
create mode 100644 protocol/proto/PlayerGCGMatchDismissNotify.proto
create mode 100644 protocol/proto/PlayerGameTimeNotify.proto
create mode 100644 protocol/proto/PlayerGeneralMatchConfirmNotify.proto
create mode 100644 protocol/proto/PlayerGeneralMatchDismissNotify.proto
create mode 100644 protocol/proto/PlayerGetForceQuitBanInfoReq.proto
create mode 100644 protocol/proto/PlayerGetForceQuitBanInfoRsp.proto
create mode 100644 protocol/proto/PlayerHomeCompInfo.proto
create mode 100644 protocol/proto/PlayerHomeCompInfoNotify.proto
create mode 100644 protocol/proto/PlayerInjectFixNotify.proto
create mode 100644 protocol/proto/PlayerInvestigationAllInfoNotify.proto
create mode 100644 protocol/proto/PlayerInvestigationNotify.proto
create mode 100644 protocol/proto/PlayerInvestigationTargetNotify.proto
create mode 100644 protocol/proto/PlayerLevelRewardUpdateNotify.proto
create mode 100644 protocol/proto/PlayerLocationInfo.proto
create mode 100644 protocol/proto/PlayerLoginReq.proto
create mode 100644 protocol/proto/PlayerLoginRsp.proto
create mode 100644 protocol/proto/PlayerLogoutNotify.proto
create mode 100644 protocol/proto/PlayerLogoutReq.proto
create mode 100644 protocol/proto/PlayerLogoutRsp.proto
create mode 100644 protocol/proto/PlayerLuaShellNotify.proto
create mode 100644 protocol/proto/PlayerMatchAgreedResultNotify.proto
create mode 100644 protocol/proto/PlayerMatchInfoNotify.proto
create mode 100644 protocol/proto/PlayerMatchStopNotify.proto
create mode 100644 protocol/proto/PlayerMatchSuccNotify.proto
create mode 100644 protocol/proto/PlayerNicknameAuditDataNotify.proto
create mode 100644 protocol/proto/PlayerNicknameNotify.proto
create mode 100644 protocol/proto/PlayerOfferingData.proto
create mode 100644 protocol/proto/PlayerOfferingDataNotify.proto
create mode 100644 protocol/proto/PlayerOfferingReq.proto
create mode 100644 protocol/proto/PlayerOfferingRsp.proto
create mode 100644 protocol/proto/PlayerPreEnterMpNotify.proto
create mode 100644 protocol/proto/PlayerPropChangeNotify.proto
create mode 100644 protocol/proto/PlayerPropChangeReasonNotify.proto
create mode 100644 protocol/proto/PlayerPropNotify.proto
create mode 100644 protocol/proto/PlayerQuitDungeonReq.proto
create mode 100644 protocol/proto/PlayerQuitDungeonRsp.proto
create mode 100644 protocol/proto/PlayerQuitFromHomeNotify.proto
create mode 100644 protocol/proto/PlayerQuitFromMpNotify.proto
create mode 100644 protocol/proto/PlayerRTTInfo.proto
create mode 100644 protocol/proto/PlayerRandomCookReq.proto
create mode 100644 protocol/proto/PlayerRandomCookRsp.proto
create mode 100644 protocol/proto/PlayerRechargeDataNotify.proto
create mode 100644 protocol/proto/PlayerReportReq.proto
create mode 100644 protocol/proto/PlayerReportRsp.proto
create mode 100644 protocol/proto/PlayerRoutineDataNotify.proto
create mode 100644 protocol/proto/PlayerRoutineInfo.proto
create mode 100644 protocol/proto/PlayerSetLanguageReq.proto
create mode 100644 protocol/proto/PlayerSetLanguageRsp.proto
create mode 100644 protocol/proto/PlayerSetOnlyMPWithPSPlayerReq.proto
create mode 100644 protocol/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto
create mode 100644 protocol/proto/PlayerSetPauseReq.proto
create mode 100644 protocol/proto/PlayerSetPauseRsp.proto
create mode 100644 protocol/proto/PlayerSignatureAuditDataNotify.proto
create mode 100644 protocol/proto/PlayerSignatureNotify.proto
create mode 100644 protocol/proto/PlayerStartMatchReq.proto
create mode 100644 protocol/proto/PlayerStartMatchRsp.proto
create mode 100644 protocol/proto/PlayerStoreNotify.proto
create mode 100644 protocol/proto/PlayerTimeNotify.proto
create mode 100644 protocol/proto/PlayerUidExtInfo.proto
create mode 100644 protocol/proto/PlayerWidgetInfo.proto
create mode 100644 protocol/proto/PlayerWorldLocationInfo.proto
create mode 100644 protocol/proto/PlayerWorldSceneInfo.proto
create mode 100644 protocol/proto/PlayerWorldSceneInfoListNotify.proto
create mode 100644 protocol/proto/PolygonRegionSize.proto
create mode 100644 protocol/proto/PostEnterSceneReq.proto
create mode 100644 protocol/proto/PostEnterSceneRsp.proto
create mode 100644 protocol/proto/PotionActivityDetailInfo.proto
create mode 100644 protocol/proto/PotionAvatarInfo.proto
create mode 100644 protocol/proto/PotionDungeonAvatar.proto
create mode 100644 protocol/proto/PotionDungeonResultInfo.proto
create mode 100644 protocol/proto/PotionEnterDungeonNotify.proto
create mode 100644 protocol/proto/PotionEnterDungeonReq.proto
create mode 100644 protocol/proto/PotionEnterDungeonRsp.proto
create mode 100644 protocol/proto/PotionLevelData.proto
create mode 100644 protocol/proto/PotionResetChallengeReq.proto
create mode 100644 protocol/proto/PotionResetChallengeRsp.proto
create mode 100644 protocol/proto/PotionRestartDungeonReq.proto
create mode 100644 protocol/proto/PotionRestartDungeonRsp.proto
create mode 100644 protocol/proto/PotionSaveDungeonResultReq.proto
create mode 100644 protocol/proto/PotionSaveDungeonResultRsp.proto
create mode 100644 protocol/proto/PotionStageData.proto
create mode 100644 protocol/proto/PrivateChatNotify.proto
create mode 100644 protocol/proto/PrivateChatReq.proto
create mode 100644 protocol/proto/PrivateChatRsp.proto
create mode 100644 protocol/proto/ProductPriceTier.proto
create mode 100644 protocol/proto/ProfilePicture.proto
create mode 100644 protocol/proto/ProfilePictureChangeNotify.proto
create mode 100644 protocol/proto/ProjectorOptionReq.proto
create mode 100644 protocol/proto/ProjectorOptionRsp.proto
create mode 100644 protocol/proto/PropChangeReason.proto
create mode 100644 protocol/proto/PropPair.proto
create mode 100644 protocol/proto/PropValue.proto
create mode 100644 protocol/proto/ProtEntityType.proto
create mode 100644 protocol/proto/ProudSkillChangeNotify.proto
create mode 100644 protocol/proto/ProudSkillExtraLevelNotify.proto
create mode 100644 protocol/proto/ProudSkillUpgradeReq.proto
create mode 100644 protocol/proto/ProudSkillUpgradeRsp.proto
create mode 100644 protocol/proto/PublishCustomDungeonReq.proto
create mode 100644 protocol/proto/PublishCustomDungeonRsp.proto
create mode 100644 protocol/proto/PublishUgcReq.proto
create mode 100644 protocol/proto/PublishUgcRsp.proto
create mode 100644 protocol/proto/PullPrivateChatReq.proto
create mode 100644 protocol/proto/PullPrivateChatRsp.proto
create mode 100644 protocol/proto/PullRecentChatReq.proto
create mode 100644 protocol/proto/PullRecentChatRsp.proto
create mode 100644 protocol/proto/PushTipsAllDataNotify.proto
create mode 100644 protocol/proto/PushTipsChangeNotify.proto
create mode 100644 protocol/proto/PushTipsData.proto
create mode 100644 protocol/proto/PushTipsReadFinishReq.proto
create mode 100644 protocol/proto/PushTipsReadFinishRsp.proto
create mode 100644 protocol/proto/QueryCodexMonsterBeKilledNumReq.proto
create mode 100644 protocol/proto/QueryCodexMonsterBeKilledNumRsp.proto
create mode 100644 protocol/proto/QueryCurrRegionHttpRsp.proto
create mode 100644 protocol/proto/QueryFilter.proto
create mode 100644 protocol/proto/QueryPathReq.proto
create mode 100644 protocol/proto/QueryPathRsp.proto
create mode 100644 protocol/proto/QueryRegionListHttpRsp.proto
create mode 100644 protocol/proto/Quest.proto
create mode 100644 protocol/proto/QuestCreateEntityReq.proto
create mode 100644 protocol/proto/QuestCreateEntityRsp.proto
create mode 100644 protocol/proto/QuestDelNotify.proto
create mode 100644 protocol/proto/QuestDestroyEntityReq.proto
create mode 100644 protocol/proto/QuestDestroyEntityRsp.proto
create mode 100644 protocol/proto/QuestDestroyNpcReq.proto
create mode 100644 protocol/proto/QuestDestroyNpcRsp.proto
create mode 100644 protocol/proto/QuestGlobalVar.proto
create mode 100644 protocol/proto/QuestGlobalVarNotify.proto
create mode 100644 protocol/proto/QuestListNotify.proto
create mode 100644 protocol/proto/QuestListUpdateNotify.proto
create mode 100644 protocol/proto/QuestProgressUpdateNotify.proto
create mode 100644 protocol/proto/QuestTransmitReq.proto
create mode 100644 protocol/proto/QuestTransmitRsp.proto
create mode 100644 protocol/proto/QuestUpdateQuestTimeVarNotify.proto
create mode 100644 protocol/proto/QuestUpdateQuestVarNotify.proto
create mode 100644 protocol/proto/QuestUpdateQuestVarReq.proto
create mode 100644 protocol/proto/QuestUpdateQuestVarRsp.proto
create mode 100644 protocol/proto/QuestVarOp.proto
create mode 100644 protocol/proto/QuickOpenActivityReq.proto
create mode 100644 protocol/proto/QuickOpenActivityRsp.proto
create mode 100644 protocol/proto/QuickUseWidgetReq.proto
create mode 100644 protocol/proto/QuickUseWidgetRsp.proto
create mode 100644 protocol/proto/RacingGallerySettleInfo.proto
create mode 100644 protocol/proto/ReadMailNotify.proto
create mode 100644 protocol/proto/ReadNicknameAuditReq.proto
create mode 100644 protocol/proto/ReadNicknameAuditRsp.proto
create mode 100644 protocol/proto/ReadPrivateChatReq.proto
create mode 100644 protocol/proto/ReadPrivateChatRsp.proto
create mode 100644 protocol/proto/ReadSignatureAuditReq.proto
create mode 100644 protocol/proto/ReadSignatureAuditRsp.proto
create mode 100644 protocol/proto/ReceivedTrialAvatarActivityRewardReq.proto
create mode 100644 protocol/proto/ReceivedTrialAvatarActivityRewardRsp.proto
create mode 100644 protocol/proto/RechargeReq.proto
create mode 100644 protocol/proto/RechargeRsp.proto
create mode 100644 protocol/proto/RecordUsage.proto
create mode 100644 protocol/proto/RedPointData.proto
create mode 100644 protocol/proto/RedeemLegendaryKeyReq.proto
create mode 100644 protocol/proto/RedeemLegendaryKeyRsp.proto
create mode 100644 protocol/proto/ReformFireworksReq.proto
create mode 100644 protocol/proto/ReformFireworksRsp.proto
create mode 100644 protocol/proto/RefreshBackgroundAvatarReq.proto
create mode 100644 protocol/proto/RefreshBackgroundAvatarRsp.proto
create mode 100644 protocol/proto/RefreshEntityAuthNotify.proto
create mode 100644 protocol/proto/RefreshRogueDiaryCardReq.proto
create mode 100644 protocol/proto/RefreshRogueDiaryCardRsp.proto
create mode 100644 protocol/proto/RefreshRoguelikeDungeonCardReq.proto
create mode 100644 protocol/proto/RefreshRoguelikeDungeonCardRsp.proto
create mode 100644 protocol/proto/RegionInfo.proto
create mode 100644 protocol/proto/RegionSearch.proto
create mode 100644 protocol/proto/RegionSearchChangeRegionNotify.proto
create mode 100644 protocol/proto/RegionSearchInfo.proto
create mode 100644 protocol/proto/RegionSearchNotify.proto
create mode 100644 protocol/proto/RegionSearchState.proto
create mode 100644 protocol/proto/RegionSimpleInfo.proto
create mode 100644 protocol/proto/RegionalPlayInfoNotify.proto
create mode 100644 protocol/proto/RegionalPlayVar.proto
create mode 100644 protocol/proto/Reliquary.proto
create mode 100644 protocol/proto/ReliquaryDecomposeReq.proto
create mode 100644 protocol/proto/ReliquaryDecomposeRsp.proto
create mode 100644 protocol/proto/ReliquaryPromoteReq.proto
create mode 100644 protocol/proto/ReliquaryPromoteRsp.proto
create mode 100644 protocol/proto/ReliquaryUpgradeReq.proto
create mode 100644 protocol/proto/ReliquaryUpgradeRsp.proto
create mode 100644 protocol/proto/RemotePlayerWidgetNotify.proto
create mode 100644 protocol/proto/RemoveBlacklistReq.proto
create mode 100644 protocol/proto/RemoveBlacklistRsp.proto
create mode 100644 protocol/proto/RemoveCustomDungeonReq.proto
create mode 100644 protocol/proto/RemoveCustomDungeonRsp.proto
create mode 100644 protocol/proto/RemoveRandTaskInfoNotify.proto
create mode 100644 protocol/proto/ReplayCustomDungeonReq.proto
create mode 100644 protocol/proto/ReplayCustomDungeonRsp.proto
create mode 100644 protocol/proto/ReportFightAntiCheatNotify.proto
create mode 100644 protocol/proto/ReportReasonType.proto
create mode 100644 protocol/proto/ReportTrackingIOInfoNotify.proto
create mode 100644 protocol/proto/RequestLiveInfoReq.proto
create mode 100644 protocol/proto/RequestLiveInfoRsp.proto
create mode 100644 protocol/proto/ResVersionConfig.proto
create mode 100644 protocol/proto/ReserveRogueDiaryAvatarReq.proto
create mode 100644 protocol/proto/ReserveRogueDiaryAvatarRsp.proto
create mode 100644 protocol/proto/ResetRogueDiaryPlayReq.proto
create mode 100644 protocol/proto/ResetRogueDiaryPlayRsp.proto
create mode 100644 protocol/proto/ResinCardData.proto
create mode 100644 protocol/proto/ResinCardDataUpdateNotify.proto
create mode 100644 protocol/proto/ResinChangeNotify.proto
create mode 100644 protocol/proto/ResinCostType.proto
create mode 100644 protocol/proto/RestartEffigyChallengeReq.proto
create mode 100644 protocol/proto/RestartEffigyChallengeRsp.proto
create mode 100644 protocol/proto/ResumeRogueDiaryDungeonReq.proto
create mode 100644 protocol/proto/ResumeRogueDiaryDungeonRsp.proto
create mode 100644 protocol/proto/Retcode.proto
create mode 100644 protocol/proto/RetryCurRogueDiaryDungeonReq.proto
create mode 100644 protocol/proto/RetryCurRogueDiaryDungeonRsp.proto
create mode 100644 protocol/proto/ReunionActivateNotify.proto
create mode 100644 protocol/proto/ReunionBriefInfo.proto
create mode 100644 protocol/proto/ReunionBriefInfoReq.proto
create mode 100644 protocol/proto/ReunionBriefInfoRsp.proto
create mode 100644 protocol/proto/ReunionDailyRefreshNotify.proto
create mode 100644 protocol/proto/ReunionMissionInfo.proto
create mode 100644 protocol/proto/ReunionPrivilegeChangeNotify.proto
create mode 100644 protocol/proto/ReunionPrivilegeInfo.proto
create mode 100644 protocol/proto/ReunionSettleNotify.proto
create mode 100644 protocol/proto/ReunionSignInInfo.proto
create mode 100644 protocol/proto/ReunionWatcherInfo.proto
create mode 100644 protocol/proto/Reward.proto
create mode 100644 protocol/proto/RobotPushPlayerDataNotify.proto
create mode 100644 protocol/proto/RockBoardExploreDetailInfo.proto
create mode 100644 protocol/proto/RockBoardExploreStageData.proto
create mode 100644 protocol/proto/RogueAvatarInfo.proto
create mode 100644 protocol/proto/RogueCellInfo.proto
create mode 100644 protocol/proto/RogueCellState.proto
create mode 100644 protocol/proto/RogueCellUpdateNotify.proto
create mode 100644 protocol/proto/RogueDiaryActivityDetailInfo.proto
create mode 100644 protocol/proto/RogueDiaryAvatar.proto
create mode 100644 protocol/proto/RogueDiaryAvatarDisableStatus.proto
create mode 100644 protocol/proto/RogueDiaryCoinAddNotify.proto
create mode 100644 protocol/proto/RogueDiaryDungeonInfoNotify.proto
create mode 100644 protocol/proto/RogueDiaryDungeonRecord.proto
create mode 100644 protocol/proto/RogueDiaryDungeonSettleNotify.proto
create mode 100644 protocol/proto/RogueDiaryProgress.proto
create mode 100644 protocol/proto/RogueDiaryRepairInfoNotify.proto
create mode 100644 protocol/proto/RogueDiaryReviveAvatarReq.proto
create mode 100644 protocol/proto/RogueDiaryReviveAvatarRsp.proto
create mode 100644 protocol/proto/RogueDiaryRoomInfo.proto
create mode 100644 protocol/proto/RogueDiaryStageInfo.proto
create mode 100644 protocol/proto/RogueDiaryTiredAvatarNotify.proto
create mode 100644 protocol/proto/RogueDungeonPlayerCellChangeNotify.proto
create mode 100644 protocol/proto/RogueEffectRecord.proto
create mode 100644 protocol/proto/RogueEliteCellDifficultyType.proto
create mode 100644 protocol/proto/RogueFinishRepairReq.proto
create mode 100644 protocol/proto/RogueFinishRepairRsp.proto
create mode 100644 protocol/proto/RogueHealAvatarsReq.proto
create mode 100644 protocol/proto/RogueHealAvatarsRsp.proto
create mode 100644 protocol/proto/RogueResumeDungeonReq.proto
create mode 100644 protocol/proto/RogueResumeDungeonRsp.proto
create mode 100644 protocol/proto/RogueShowAvatarTeamInfo.proto
create mode 100644 protocol/proto/RogueStageInfo.proto
create mode 100644 protocol/proto/RogueSwitchAvatarReq.proto
create mode 100644 protocol/proto/RogueSwitchAvatarRsp.proto
create mode 100644 protocol/proto/RoguelikeCardGachaNotify.proto
create mode 100644 protocol/proto/RoguelikeDungeonActivityDetailInfo.proto
create mode 100644 protocol/proto/RoguelikeDungeonSettleInfo.proto
create mode 100644 protocol/proto/RoguelikeEffectDataNotify.proto
create mode 100644 protocol/proto/RoguelikeEffectViewReq.proto
create mode 100644 protocol/proto/RoguelikeEffectViewRsp.proto
create mode 100644 protocol/proto/RoguelikeGadgetInfo.proto
create mode 100644 protocol/proto/RoguelikeGiveUpReq.proto
create mode 100644 protocol/proto/RoguelikeGiveUpRsp.proto
create mode 100644 protocol/proto/RoguelikeMistClearNotify.proto
create mode 100644 protocol/proto/RoguelikeRefreshCardCostUpdateNotify.proto
create mode 100644 protocol/proto/RoguelikeResourceBonusPropUpdateNotify.proto
create mode 100644 protocol/proto/RoguelikeRuneRecord.proto
create mode 100644 protocol/proto/RoguelikeRuneRecordUpdateNotify.proto
create mode 100644 protocol/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto
create mode 100644 protocol/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto
create mode 100644 protocol/proto/RoguelikeSettleCoinInfo.proto
create mode 100644 protocol/proto/RoguelikeShikigamiRecord.proto
create mode 100644 protocol/proto/RoguelikeTakeStageFirstPassRewardReq.proto
create mode 100644 protocol/proto/RoguelikeTakeStageFirstPassRewardRsp.proto
create mode 100644 protocol/proto/Route.proto
create mode 100644 protocol/proto/RoutePoint.proto
create mode 100644 protocol/proto/RoutePointChangeInfo.proto
create mode 100644 protocol/proto/SalesmanActivityDetailInfo.proto
create mode 100644 protocol/proto/SalesmanDeliverItemReq.proto
create mode 100644 protocol/proto/SalesmanDeliverItemRsp.proto
create mode 100644 protocol/proto/SalesmanStatusType.proto
create mode 100644 protocol/proto/SalesmanTakeRewardReq.proto
create mode 100644 protocol/proto/SalesmanTakeRewardRsp.proto
create mode 100644 protocol/proto/SalesmanTakeSpecialRewardReq.proto
create mode 100644 protocol/proto/SalesmanTakeSpecialRewardRsp.proto
create mode 100644 protocol/proto/SalvageBundleChallengeInfo.proto
create mode 100644 protocol/proto/SalvageChallengeInfo.proto
create mode 100644 protocol/proto/SalvageEscortGallerySettleInfo.proto
create mode 100644 protocol/proto/SalvageEscortRestartReq.proto
create mode 100644 protocol/proto/SalvageEscortRestartRsp.proto
create mode 100644 protocol/proto/SalvageEscortSettleInfo.proto
create mode 100644 protocol/proto/SalvageEscortSettleNotify.proto
create mode 100644 protocol/proto/SalvageEscortStopReason.proto
create mode 100644 protocol/proto/SalvagePreventGallerySettleInfo.proto
create mode 100644 protocol/proto/SalvagePreventRestartReq.proto
create mode 100644 protocol/proto/SalvagePreventRestartRsp.proto
create mode 100644 protocol/proto/SalvagePreventSettleInfo.proto
create mode 100644 protocol/proto/SalvagePreventSettleNotify.proto
create mode 100644 protocol/proto/SalvagePreventStopReason.proto
create mode 100644 protocol/proto/SalvageScoreChallengeInfo.proto
create mode 100644 protocol/proto/SalvageStageInfo.proto
create mode 100644 protocol/proto/SaveCoopDialogReq.proto
create mode 100644 protocol/proto/SaveCoopDialogRsp.proto
create mode 100644 protocol/proto/SaveCustomDungeonRoomReq.proto
create mode 100644 protocol/proto/SaveCustomDungeonRoomRsp.proto
create mode 100644 protocol/proto/SaveMainCoopReq.proto
create mode 100644 protocol/proto/SaveMainCoopRsp.proto
create mode 100644 protocol/proto/SaveUgcReq.proto
create mode 100644 protocol/proto/SaveUgcRsp.proto
create mode 100644 protocol/proto/SceneAreaUnlockNotify.proto
create mode 100644 protocol/proto/SceneAreaWeatherNotify.proto
create mode 100644 protocol/proto/SceneAudioNotify.proto
create mode 100644 protocol/proto/SceneAvatarInfo.proto
create mode 100644 protocol/proto/SceneAvatarStaminaStepReq.proto
create mode 100644 protocol/proto/SceneAvatarStaminaStepRsp.proto
create mode 100644 protocol/proto/SceneCreateEntityReq.proto
create mode 100644 protocol/proto/SceneCreateEntityRsp.proto
create mode 100644 protocol/proto/SceneDataNotify.proto
create mode 100644 protocol/proto/SceneDestroyEntityReq.proto
create mode 100644 protocol/proto/SceneDestroyEntityRsp.proto
create mode 100644 protocol/proto/SceneEntitiesMoveCombineNotify.proto
create mode 100644 protocol/proto/SceneEntitiesMovesReq.proto
create mode 100644 protocol/proto/SceneEntitiesMovesRsp.proto
create mode 100644 protocol/proto/SceneEntityAiInfo.proto
create mode 100644 protocol/proto/SceneEntityAppearNotify.proto
create mode 100644 protocol/proto/SceneEntityDisappearNotify.proto
create mode 100644 protocol/proto/SceneEntityDrownReq.proto
create mode 100644 protocol/proto/SceneEntityDrownRsp.proto
create mode 100644 protocol/proto/SceneEntityInfo.proto
create mode 100644 protocol/proto/SceneEntityMoveNotify.proto
create mode 100644 protocol/proto/SceneEntityMoveReq.proto
create mode 100644 protocol/proto/SceneEntityMoveRsp.proto
create mode 100644 protocol/proto/SceneEntityUpdateNotify.proto
create mode 100644 protocol/proto/SceneFishInfo.proto
create mode 100644 protocol/proto/SceneForceLockNotify.proto
create mode 100644 protocol/proto/SceneForceUnlockNotify.proto
create mode 100644 protocol/proto/SceneGadgetInfo.proto
create mode 100644 protocol/proto/SceneGalleryBalloonInfo.proto
create mode 100644 protocol/proto/SceneGalleryBounceConjuringInfo.proto
create mode 100644 protocol/proto/SceneGalleryBrokenFloorInfo.proto
create mode 100644 protocol/proto/SceneGalleryBulletInfo.proto
create mode 100644 protocol/proto/SceneGalleryBuoyantCombatInfo.proto
create mode 100644 protocol/proto/SceneGalleryCharAmusementInfo.proto
create mode 100644 protocol/proto/SceneGalleryCrystalLinkInfo.proto
create mode 100644 protocol/proto/SceneGalleryEffigyChallengeV2Info.proto
create mode 100644 protocol/proto/SceneGalleryFallInfo.proto
create mode 100644 protocol/proto/SceneGalleryFlowerInfo.proto
create mode 100644 protocol/proto/SceneGalleryFungusFighterCaptureInfo.proto
create mode 100644 protocol/proto/SceneGalleryFungusFighterTrainingInfo.proto
create mode 100644 protocol/proto/SceneGalleryHandballInfo.proto
create mode 100644 protocol/proto/SceneGalleryHideAndSeekInfo.proto
create mode 100644 protocol/proto/SceneGalleryHomeBalloonInfo.proto
create mode 100644 protocol/proto/SceneGalleryHomeSeekFurnitureInfo.proto
create mode 100644 protocol/proto/SceneGalleryInfo.proto
create mode 100644 protocol/proto/SceneGalleryInfoNotify.proto
create mode 100644 protocol/proto/SceneGalleryInstableSprayBuffInfo.proto
create mode 100644 protocol/proto/SceneGalleryInstableSprayInfo.proto
create mode 100644 protocol/proto/SceneGalleryIrodoriMasterInfo.proto
create mode 100644 protocol/proto/SceneGalleryIslandPartyDownHillInfo.proto
create mode 100644 protocol/proto/SceneGalleryIslandPartyRaftInfo.proto
create mode 100644 protocol/proto/SceneGalleryIslandPartySailInfo.proto
create mode 100644 protocol/proto/SceneGalleryLuminanceStoneChallengeInfo.proto
create mode 100644 protocol/proto/SceneGalleryMuqadasPotionInfo.proto
create mode 100644 protocol/proto/SceneGalleryProgressInfo.proto
create mode 100644 protocol/proto/SceneGallerySalvageEscortInfoInfo.proto
create mode 100644 protocol/proto/SceneGallerySalvagePreventInfo.proto
create mode 100644 protocol/proto/SceneGallerySummerTimeV2BoatInfo.proto
create mode 100644 protocol/proto/SceneGallerySumoInfo.proto
create mode 100644 protocol/proto/SceneGalleryTreasureSeelieInfo.proto
create mode 100644 protocol/proto/SceneGalleryVintageHuntingInfo.proto
create mode 100644 protocol/proto/SceneGalleryVintageHuntingSettleNotify.proto
create mode 100644 protocol/proto/SceneGalleryWindFieldInfo.proto
create mode 100644 protocol/proto/SceneInitFinishReq.proto
create mode 100644 protocol/proto/SceneInitFinishRsp.proto
create mode 100644 protocol/proto/SceneKickPlayerNotify.proto
create mode 100644 protocol/proto/SceneKickPlayerReq.proto
create mode 100644 protocol/proto/SceneKickPlayerRsp.proto
create mode 100644 protocol/proto/SceneMonsterInfo.proto
create mode 100644 protocol/proto/SceneNpcInfo.proto
create mode 100644 protocol/proto/ScenePlayBattleInfo.proto
create mode 100644 protocol/proto/ScenePlayBattleInfoListNotify.proto
create mode 100644 protocol/proto/ScenePlayBattleInfoNotify.proto
create mode 100644 protocol/proto/ScenePlayBattleInterruptNotify.proto
create mode 100644 protocol/proto/ScenePlayBattleResultNotify.proto
create mode 100644 protocol/proto/ScenePlayBattleSettlePlayerInfo.proto
create mode 100644 protocol/proto/ScenePlayBattleSettleRewardInfo.proto
create mode 100644 protocol/proto/ScenePlayBattleUidOpNotify.proto
create mode 100644 protocol/proto/ScenePlayGuestReplyInviteReq.proto
create mode 100644 protocol/proto/ScenePlayGuestReplyInviteRsp.proto
create mode 100644 protocol/proto/ScenePlayGuestReplyNotify.proto
create mode 100644 protocol/proto/ScenePlayInfo.proto
create mode 100644 protocol/proto/ScenePlayInfoListNotify.proto
create mode 100644 protocol/proto/ScenePlayInviteResultNotify.proto
create mode 100644 protocol/proto/ScenePlayOutofRegionNotify.proto
create mode 100644 protocol/proto/ScenePlayOwnerCheckReq.proto
create mode 100644 protocol/proto/ScenePlayOwnerCheckRsp.proto
create mode 100644 protocol/proto/ScenePlayOwnerInviteNotify.proto
create mode 100644 protocol/proto/ScenePlayOwnerStartInviteReq.proto
create mode 100644 protocol/proto/ScenePlayOwnerStartInviteRsp.proto
create mode 100644 protocol/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto
create mode 100644 protocol/proto/ScenePlayerInfo.proto
create mode 100644 protocol/proto/ScenePlayerInfoNotify.proto
create mode 100644 protocol/proto/ScenePlayerLocationNotify.proto
create mode 100644 protocol/proto/ScenePlayerSoundNotify.proto
create mode 100644 protocol/proto/ScenePointUnlockNotify.proto
create mode 100644 protocol/proto/SceneReliquaryInfo.proto
create mode 100644 protocol/proto/SceneRouteChangeInfo.proto
create mode 100644 protocol/proto/SceneRouteChangeNotify.proto
create mode 100644 protocol/proto/SceneSurfaceMaterial.proto
create mode 100644 protocol/proto/SceneTeamAvatar.proto
create mode 100644 protocol/proto/SceneTeamUpdateNotify.proto
create mode 100644 protocol/proto/SceneTimeNotify.proto
create mode 100644 protocol/proto/SceneTransToPointReq.proto
create mode 100644 protocol/proto/SceneTransToPointRsp.proto
create mode 100644 protocol/proto/SceneWeaponInfo.proto
create mode 100644 protocol/proto/SceneWeatherForcastReq.proto
create mode 100644 protocol/proto/SceneWeatherForcastRsp.proto
create mode 100644 protocol/proto/ScreenInfo.proto
create mode 100644 protocol/proto/SeaLampActivityDetailInfo.proto
create mode 100644 protocol/proto/SeaLampActivityInfo.proto
create mode 100644 protocol/proto/SeaLampCoinNotify.proto
create mode 100644 protocol/proto/SeaLampContributeItemReq.proto
create mode 100644 protocol/proto/SeaLampContributeItemRsp.proto
create mode 100644 protocol/proto/SeaLampFlyLampNotify.proto
create mode 100644 protocol/proto/SeaLampFlyLampReq.proto
create mode 100644 protocol/proto/SeaLampFlyLampRsp.proto
create mode 100644 protocol/proto/SeaLampPopularityNotify.proto
create mode 100644 protocol/proto/SeaLampSectionInfo.proto
create mode 100644 protocol/proto/SeaLampTakeContributionRewardReq.proto
create mode 100644 protocol/proto/SeaLampTakeContributionRewardRsp.proto
create mode 100644 protocol/proto/SeaLampTakePhaseRewardReq.proto
create mode 100644 protocol/proto/SeaLampTakePhaseRewardRsp.proto
create mode 100644 protocol/proto/SealBattleBeginNotify.proto
create mode 100644 protocol/proto/SealBattleEndNotify.proto
create mode 100644 protocol/proto/SealBattleProgressNotify.proto
create mode 100644 protocol/proto/SealBattleType.proto
create mode 100644 protocol/proto/SearchCustomDungeonReq.proto
create mode 100644 protocol/proto/SearchCustomDungeonRsp.proto
create mode 100644 protocol/proto/SeeMonsterReq.proto
create mode 100644 protocol/proto/SeeMonsterRsp.proto
create mode 100644 protocol/proto/SeekFurnitureGalleryInfo.proto
create mode 100644 protocol/proto/SegmentCRCInfo.proto
create mode 100644 protocol/proto/SegmentInfo.proto
create mode 100644 protocol/proto/SelectAsterMidDifficultyReq.proto
create mode 100644 protocol/proto/SelectAsterMidDifficultyRsp.proto
create mode 100644 protocol/proto/SelectEffigyChallengeConditionReq.proto
create mode 100644 protocol/proto/SelectEffigyChallengeConditionRsp.proto
create mode 100644 protocol/proto/SelectRoguelikeDungeonCardReq.proto
create mode 100644 protocol/proto/SelectRoguelikeDungeonCardRsp.proto
create mode 100644 protocol/proto/SelectWorktopOptionReq.proto
create mode 100644 protocol/proto/SelectWorktopOptionRsp.proto
create mode 100644 protocol/proto/ServantInfo.proto
create mode 100644 protocol/proto/ServerAnnounceNotify.proto
create mode 100644 protocol/proto/ServerAnnounceRevokeNotify.proto
create mode 100644 protocol/proto/ServerBuff.proto
create mode 100644 protocol/proto/ServerBuffChangeNotify.proto
create mode 100644 protocol/proto/ServerCombatEndNotify.proto
create mode 100644 protocol/proto/ServerCondMeetQuestListUpdateNotify.proto
create mode 100644 protocol/proto/ServerDisconnectClientNotify.proto
create mode 100644 protocol/proto/ServerGlobalValueChangeNotify.proto
create mode 100644 protocol/proto/ServerLogLevel.proto
create mode 100644 protocol/proto/ServerLogNotify.proto
create mode 100644 protocol/proto/ServerLogType.proto
create mode 100644 protocol/proto/ServerMassiveEntity.proto
create mode 100644 protocol/proto/ServerMessageNotify.proto
create mode 100644 protocol/proto/ServerTimeNotify.proto
create mode 100644 protocol/proto/ServerTryCancelGeneralMatchNotify.proto
create mode 100644 protocol/proto/ServerUpdateGlobalValueNotify.proto
create mode 100644 protocol/proto/SetBattlePassViewedReq.proto
create mode 100644 protocol/proto/SetBattlePassViewedRsp.proto
create mode 100644 protocol/proto/SetChatEmojiCollectionReq.proto
create mode 100644 protocol/proto/SetChatEmojiCollectionRsp.proto
create mode 100644 protocol/proto/SetCodexPushtipsReadReq.proto
create mode 100644 protocol/proto/SetCodexPushtipsReadRsp.proto
create mode 100644 protocol/proto/SetCoopChapterViewedReq.proto
create mode 100644 protocol/proto/SetCoopChapterViewedRsp.proto
create mode 100644 protocol/proto/SetCurExpeditionChallengeIdReq.proto
create mode 100644 protocol/proto/SetCurExpeditionChallengeIdRsp.proto
create mode 100644 protocol/proto/SetEntityClientDataNotify.proto
create mode 100644 protocol/proto/SetEquipLockStateReq.proto
create mode 100644 protocol/proto/SetEquipLockStateRsp.proto
create mode 100644 protocol/proto/SetFriendEnterHomeOptionReq.proto
create mode 100644 protocol/proto/SetFriendEnterHomeOptionRsp.proto
create mode 100644 protocol/proto/SetFriendRemarkNameReq.proto
create mode 100644 protocol/proto/SetFriendRemarkNameRsp.proto
create mode 100644 protocol/proto/SetH5ActivityRedDotTimestampReq.proto
create mode 100644 protocol/proto/SetH5ActivityRedDotTimestampRsp.proto
create mode 100644 protocol/proto/SetIsAutoUnlockSpecificEquipReq.proto
create mode 100644 protocol/proto/SetIsAutoUnlockSpecificEquipRsp.proto
create mode 100644 protocol/proto/SetLimitOptimizationNotify.proto
create mode 100644 protocol/proto/SetNameCardReq.proto
create mode 100644 protocol/proto/SetNameCardRsp.proto
create mode 100644 protocol/proto/SetOpenStateReq.proto
create mode 100644 protocol/proto/SetOpenStateRsp.proto
create mode 100644 protocol/proto/SetPlayerBirthdayReq.proto
create mode 100644 protocol/proto/SetPlayerBirthdayRsp.proto
create mode 100644 protocol/proto/SetPlayerBornDataReq.proto
create mode 100644 protocol/proto/SetPlayerBornDataRsp.proto
create mode 100644 protocol/proto/SetPlayerHeadImageReq.proto
create mode 100644 protocol/proto/SetPlayerHeadImageRsp.proto
create mode 100644 protocol/proto/SetPlayerNameReq.proto
create mode 100644 protocol/proto/SetPlayerNameRsp.proto
create mode 100644 protocol/proto/SetPlayerPropReq.proto
create mode 100644 protocol/proto/SetPlayerPropRsp.proto
create mode 100644 protocol/proto/SetPlayerSignatureReq.proto
create mode 100644 protocol/proto/SetPlayerSignatureRsp.proto
create mode 100644 protocol/proto/SetSceneWeatherAreaReq.proto
create mode 100644 protocol/proto/SetSceneWeatherAreaRsp.proto
create mode 100644 protocol/proto/SetUpAvatarTeamReq.proto
create mode 100644 protocol/proto/SetUpAvatarTeamRsp.proto
create mode 100644 protocol/proto/SetUpLunchBoxWidgetReq.proto
create mode 100644 protocol/proto/SetUpLunchBoxWidgetRsp.proto
create mode 100644 protocol/proto/SetWidgetSlotReq.proto
create mode 100644 protocol/proto/SetWidgetSlotRsp.proto
create mode 100644 protocol/proto/ShapeBox.proto
create mode 100644 protocol/proto/ShapeSphere.proto
create mode 100644 protocol/proto/ShareCDInfo.proto
create mode 100644 protocol/proto/Shop.proto
create mode 100644 protocol/proto/ShopCardProduct.proto
create mode 100644 protocol/proto/ShopConcertProduct.proto
create mode 100644 protocol/proto/ShopGoods.proto
create mode 100644 protocol/proto/ShopMcoinProduct.proto
create mode 100644 protocol/proto/ShortAbilityHashPair.proto
create mode 100644 protocol/proto/ShowAvatarInfo.proto
create mode 100644 protocol/proto/ShowClientGuideNotify.proto
create mode 100644 protocol/proto/ShowClientTutorialNotify.proto
create mode 100644 protocol/proto/ShowCommonTipsNotify.proto
create mode 100644 protocol/proto/ShowEquip.proto
create mode 100644 protocol/proto/ShowMessageNotify.proto
create mode 100644 protocol/proto/ShowTemplateReminderNotify.proto
create mode 100644 protocol/proto/SignInData.proto
create mode 100644 protocol/proto/SignInInfo.proto
create mode 100644 protocol/proto/SignInInfoReq.proto
create mode 100644 protocol/proto/SignInInfoRsp.proto
create mode 100644 protocol/proto/SignatureAuditConfigNotify.proto
create mode 100644 protocol/proto/SkyCrystalDetectorData.proto
create mode 100644 protocol/proto/SkyCrystalDetectorDataUpdateNotify.proto
create mode 100644 protocol/proto/SkyCrystalDetectorQuickUseResult.proto
create mode 100644 protocol/proto/SocialDataNotify.proto
create mode 100644 protocol/proto/SocialDetail.proto
create mode 100644 protocol/proto/SocialShowAvatarInfo.proto
create mode 100644 protocol/proto/SpiceActivityDetailInfo.proto
create mode 100644 protocol/proto/SpiceActivityFinishMakeSpiceReq.proto
create mode 100644 protocol/proto/SpiceActivityFinishMakeSpiceRsp.proto
create mode 100644 protocol/proto/SpiceActivityGivingRecordNotify.proto
create mode 100644 protocol/proto/SpiceActivityProcessFoodReq.proto
create mode 100644 protocol/proto/SpiceActivityProcessFoodRsp.proto
create mode 100644 protocol/proto/SpiceStageData.proto
create mode 100644 protocol/proto/SpringUseReq.proto
create mode 100644 protocol/proto/SpringUseRsp.proto
create mode 100644 protocol/proto/StartArenaChallengeLevelReq.proto
create mode 100644 protocol/proto/StartArenaChallengeLevelRsp.proto
create mode 100644 protocol/proto/StartBuoyantCombatGalleryReq.proto
create mode 100644 protocol/proto/StartBuoyantCombatGalleryRsp.proto
create mode 100644 protocol/proto/StartCoopPointReq.proto
create mode 100644 protocol/proto/StartCoopPointRsp.proto
create mode 100644 protocol/proto/StartEffigyChallengeReq.proto
create mode 100644 protocol/proto/StartEffigyChallengeRsp.proto
create mode 100644 protocol/proto/StartFishingReq.proto
create mode 100644 protocol/proto/StartFishingRsp.proto
create mode 100644 protocol/proto/StartRogueDiaryPlayReq.proto
create mode 100644 protocol/proto/StartRogueDiaryPlayRsp.proto
create mode 100644 protocol/proto/StartRogueDiaryRoomReq.proto
create mode 100644 protocol/proto/StartRogueDiaryRoomRsp.proto
create mode 100644 protocol/proto/StartRogueEliteCellChallengeReq.proto
create mode 100644 protocol/proto/StartRogueEliteCellChallengeRsp.proto
create mode 100644 protocol/proto/StartRogueNormalCellChallengeReq.proto
create mode 100644 protocol/proto/StartRogueNormalCellChallengeRsp.proto
create mode 100644 protocol/proto/StatueGadgetInfo.proto
create mode 100644 protocol/proto/StopReminderNotify.proto
create mode 100644 protocol/proto/StopServerInfo.proto
create mode 100644 protocol/proto/StoreCustomDungeonReq.proto
create mode 100644 protocol/proto/StoreCustomDungeonRsp.proto
create mode 100644 protocol/proto/StoreItemChangeNotify.proto
create mode 100644 protocol/proto/StoreItemDelNotify.proto
create mode 100644 protocol/proto/StoreType.proto
create mode 100644 protocol/proto/StoreWeightLimitNotify.proto
create mode 100644 protocol/proto/StrengthenPointData.proto
create mode 100644 protocol/proto/SubmitInferenceWordReq.proto
create mode 100644 protocol/proto/SubmitInferenceWordRsp.proto
create mode 100644 protocol/proto/SummerTimeDetailInfo.proto
create mode 100644 protocol/proto/SummerTimeDungeonInfo.proto
create mode 100644 protocol/proto/SummerTimeFloatSignalPositionNotify.proto
create mode 100644 protocol/proto/SummerTimeFloatSignalUpdateNotify.proto
create mode 100644 protocol/proto/SummerTimeSprintBoatInfo.proto
create mode 100644 protocol/proto/SummerTimeSprintBoatRecord.proto
create mode 100644 protocol/proto/SummerTimeSprintBoatRestartReq.proto
create mode 100644 protocol/proto/SummerTimeSprintBoatRestartRsp.proto
create mode 100644 protocol/proto/SummerTimeSprintBoatSettleNotify.proto
create mode 100644 protocol/proto/SummerTimeStageInfo.proto
create mode 100644 protocol/proto/SummerTimeV2BoatGallerySettleInfo.proto
create mode 100644 protocol/proto/SummerTimeV2BoatSettleNotify.proto
create mode 100644 protocol/proto/SummerTimeV2BoatStageInfo.proto
create mode 100644 protocol/proto/SummerTimeV2DetailInfo.proto
create mode 100644 protocol/proto/SummerTimeV2DungeonSettleInfo.proto
create mode 100644 protocol/proto/SummerTimeV2DungeonStageInfo.proto
create mode 100644 protocol/proto/SummerTimeV2RestartBoatGalleryReq.proto
create mode 100644 protocol/proto/SummerTimeV2RestartBoatGalleryRsp.proto
create mode 100644 protocol/proto/SummerTimeV2RestartDungeonReq.proto
create mode 100644 protocol/proto/SummerTimeV2RestartDungeonRsp.proto
create mode 100644 protocol/proto/SumoActivityDetailInfo.proto
create mode 100644 protocol/proto/SumoAvatarInfo.proto
create mode 100644 protocol/proto/SumoDungeonAvatar.proto
create mode 100644 protocol/proto/SumoDungeonSettleNotify.proto
create mode 100644 protocol/proto/SumoDungeonTeam.proto
create mode 100644 protocol/proto/SumoEnterDungeonNotify.proto
create mode 100644 protocol/proto/SumoLeaveDungeonNotify.proto
create mode 100644 protocol/proto/SumoRestartDungeonReq.proto
create mode 100644 protocol/proto/SumoRestartDungeonRsp.proto
create mode 100644 protocol/proto/SumoSaveTeamReq.proto
create mode 100644 protocol/proto/SumoSaveTeamRsp.proto
create mode 100644 protocol/proto/SumoSelectTeamAndEnterDungeonReq.proto
create mode 100644 protocol/proto/SumoSelectTeamAndEnterDungeonRsp.proto
create mode 100644 protocol/proto/SumoSetNoSwitchPunishTimeNotify.proto
create mode 100644 protocol/proto/SumoStageData.proto
create mode 100644 protocol/proto/SumoSwitchTeamReq.proto
create mode 100644 protocol/proto/SumoSwitchTeamRsp.proto
create mode 100644 protocol/proto/SumoTeamData.proto
create mode 100644 protocol/proto/SvrMsgId.proto
create mode 100644 protocol/proto/SyncScenePlayTeamEntityNotify.proto
create mode 100644 protocol/proto/SyncTeamEntityNotify.proto
create mode 100644 protocol/proto/TakeAchievementGoalRewardReq.proto
create mode 100644 protocol/proto/TakeAchievementGoalRewardRsp.proto
create mode 100644 protocol/proto/TakeAchievementRewardReq.proto
create mode 100644 protocol/proto/TakeAchievementRewardRsp.proto
create mode 100644 protocol/proto/TakeAsterSpecialRewardReq.proto
create mode 100644 protocol/proto/TakeAsterSpecialRewardRsp.proto
create mode 100644 protocol/proto/TakeBackGivingItemReq.proto
create mode 100644 protocol/proto/TakeBackGivingItemRsp.proto
create mode 100644 protocol/proto/TakeBattlePassMissionPointReq.proto
create mode 100644 protocol/proto/TakeBattlePassMissionPointRsp.proto
create mode 100644 protocol/proto/TakeBattlePassRewardReq.proto
create mode 100644 protocol/proto/TakeBattlePassRewardRsp.proto
create mode 100644 protocol/proto/TakeCityReputationExploreRewardReq.proto
create mode 100644 protocol/proto/TakeCityReputationExploreRewardRsp.proto
create mode 100644 protocol/proto/TakeCityReputationLevelRewardReq.proto
create mode 100644 protocol/proto/TakeCityReputationLevelRewardRsp.proto
create mode 100644 protocol/proto/TakeCityReputationParentQuestReq.proto
create mode 100644 protocol/proto/TakeCityReputationParentQuestRsp.proto
create mode 100644 protocol/proto/TakeCompoundOutputReq.proto
create mode 100644 protocol/proto/TakeCompoundOutputRsp.proto
create mode 100644 protocol/proto/TakeCoopRewardReq.proto
create mode 100644 protocol/proto/TakeCoopRewardRsp.proto
create mode 100644 protocol/proto/TakeDeliveryDailyRewardReq.proto
create mode 100644 protocol/proto/TakeDeliveryDailyRewardRsp.proto
create mode 100644 protocol/proto/TakeEffigyFirstPassRewardReq.proto
create mode 100644 protocol/proto/TakeEffigyFirstPassRewardRsp.proto
create mode 100644 protocol/proto/TakeEffigyRewardReq.proto
create mode 100644 protocol/proto/TakeEffigyRewardRsp.proto
create mode 100644 protocol/proto/TakeFirstShareRewardReq.proto
create mode 100644 protocol/proto/TakeFirstShareRewardRsp.proto
create mode 100644 protocol/proto/TakeFurnitureMakeReq.proto
create mode 100644 protocol/proto/TakeFurnitureMakeRsp.proto
create mode 100644 protocol/proto/TakeHuntingOfferReq.proto
create mode 100644 protocol/proto/TakeHuntingOfferRsp.proto
create mode 100644 protocol/proto/TakeInvestigationRewardReq.proto
create mode 100644 protocol/proto/TakeInvestigationRewardRsp.proto
create mode 100644 protocol/proto/TakeInvestigationTargetRewardReq.proto
create mode 100644 protocol/proto/TakeInvestigationTargetRewardRsp.proto
create mode 100644 protocol/proto/TakeMaterialDeleteReturnReq.proto
create mode 100644 protocol/proto/TakeMaterialDeleteReturnRsp.proto
create mode 100644 protocol/proto/TakeOfferingLevelRewardReq.proto
create mode 100644 protocol/proto/TakeOfferingLevelRewardRsp.proto
create mode 100644 protocol/proto/TakePlayerLevelRewardReq.proto
create mode 100644 protocol/proto/TakePlayerLevelRewardRsp.proto
create mode 100644 protocol/proto/TakeRegionSearchRewardReq.proto
create mode 100644 protocol/proto/TakeRegionSearchRewardRsp.proto
create mode 100644 protocol/proto/TakeResinCardDailyRewardReq.proto
create mode 100644 protocol/proto/TakeResinCardDailyRewardRsp.proto
create mode 100644 protocol/proto/TakeReunionFirstGiftRewardReq.proto
create mode 100644 protocol/proto/TakeReunionFirstGiftRewardRsp.proto
create mode 100644 protocol/proto/TakeReunionMissionRewardReq.proto
create mode 100644 protocol/proto/TakeReunionMissionRewardRsp.proto
create mode 100644 protocol/proto/TakeReunionSignInRewardReq.proto
create mode 100644 protocol/proto/TakeReunionSignInRewardRsp.proto
create mode 100644 protocol/proto/TakeReunionWatcherRewardReq.proto
create mode 100644 protocol/proto/TakeReunionWatcherRewardRsp.proto
create mode 100644 protocol/proto/TakeoffEquipReq.proto
create mode 100644 protocol/proto/TakeoffEquipRsp.proto
create mode 100644 protocol/proto/TanukiTravelActivityDetailInfo.proto
create mode 100644 protocol/proto/TanukiTravelFinishGuideQuestNotify.proto
create mode 100644 protocol/proto/TanukiTravelLevelData.proto
create mode 100644 protocol/proto/TaskVar.proto
create mode 100644 protocol/proto/TaskVarNotify.proto
create mode 100644 protocol/proto/TeamEnterSceneInfo.proto
create mode 100644 protocol/proto/TeamEntityInfo.proto
create mode 100644 protocol/proto/TeamResonanceChangeNotify.proto
create mode 100644 protocol/proto/ToTheMoonAddObstacleReq.proto
create mode 100644 protocol/proto/ToTheMoonAddObstacleRsp.proto
create mode 100644 protocol/proto/ToTheMoonEnterSceneReq.proto
create mode 100644 protocol/proto/ToTheMoonEnterSceneRsp.proto
create mode 100644 protocol/proto/ToTheMoonObstacleInfo.proto
create mode 100644 protocol/proto/ToTheMoonObstaclesModifyNotify.proto
create mode 100644 protocol/proto/ToTheMoonPingNotify.proto
create mode 100644 protocol/proto/ToTheMoonQueryPathReq.proto
create mode 100644 protocol/proto/ToTheMoonQueryPathRsp.proto
create mode 100644 protocol/proto/ToTheMoonRemoveObstacleReq.proto
create mode 100644 protocol/proto/ToTheMoonRemoveObstacleRsp.proto
create mode 100644 protocol/proto/TowerAllDataReq.proto
create mode 100644 protocol/proto/TowerAllDataRsp.proto
create mode 100644 protocol/proto/TowerBriefDataNotify.proto
create mode 100644 protocol/proto/TowerBuffSelectReq.proto
create mode 100644 protocol/proto/TowerBuffSelectRsp.proto
create mode 100644 protocol/proto/TowerCurLevelRecord.proto
create mode 100644 protocol/proto/TowerCurLevelRecordChangeNotify.proto
create mode 100644 protocol/proto/TowerDailyRewardProgressChangeNotify.proto
create mode 100644 protocol/proto/TowerEnterLevelReq.proto
create mode 100644 protocol/proto/TowerEnterLevelRsp.proto
create mode 100644 protocol/proto/TowerFightRecordPair.proto
create mode 100644 protocol/proto/TowerFloorRecord.proto
create mode 100644 protocol/proto/TowerFloorRecordChangeNotify.proto
create mode 100644 protocol/proto/TowerGetFloorStarRewardReq.proto
create mode 100644 protocol/proto/TowerGetFloorStarRewardRsp.proto
create mode 100644 protocol/proto/TowerLevelEndNotify.proto
create mode 100644 protocol/proto/TowerLevelRecord.proto
create mode 100644 protocol/proto/TowerLevelStarCondData.proto
create mode 100644 protocol/proto/TowerLevelStarCondNotify.proto
create mode 100644 protocol/proto/TowerMiddleLevelChangeTeamNotify.proto
create mode 100644 protocol/proto/TowerMonthlyBrief.proto
create mode 100644 protocol/proto/TowerMonthlyCombatRecord.proto
create mode 100644 protocol/proto/TowerMonthlyDetail.proto
create mode 100644 protocol/proto/TowerRecordHandbookReq.proto
create mode 100644 protocol/proto/TowerRecordHandbookRsp.proto
create mode 100644 protocol/proto/TowerSurrenderReq.proto
create mode 100644 protocol/proto/TowerSurrenderRsp.proto
create mode 100644 protocol/proto/TowerTeam.proto
create mode 100644 protocol/proto/TowerTeamSelectReq.proto
create mode 100644 protocol/proto/TowerTeamSelectRsp.proto
create mode 100644 protocol/proto/TrackingIOInfo.proto
create mode 100644 protocol/proto/TransmitReason.proto
create mode 100644 protocol/proto/TreasureMapActivityDetailInfo.proto
create mode 100644 protocol/proto/TreasureMapBonusChallengeInfo.proto
create mode 100644 protocol/proto/TreasureMapBonusChallengeNotify.proto
create mode 100644 protocol/proto/TreasureMapCurrencyNotify.proto
create mode 100644 protocol/proto/TreasureMapDetectorData.proto
create mode 100644 protocol/proto/TreasureMapDetectorDataNotify.proto
create mode 100644 protocol/proto/TreasureMapGuideTaskDoneNotify.proto
create mode 100644 protocol/proto/TreasureMapHostInfoNotify.proto
create mode 100644 protocol/proto/TreasureMapMpChallengeNotify.proto
create mode 100644 protocol/proto/TreasureMapPreTaskDoneNotify.proto
create mode 100644 protocol/proto/TreasureMapRegionActiveNotify.proto
create mode 100644 protocol/proto/TreasureMapRegionInfo.proto
create mode 100644 protocol/proto/TreasureMapRegionInfoNotify.proto
create mode 100644 protocol/proto/TreasureSeelieActivityDetailInfo.proto
create mode 100644 protocol/proto/TreasureSeelieCollectOrbsNotify.proto
create mode 100644 protocol/proto/TreasureSeelieRegionData.proto
create mode 100644 protocol/proto/TrialAvatarActivityDetailInfo.proto
create mode 100644 protocol/proto/TrialAvatarActivityRewardDetailInfo.proto
create mode 100644 protocol/proto/TrialAvatarFirstPassDungeonNotify.proto
create mode 100644 protocol/proto/TrialAvatarGrantRecord.proto
create mode 100644 protocol/proto/TrialAvatarInDungeonIndexNotify.proto
create mode 100644 protocol/proto/TrialAvatarInfo.proto
create mode 100644 protocol/proto/TriggerCreateGadgetToEquipPartNotify.proto
create mode 100644 protocol/proto/TriggerRoguelikeCurseNotify.proto
create mode 100644 protocol/proto/TriggerRoguelikeRuneReq.proto
create mode 100644 protocol/proto/TriggerRoguelikeRuneRsp.proto
create mode 100644 protocol/proto/TryCustomDungeonReq.proto
create mode 100644 protocol/proto/TryCustomDungeonRsp.proto
create mode 100644 protocol/proto/TryCustomDungeonType.proto
create mode 100644 protocol/proto/TryEnterHomeReq.proto
create mode 100644 protocol/proto/TryEnterHomeRsp.proto
create mode 100644 protocol/proto/TryEnterNextRogueDiaryDungeonReq.proto
create mode 100644 protocol/proto/TryEnterNextRogueDiaryDungeonRsp.proto
create mode 100644 protocol/proto/TryInterruptRogueDiaryDungeonReq.proto
create mode 100644 protocol/proto/TryInterruptRogueDiaryDungeonRsp.proto
create mode 100644 protocol/proto/UgcActivityDetailInfo.proto
create mode 100644 protocol/proto/UgcMusicBriefInfo.proto
create mode 100644 protocol/proto/UgcMusicNote.proto
create mode 100644 protocol/proto/UgcMusicRecord.proto
create mode 100644 protocol/proto/UgcMusicTrack.proto
create mode 100644 protocol/proto/UgcNotify.proto
create mode 100644 protocol/proto/UgcType.proto
create mode 100644 protocol/proto/Uint32Pair.proto
create mode 100644 protocol/proto/UnfreezeGroupLimitNotify.proto
create mode 100644 protocol/proto/UnionCmd.proto
create mode 100644 protocol/proto/UnionCmdNotify.proto
create mode 100644 protocol/proto/UnlockAvatarTalentReq.proto
create mode 100644 protocol/proto/UnlockAvatarTalentRsp.proto
create mode 100644 protocol/proto/UnlockCoopChapterReq.proto
create mode 100644 protocol/proto/UnlockCoopChapterRsp.proto
create mode 100644 protocol/proto/UnlockNameCardNotify.proto
create mode 100644 protocol/proto/UnlockPersonalLineReq.proto
create mode 100644 protocol/proto/UnlockPersonalLineRsp.proto
create mode 100644 protocol/proto/UnlockTransPointReq.proto
create mode 100644 protocol/proto/UnlockTransPointRsp.proto
create mode 100644 protocol/proto/UnlockedFurnitureFormulaDataNotify.proto
create mode 100644 protocol/proto/UnlockedFurnitureSuiteDataNotify.proto
create mode 100644 protocol/proto/UnmarkEntityInMinMapNotify.proto
create mode 100644 protocol/proto/UpdateAbilityCreatedMovingPlatformNotify.proto
create mode 100644 protocol/proto/UpdatePS4BlockListReq.proto
create mode 100644 protocol/proto/UpdatePS4BlockListRsp.proto
create mode 100644 protocol/proto/UpdatePS4FriendListNotify.proto
create mode 100644 protocol/proto/UpdatePS4FriendListReq.proto
create mode 100644 protocol/proto/UpdatePS4FriendListRsp.proto
create mode 100644 protocol/proto/UpdatePlayerShowAvatarListReq.proto
create mode 100644 protocol/proto/UpdatePlayerShowAvatarListRsp.proto
create mode 100644 protocol/proto/UpdatePlayerShowNameCardListReq.proto
create mode 100644 protocol/proto/UpdatePlayerShowNameCardListRsp.proto
create mode 100644 protocol/proto/UpdateRedPointNotify.proto
create mode 100644 protocol/proto/UpdateReunionWatcherNotify.proto
create mode 100644 protocol/proto/UpdateSalvageBundleMarkReq.proto
create mode 100644 protocol/proto/UpdateSalvageBundleMarkRsp.proto
create mode 100644 protocol/proto/UpgradeRoguelikeShikigamiReq.proto
create mode 100644 protocol/proto/UpgradeRoguelikeShikigamiRsp.proto
create mode 100644 protocol/proto/UseItemReq.proto
create mode 100644 protocol/proto/UseItemRsp.proto
create mode 100644 protocol/proto/UseMiracleRingReq.proto
create mode 100644 protocol/proto/UseMiracleRingRsp.proto
create mode 100644 protocol/proto/UseWidgetCreateGadgetReq.proto
create mode 100644 protocol/proto/UseWidgetCreateGadgetRsp.proto
create mode 100644 protocol/proto/UseWidgetRetractGadgetReq.proto
create mode 100644 protocol/proto/UseWidgetRetractGadgetRsp.proto
create mode 100644 protocol/proto/Vector.proto
create mode 100644 protocol/proto/Vector3Int.proto
create mode 100644 protocol/proto/VectorPlane.proto
create mode 100644 protocol/proto/VehicleInfo.proto
create mode 100644 protocol/proto/VehicleInteractReq.proto
create mode 100644 protocol/proto/VehicleInteractRsp.proto
create mode 100644 protocol/proto/VehicleInteractType.proto
create mode 100644 protocol/proto/VehicleLocationInfo.proto
create mode 100644 protocol/proto/VehicleMember.proto
create mode 100644 protocol/proto/VehicleStaminaNotify.proto
create mode 100644 protocol/proto/ViewCodexReq.proto
create mode 100644 protocol/proto/ViewCodexRsp.proto
create mode 100644 protocol/proto/ViewLanternProjectionLevelTipsReq.proto
create mode 100644 protocol/proto/ViewLanternProjectionLevelTipsRsp.proto
create mode 100644 protocol/proto/ViewLanternProjectionTipsReq.proto
create mode 100644 protocol/proto/ViewLanternProjectionTipsRsp.proto
create mode 100644 protocol/proto/VintageBoothUsedItemData.proto
create mode 100644 protocol/proto/VintageCampChallengeLevelData.proto
create mode 100644 protocol/proto/VintageCampChallengeStageData.proto
create mode 100644 protocol/proto/VintageCampGroupBundleRegisterNotify.proto
create mode 100644 protocol/proto/VintageCampStageFinishNotify.proto
create mode 100644 protocol/proto/VintageDecorateBoothReq.proto
create mode 100644 protocol/proto/VintageDecorateBoothRsp.proto
create mode 100644 protocol/proto/VintageDetailInfo.proto
create mode 100644 protocol/proto/VintageHuntingFirstStageInfo.proto
create mode 100644 protocol/proto/VintageHuntingFirstStageSettleInfo.proto
create mode 100644 protocol/proto/VintageHuntingSecondStageInfo.proto
create mode 100644 protocol/proto/VintageHuntingSecondStageSettleInfo.proto
create mode 100644 protocol/proto/VintageHuntingStageData.proto
create mode 100644 protocol/proto/VintageHuntingStartGalleryReq.proto
create mode 100644 protocol/proto/VintageHuntingStartGalleryRsp.proto
create mode 100644 protocol/proto/VintageHuntingThirdStageInfo.proto
create mode 100644 protocol/proto/VintageHuntingThirdStageSettleInfo.proto
create mode 100644 protocol/proto/VintageMarketDealInfo.proto
create mode 100644 protocol/proto/VintageMarketDeliverItemReq.proto
create mode 100644 protocol/proto/VintageMarketDeliverItemRsp.proto
create mode 100644 protocol/proto/VintageMarketDividendFinishNotify.proto
create mode 100644 protocol/proto/VintageMarketFinishStorePlayReq.proto
create mode 100644 protocol/proto/VintageMarketFinishStorePlayRsp.proto
create mode 100644 protocol/proto/VintageMarketInfo.proto
create mode 100644 protocol/proto/VintageMarketNpcEventFinishNotify.proto
create mode 100644 protocol/proto/VintageMarketStartStorePlayReq.proto
create mode 100644 protocol/proto/VintageMarketStartStorePlayRsp.proto
create mode 100644 protocol/proto/VintageMarketStoreChooseStrategyReq.proto
create mode 100644 protocol/proto/VintageMarketStoreChooseStrategyRsp.proto
create mode 100644 protocol/proto/VintageMarketStoreInfo.proto
create mode 100644 protocol/proto/VintageMarketStoreOpInfo.proto
create mode 100644 protocol/proto/VintageMarketStoreUnlockSlotReq.proto
create mode 100644 protocol/proto/VintageMarketStoreUnlockSlotRsp.proto
create mode 100644 protocol/proto/VintageMarketStoreViewStrategyReq.proto
create mode 100644 protocol/proto/VintageMarketStoreViewStrategyRsp.proto
create mode 100644 protocol/proto/VintageMarketTraderInfo.proto
create mode 100644 protocol/proto/VintagePresentFinishNoify.proto
create mode 100644 protocol/proto/VintagePresentFinishNotify.proto
create mode 100644 protocol/proto/VintagePresentLevelData.proto
create mode 100644 protocol/proto/VintagePresentStageData.proto
create mode 100644 protocol/proto/VisionType.proto
create mode 100644 protocol/proto/WatcherAllDataNotify.proto
create mode 100644 protocol/proto/WatcherChangeNotify.proto
create mode 100644 protocol/proto/WatcherEventNotify.proto
create mode 100644 protocol/proto/WatcherEventStageNotify.proto
create mode 100644 protocol/proto/WatcherEventTypeNotify.proto
create mode 100644 protocol/proto/WaterSpiritActivityDetailInfo.proto
create mode 100644 protocol/proto/WaterSpritePhaseFinishNotify.proto
create mode 100644 protocol/proto/Weapon.proto
create mode 100644 protocol/proto/WeaponAwakenReq.proto
create mode 100644 protocol/proto/WeaponAwakenRsp.proto
create mode 100644 protocol/proto/WeaponPromoteReq.proto
create mode 100644 protocol/proto/WeaponPromoteRsp.proto
create mode 100644 protocol/proto/WeaponUpgradeReq.proto
create mode 100644 protocol/proto/WeaponUpgradeRsp.proto
create mode 100644 protocol/proto/WearEquipReq.proto
create mode 100644 protocol/proto/WearEquipRsp.proto
create mode 100644 protocol/proto/WeatherInfo.proto
create mode 100644 protocol/proto/WeekendDjinnInfo.proto
create mode 100644 protocol/proto/WeeklyBossResinDiscountInfo.proto
create mode 100644 protocol/proto/WidgetActiveChangeNotify.proto
create mode 100644 protocol/proto/WidgetCameraInfo.proto
create mode 100644 protocol/proto/WidgetCaptureAnimalReq.proto
create mode 100644 protocol/proto/WidgetCaptureAnimalRsp.proto
create mode 100644 protocol/proto/WidgetCoolDownData.proto
create mode 100644 protocol/proto/WidgetCoolDownNotify.proto
create mode 100644 protocol/proto/WidgetCreateLocationInfo.proto
create mode 100644 protocol/proto/WidgetCreatorInfo.proto
create mode 100644 protocol/proto/WidgetCreatorOpType.proto
create mode 100644 protocol/proto/WidgetDoBagReq.proto
create mode 100644 protocol/proto/WidgetDoBagRsp.proto
create mode 100644 protocol/proto/WidgetExtraCdType.proto
create mode 100644 protocol/proto/WidgetGadgetAllDataNotify.proto
create mode 100644 protocol/proto/WidgetGadgetData.proto
create mode 100644 protocol/proto/WidgetGadgetDataNotify.proto
create mode 100644 protocol/proto/WidgetGadgetDestroyNotify.proto
create mode 100644 protocol/proto/WidgetQuickHitTreeReq.proto
create mode 100644 protocol/proto/WidgetQuickHitTreeRsp.proto
create mode 100644 protocol/proto/WidgetReportReq.proto
create mode 100644 protocol/proto/WidgetReportRsp.proto
create mode 100644 protocol/proto/WidgetSlotChangeNotify.proto
create mode 100644 protocol/proto/WidgetSlotData.proto
create mode 100644 protocol/proto/WidgetSlotOp.proto
create mode 100644 protocol/proto/WidgetSlotTag.proto
create mode 100644 protocol/proto/WidgetThunderBirdFeatherInfo.proto
create mode 100644 protocol/proto/WidgetUpdateExtraCDReq.proto
create mode 100644 protocol/proto/WidgetUpdateExtraCDRsp.proto
create mode 100644 protocol/proto/WidgetUseAttachAbilityGroupChangeNotify.proto
create mode 100644 protocol/proto/WindFieldDetailInfo.proto
create mode 100644 protocol/proto/WindFieldDungeonFailReason.proto
create mode 100644 protocol/proto/WindFieldDungeonSettleInfo.proto
create mode 100644 protocol/proto/WindFieldGalleryChallengeInfoNotify.proto
create mode 100644 protocol/proto/WindFieldGalleryInfoNotify.proto
create mode 100644 protocol/proto/WindFieldRestartDungeonReq.proto
create mode 100644 protocol/proto/WindFieldRestartDungeonRsp.proto
create mode 100644 protocol/proto/WindFieldStageInfo.proto
create mode 100644 protocol/proto/WindSeedClientNotify.proto
create mode 100644 protocol/proto/WinterCampAcceptAllGiveItemReq.proto
create mode 100644 protocol/proto/WinterCampAcceptAllGiveItemRsp.proto
create mode 100644 protocol/proto/WinterCampAcceptGiveItemReq.proto
create mode 100644 protocol/proto/WinterCampAcceptGiveItemRsp.proto
create mode 100644 protocol/proto/WinterCampAcceptItemResultInfo.proto
create mode 100644 protocol/proto/WinterCampActivityDetailInfo.proto
create mode 100644 protocol/proto/WinterCampEditSnowmanCombinationReq.proto
create mode 100644 protocol/proto/WinterCampEditSnowmanCombinationRsp.proto
create mode 100644 protocol/proto/WinterCampFriendWishData.proto
create mode 100644 protocol/proto/WinterCampGetCanGiveFriendItemReq.proto
create mode 100644 protocol/proto/WinterCampGetCanGiveFriendItemRsp.proto
create mode 100644 protocol/proto/WinterCampGetFriendWishListReq.proto
create mode 100644 protocol/proto/WinterCampGetFriendWishListRsp.proto
create mode 100644 protocol/proto/WinterCampGetRecvItemListReq.proto
create mode 100644 protocol/proto/WinterCampGetRecvItemListRsp.proto
create mode 100644 protocol/proto/WinterCampGiveFriendItemReq.proto
create mode 100644 protocol/proto/WinterCampGiveFriendItemRsp.proto
create mode 100644 protocol/proto/WinterCampRaceScoreNotify.proto
create mode 100644 protocol/proto/WinterCampRaceStageInfo.proto
create mode 100644 protocol/proto/WinterCampRecvItemData.proto
create mode 100644 protocol/proto/WinterCampRecvItemNotify.proto
create mode 100644 protocol/proto/WinterCampSetWishListReq.proto
create mode 100644 protocol/proto/WinterCampSetWishListRsp.proto
create mode 100644 protocol/proto/WinterCampStageInfo.proto
create mode 100644 protocol/proto/WinterCampStageInfoChangeNotify.proto
create mode 100644 protocol/proto/WinterCampTakeBattleRewardReq.proto
create mode 100644 protocol/proto/WinterCampTakeBattleRewardRsp.proto
create mode 100644 protocol/proto/WinterCampTakeExploreRewardReq.proto
create mode 100644 protocol/proto/WinterCampTakeExploreRewardRsp.proto
create mode 100644 protocol/proto/WinterCampTriathlonRestartReq.proto
create mode 100644 protocol/proto/WinterCampTriathlonRestartRsp.proto
create mode 100644 protocol/proto/WinterCampTriathlonSettleNotify.proto
create mode 100644 protocol/proto/WorktopInfo.proto
create mode 100644 protocol/proto/WorktopOptionNotify.proto
create mode 100644 protocol/proto/WorldAllRoutineTypeNotify.proto
create mode 100644 protocol/proto/WorldChestOpenNotify.proto
create mode 100644 protocol/proto/WorldDataNotify.proto
create mode 100644 protocol/proto/WorldOwnerBlossomBriefInfoNotify.proto
create mode 100644 protocol/proto/WorldOwnerBlossomScheduleInfoNotify.proto
create mode 100644 protocol/proto/WorldOwnerDailyTaskNotify.proto
create mode 100644 protocol/proto/WorldPlayerDieNotify.proto
create mode 100644 protocol/proto/WorldPlayerInfoNotify.proto
create mode 100644 protocol/proto/WorldPlayerLocationNotify.proto
create mode 100644 protocol/proto/WorldPlayerRTTNotify.proto
create mode 100644 protocol/proto/WorldPlayerReviveReq.proto
create mode 100644 protocol/proto/WorldPlayerReviveRsp.proto
create mode 100644 protocol/proto/WorldRoutineChangeNotify.proto
create mode 100644 protocol/proto/WorldRoutineInfo.proto
create mode 100644 protocol/proto/WorldRoutineTypeCloseNotify.proto
create mode 100644 protocol/proto/WorldRoutineTypeInfo.proto
create mode 100644 protocol/proto/WorldRoutineTypeRefreshNotify.proto
create mode 100644 protocol/proto/proto_gen.bat
diff --git a/protocol/proto/AISnapshotEntityData.proto b/protocol/proto/AISnapshotEntityData.proto
new file mode 100644
index 00000000..09f61e34
--- /dev/null
+++ b/protocol/proto/AISnapshotEntityData.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AISnapshotEntitySkillCycle.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AISnapshotEntityData {
+ float tick_time = 5;
+ uint32 tactic = 2;
+ repeated AISnapshotEntitySkillCycle finished_skill_cycles = 9;
+ float moved_distance = 4;
+ uint32 ai_target_id = 13;
+ uint32 threat_target_id = 3;
+ uint32 threat_list_size = 1;
+ uint32 entity_id = 15;
+ map hitting_avatars = 7;
+ float distance_to_player = 11;
+ uint32 attack_target_id = 10;
+ float real_time = 14;
+}
diff --git a/protocol/proto/AISnapshotEntitySkillCycle.proto b/protocol/proto/AISnapshotEntitySkillCycle.proto
new file mode 100644
index 00000000..e8c5c99e
--- /dev/null
+++ b/protocol/proto/AISnapshotEntitySkillCycle.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AISnapshotEntitySkillCycle {
+ bool failed = 12;
+ bool trydoskill = 8;
+ bool success = 9;
+ bool selected = 1;
+ uint32 skill_id = 2;
+}
diff --git a/protocol/proto/AISnapshotInfo.proto b/protocol/proto/AISnapshotInfo.proto
new file mode 100644
index 00000000..8f91e70c
--- /dev/null
+++ b/protocol/proto/AISnapshotInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AISnapshotEntityData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AISnapshotInfo {
+ repeated AISnapshotEntityData ai_snapshots = 13;
+}
diff --git a/protocol/proto/AbilityActionBlink.proto b/protocol/proto/AbilityActionBlink.proto
new file mode 100644
index 00000000..6a02b40d
--- /dev/null
+++ b/protocol/proto/AbilityActionBlink.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionBlink {
+ Vector rot = 11;
+ Vector pos = 10;
+}
diff --git a/protocol/proto/AbilityActionCreateGadget.proto b/protocol/proto/AbilityActionCreateGadget.proto
new file mode 100644
index 00000000..7b4fb99c
--- /dev/null
+++ b/protocol/proto/AbilityActionCreateGadget.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionCreateGadget {
+ uint32 room_id = 3;
+ Vector rot = 8;
+ Vector pos = 11;
+}
diff --git a/protocol/proto/AbilityActionCreateTile.proto b/protocol/proto/AbilityActionCreateTile.proto
new file mode 100644
index 00000000..0669fb58
--- /dev/null
+++ b/protocol/proto/AbilityActionCreateTile.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionCreateTile {
+ Vector rot = 3;
+ Vector pos = 8;
+}
diff --git a/protocol/proto/AbilityActionDeductStamina.proto b/protocol/proto/AbilityActionDeductStamina.proto
new file mode 100644
index 00000000..20c7840c
--- /dev/null
+++ b/protocol/proto/AbilityActionDeductStamina.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionDeductStamina {
+ bool is_swim = 1;
+}
diff --git a/protocol/proto/AbilityActionDestroyTile.proto b/protocol/proto/AbilityActionDestroyTile.proto
new file mode 100644
index 00000000..165da906
--- /dev/null
+++ b/protocol/proto/AbilityActionDestroyTile.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionDestroyTile {
+ Vector rot = 3;
+ Vector pos = 1;
+}
diff --git a/protocol/proto/AbilityActionFireAfterImage.proto b/protocol/proto/AbilityActionFireAfterImage.proto
new file mode 100644
index 00000000..35bcaf12
--- /dev/null
+++ b/protocol/proto/AbilityActionFireAfterImage.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionFireAfterImage {
+ Vector dir = 12;
+}
diff --git a/protocol/proto/AbilityActionGenerateElemBall.proto b/protocol/proto/AbilityActionGenerateElemBall.proto
new file mode 100644
index 00000000..9a6e6e5c
--- /dev/null
+++ b/protocol/proto/AbilityActionGenerateElemBall.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionGenerateElemBall {
+ uint32 room_id = 2;
+ Vector pos = 7;
+ Vector rot = 13;
+}
diff --git a/protocol/proto/AbilityActionHitEffect.proto b/protocol/proto/AbilityActionHitEffect.proto
new file mode 100644
index 00000000..c696d67e
--- /dev/null
+++ b/protocol/proto/AbilityActionHitEffect.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionHitEffect {
+ uint32 trigger_id = 3;
+}
diff --git a/protocol/proto/AbilityActionServerMonsterLog.proto b/protocol/proto/AbilityActionServerMonsterLog.proto
new file mode 100644
index 00000000..cc5d87e5
--- /dev/null
+++ b/protocol/proto/AbilityActionServerMonsterLog.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionServerMonsterLog {
+ repeated int32 param_list = 2;
+}
diff --git a/protocol/proto/AbilityActionSetCrashDamage.proto b/protocol/proto/AbilityActionSetCrashDamage.proto
new file mode 100644
index 00000000..49e9ff78
--- /dev/null
+++ b/protocol/proto/AbilityActionSetCrashDamage.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionSetCrashDamage {
+ Vector hit_pos = 2;
+ float damage = 15;
+}
diff --git a/protocol/proto/AbilityActionSetRandomOverrideMapValue.proto b/protocol/proto/AbilityActionSetRandomOverrideMapValue.proto
new file mode 100644
index 00000000..778d4819
--- /dev/null
+++ b/protocol/proto/AbilityActionSetRandomOverrideMapValue.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionSetRandomOverrideMapValue {
+ float random_value = 1;
+}
diff --git a/protocol/proto/AbilityActionSummon.proto b/protocol/proto/AbilityActionSummon.proto
new file mode 100644
index 00000000..4b587986
--- /dev/null
+++ b/protocol/proto/AbilityActionSummon.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionSummon {
+ Vector pos = 10;
+ Vector rot = 1;
+}
diff --git a/protocol/proto/AbilityActionTriggerAbility.proto b/protocol/proto/AbilityActionTriggerAbility.proto
new file mode 100644
index 00000000..c558b792
--- /dev/null
+++ b/protocol/proto/AbilityActionTriggerAbility.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityActionTriggerAbility {
+ uint32 other_id = 14;
+}
diff --git a/protocol/proto/AbilityAppliedAbility.proto b/protocol/proto/AbilityAppliedAbility.proto
new file mode 100644
index 00000000..f8e686e0
--- /dev/null
+++ b/protocol/proto/AbilityAppliedAbility.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityScalarValueEntry.proto";
+import "AbilityString.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityAppliedAbility {
+ AbilityString ability_name = 1;
+ AbilityString ability_override = 2;
+ repeated AbilityScalarValueEntry override_map = 3;
+ uint32 instanced_ability_id = 4;
+}
diff --git a/protocol/proto/AbilityAppliedModifier.proto b/protocol/proto/AbilityAppliedModifier.proto
new file mode 100644
index 00000000..ad939595
--- /dev/null
+++ b/protocol/proto/AbilityAppliedModifier.proto
@@ -0,0 +1,40 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityAttachedModifier.proto";
+import "AbilityString.proto";
+import "ModifierDurability.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityAppliedModifier {
+ int32 modifier_local_id = 1;
+ uint32 parent_ability_entity_id = 2;
+ AbilityString parent_ability_name = 3;
+ AbilityString parent_ability_override = 4;
+ uint32 instanced_ability_id = 5;
+ uint32 instanced_modifier_id = 6;
+ float exist_duration = 7;
+ AbilityAttachedModifier attached_instanced_modifier = 8;
+ uint32 apply_entity_id = 9;
+ bool is_attached_parent_ability = 10;
+ ModifierDurability modifier_durability = 11;
+ uint32 sbuff_uid = 12;
+ bool is_serverbuff_modifier = 13;
+}
diff --git a/protocol/proto/AbilityApplyLevelModifier.proto b/protocol/proto/AbilityApplyLevelModifier.proto
new file mode 100644
index 00000000..106e789d
--- /dev/null
+++ b/protocol/proto/AbilityApplyLevelModifier.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityApplyLevelModifier {
+ uint32 apply_entity_id = 6;
+}
diff --git a/protocol/proto/AbilityArgument.proto b/protocol/proto/AbilityArgument.proto
new file mode 100644
index 00000000..f56ca5ac
--- /dev/null
+++ b/protocol/proto/AbilityArgument.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityArgument {
+ oneof arg {
+ uint32 int_arg = 5;
+ float float_arg = 15;
+ string str_arg = 11;
+ }
+}
diff --git a/protocol/proto/AbilityAttachedModifier.proto b/protocol/proto/AbilityAttachedModifier.proto
new file mode 100644
index 00000000..c8f580f1
--- /dev/null
+++ b/protocol/proto/AbilityAttachedModifier.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityAttachedModifier {
+ bool is_invalid = 1;
+ uint32 owner_entity_id = 2;
+ uint32 instanced_modifier_id = 3;
+ bool is_serverbuff_modifier = 4;
+ int32 attach_name_hash = 5;
+}
diff --git a/protocol/proto/AbilityBornType.proto b/protocol/proto/AbilityBornType.proto
new file mode 100644
index 00000000..ce3cbcd9
--- /dev/null
+++ b/protocol/proto/AbilityBornType.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityBornType {
+ Vector rot = 2;
+ Vector move_dir = 14;
+ Vector pos = 5;
+}
diff --git a/protocol/proto/AbilityChangeNotify.proto b/protocol/proto/AbilityChangeNotify.proto
new file mode 100644
index 00000000..b525a0b6
--- /dev/null
+++ b/protocol/proto/AbilityChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityControlBlock.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1131
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AbilityChangeNotify {
+ uint32 entity_id = 1;
+ AbilityControlBlock ability_control_block = 15;
+}
diff --git a/protocol/proto/AbilityControlBlock.proto b/protocol/proto/AbilityControlBlock.proto
new file mode 100644
index 00000000..dafa3e59
--- /dev/null
+++ b/protocol/proto/AbilityControlBlock.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityEmbryo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityControlBlock {
+ repeated AbilityEmbryo ability_embryo_list = 1;
+}
diff --git a/protocol/proto/AbilityEmbryo.proto b/protocol/proto/AbilityEmbryo.proto
new file mode 100644
index 00000000..8f834ab0
--- /dev/null
+++ b/protocol/proto/AbilityEmbryo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityEmbryo {
+ uint32 ability_id = 1;
+ fixed32 ability_name_hash = 2;
+ fixed32 ability_override_name_hash = 3;
+}
diff --git a/protocol/proto/AbilityFloatValue.proto b/protocol/proto/AbilityFloatValue.proto
new file mode 100644
index 00000000..82799940
--- /dev/null
+++ b/protocol/proto/AbilityFloatValue.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityFloatValue {
+ float value = 1;
+}
diff --git a/protocol/proto/AbilityGadgetInfo.proto b/protocol/proto/AbilityGadgetInfo.proto
new file mode 100644
index 00000000..6c9f166d
--- /dev/null
+++ b/protocol/proto/AbilityGadgetInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityGadgetInfo {
+ uint32 camp_id = 1;
+ uint32 camp_target_type = 2;
+ uint32 target_entity_id = 3;
+}
diff --git a/protocol/proto/AbilityIdentifier.proto b/protocol/proto/AbilityIdentifier.proto
new file mode 100644
index 00000000..e7f3dd6f
--- /dev/null
+++ b/protocol/proto/AbilityIdentifier.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityIdentifier {
+ uint32 modifier_owner_id = 2;
+ uint32 instanced_modifier_id = 9;
+ uint32 instanced_ability_id = 10;
+ bool is_serverbuff_modifier = 6;
+ uint32 ability_caster_id = 15;
+ int32 local_id = 3;
+}
diff --git a/protocol/proto/AbilityInvocationFailNotify.proto b/protocol/proto/AbilityInvocationFailNotify.proto
new file mode 100644
index 00000000..d8ac7eb5
--- /dev/null
+++ b/protocol/proto/AbilityInvocationFailNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityInvokeEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1107
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AbilityInvocationFailNotify {
+ string reason = 7;
+ uint32 entity_id = 13;
+ AbilityInvokeEntry invoke = 3;
+}
diff --git a/protocol/proto/AbilityInvocationFixedNotify.proto b/protocol/proto/AbilityInvocationFixedNotify.proto
new file mode 100644
index 00000000..e5df81b0
--- /dev/null
+++ b/protocol/proto/AbilityInvocationFixedNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityInvokeEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AbilityInvocationFixedNotify {
+ AbilityInvokeEntry invoke6th = 14;
+ AbilityInvokeEntry invoke5th = 8;
+ AbilityInvokeEntry invoke4th = 1;
+ AbilityInvokeEntry invoke2nd = 5;
+ AbilityInvokeEntry invoke1st = 10;
+ AbilityInvokeEntry invoke3rd = 12;
+}
diff --git a/protocol/proto/AbilityInvocationsNotify.proto b/protocol/proto/AbilityInvocationsNotify.proto
new file mode 100644
index 00000000..e0c536d7
--- /dev/null
+++ b/protocol/proto/AbilityInvocationsNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityInvokeEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1198
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AbilityInvocationsNotify {
+ repeated AbilityInvokeEntry invokes = 2;
+}
diff --git a/protocol/proto/AbilityInvokeArgument.proto b/protocol/proto/AbilityInvokeArgument.proto
new file mode 100644
index 00000000..f8f8dba7
--- /dev/null
+++ b/protocol/proto/AbilityInvokeArgument.proto
@@ -0,0 +1,84 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum AbilityInvokeArgument {
+ ABILITY_INVOKE_ARGUMENT_NONE = 0;
+ ABILITY_INVOKE_ARGUMENT_META_MODIFIER_CHANGE = 1;
+ ABILITY_INVOKE_ARGUMENT_META_COMMAND_MODIFIER_CHANGE_REQUEST = 2;
+ ABILITY_INVOKE_ARGUMENT_META_SPECIAL_FLOAT_ARGUMENT = 3;
+ ABILITY_INVOKE_ARGUMENT_META_OVERRIDE_PARAM = 4;
+ ABILITY_INVOKE_ARGUMENT_META_CLEAR_OVERRIDE_PARAM = 5;
+ ABILITY_INVOKE_ARGUMENT_META_REINIT_OVERRIDEMAP = 6;
+ ABILITY_INVOKE_ARGUMENT_META_GLOBAL_FLOAT_VALUE = 7;
+ ABILITY_INVOKE_ARGUMENT_META_CLEAR_GLOBAL_FLOAT_VALUE = 8;
+ ABILITY_INVOKE_ARGUMENT_META_ABILITY_ELEMENT_STRENGTH = 9;
+ ABILITY_INVOKE_ARGUMENT_META_ADD_OR_GET_ABILITY_AND_TRIGGER = 10;
+ ABILITY_INVOKE_ARGUMENT_META_SET_KILLED_STATE = 11;
+ ABILITY_INVOKE_ARGUMENT_META_SET_ABILITY_TRIGGER = 12;
+ ABILITY_INVOKE_ARGUMENT_META_ADD_NEW_ABILITY = 13;
+ ABILITY_INVOKE_ARGUMENT_META_REMOVE_ABILITY = 14;
+ ABILITY_INVOKE_ARGUMENT_META_SET_MODIFIER_APPLY_ENTITY = 15;
+ ABILITY_INVOKE_ARGUMENT_META_MODIFIER_DURABILITY_CHANGE = 16;
+ ABILITY_INVOKE_ARGUMENT_META_ELEMENT_REACTION_VISUAL = 17;
+ ABILITY_INVOKE_ARGUMENT_META_SET_POSE_PARAMETER = 18;
+ ABILITY_INVOKE_ARGUMENT_META_UPDATE_BASE_REACTION_DAMAGE = 19;
+ ABILITY_INVOKE_ARGUMENT_META_TRIGGER_ELEMENT_REACTION = 20;
+ ABILITY_INVOKE_ARGUMENT_META_LOSE_HP = 21;
+ ABILITY_INVOKE_ARGUMENT_META_DURABILITY_IS_ZERO = 22;
+ ABILITY_INVOKE_ARGUMENT_ACTION_TRIGGER_ABILITY = 50;
+ ABILITY_INVOKE_ARGUMENT_ACTION_SET_CRASH_DAMAGE = 51;
+ ABILITY_INVOKE_ARGUMENT_ACTION_EFFECT = 52;
+ ABILITY_INVOKE_ARGUMENT_ACTION_SUMMON = 53;
+ ABILITY_INVOKE_ARGUMENT_ACTION_BLINK = 54;
+ ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_GADGET = 55;
+ ABILITY_INVOKE_ARGUMENT_ACTION_APPLY_LEVEL_MODIFIER = 56;
+ ABILITY_INVOKE_ARGUMENT_ACTION_GENERATE_ELEM_BALL = 57;
+ ABILITY_INVOKE_ARGUMENT_ACTION_SET_RANDOM_OVERRIDE_MAP_VALUE = 58;
+ ABILITY_INVOKE_ARGUMENT_ACTION_SERVER_MONSTER_LOG = 59;
+ ABILITY_INVOKE_ARGUMENT_ACTION_CREATE_TILE = 60;
+ ABILITY_INVOKE_ARGUMENT_ACTION_DESTROY_TILE = 61;
+ ABILITY_INVOKE_ARGUMENT_ACTION_FIRE_AFTER_IMAGE = 62;
+ ABILITY_INVOKE_ARGUMENT_ACTION_DEDUCT_STAMINA = 63;
+ ABILITY_INVOKE_ARGUMENT_ACTION_HIT_EFFECT = 64;
+ ABILITY_INVOKE_ARGUMENT_ACTION_SET_BULLET_TRACK_TARGET = 65;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_STEER_BY_CAMERA = 100;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_MONSTER_DEFEND = 101;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_ZONE = 102;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_COST_STAMINA = 103;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_ELITE_SHIELD = 104;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_ELEMENT_SHIELD = 105;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_GLOBAL_SHIELD = 106;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_SHIELD_BAR = 107;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_WIND_SEED_SPAWNER = 108;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_ELEMENT_REACTION = 109;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_FIELD_ENTITY_COUNT_CHANGE = 110;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_SCENE_PROP_SYNC = 111;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_WIDGET_MP_SUPPORT = 112;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_DO_ACTION_BY_SELF_MODIFIER_ELEMENT_DURABILITY_RATIO = 113;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_FIREWORKS_LAUNCHER = 114;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_ATTACK_RESULT_CREATE_COUNT = 115;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_UGC_TIME_CONTROL = 116;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_AVATAR_COMBAT = 117;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_DEATH_ZONE_REGIONAL_PLAY_MIXIN = 118;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_UI_INTERACT = 119;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_SHOOT_FROM_CAMERA = 120;
+ ABILITY_INVOKE_ARGUMENT_MIXIN_ERASE_BRICK_ACTIVITY = 121;
+}
diff --git a/protocol/proto/AbilityInvokeEntry.proto b/protocol/proto/AbilityInvokeEntry.proto
new file mode 100644
index 00000000..6a87fbc0
--- /dev/null
+++ b/protocol/proto/AbilityInvokeEntry.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityInvokeArgument.proto";
+import "AbilityInvokeEntryHead.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityInvokeEntry {
+ AbilityInvokeArgument argument_type = 1;
+ AbilityInvokeEntryHead head = 2;
+ uint32 forward_peer = 4;
+ uint32 event_id = 12;
+ ForwardType forward_type = 3;
+ bytes ability_data = 15;
+ double total_tick_time = 14;
+ uint32 entity_id = 9;
+}
diff --git a/protocol/proto/AbilityInvokeEntryHead.proto b/protocol/proto/AbilityInvokeEntryHead.proto
new file mode 100644
index 00000000..74f6afc6
--- /dev/null
+++ b/protocol/proto/AbilityInvokeEntryHead.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityInvokeEntryHead {
+ int32 modifier_config_local_id = 7;
+ bool is_serverbuff_modifier = 2;
+ uint32 instanced_ability_id = 1;
+ uint32 instanced_modifier_id = 12;
+ int32 local_id = 10;
+ uint32 server_buff_uid = 14;
+ uint32 target_id = 3;
+}
diff --git a/protocol/proto/AbilityMetaAddAbility.proto b/protocol/proto/AbilityMetaAddAbility.proto
new file mode 100644
index 00000000..cc021f6c
--- /dev/null
+++ b/protocol/proto/AbilityMetaAddAbility.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityAppliedAbility.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaAddAbility {
+ AbilityAppliedAbility ability = 12;
+}
diff --git a/protocol/proto/AbilityMetaAddOrGetAbilityAndTrigger.proto b/protocol/proto/AbilityMetaAddOrGetAbilityAndTrigger.proto
new file mode 100644
index 00000000..751a942e
--- /dev/null
+++ b/protocol/proto/AbilityMetaAddOrGetAbilityAndTrigger.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityString.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaAddOrGetAbilityAndTrigger {
+ AbilityString ability_name = 13;
+ float trigger_argument = 3;
+ AbilityString ability_override = 8;
+}
diff --git a/protocol/proto/AbilityMetaDurabilityIsZero.proto b/protocol/proto/AbilityMetaDurabilityIsZero.proto
new file mode 100644
index 00000000..e5104894
--- /dev/null
+++ b/protocol/proto/AbilityMetaDurabilityIsZero.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaDurabilityIsZero {
+ bool is_zero = 5;
+}
diff --git a/protocol/proto/AbilityMetaElementReactionVisual.proto b/protocol/proto/AbilityMetaElementReactionVisual.proto
new file mode 100644
index 00000000..f02d6610
--- /dev/null
+++ b/protocol/proto/AbilityMetaElementReactionVisual.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaElementReactionVisual {
+ int32 hit_index = 2;
+ uint32 element_source_type = 12;
+ uint32 element_reactor_type = 6;
+ uint32 element_reaction_type = 5;
+}
diff --git a/protocol/proto/AbilityMetaLoseHp.proto b/protocol/proto/AbilityMetaLoseHp.proto
new file mode 100644
index 00000000..472ac6f9
--- /dev/null
+++ b/protocol/proto/AbilityMetaLoseHp.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaLoseHp {
+ uint32 lose_hp_config_idx = 10;
+}
diff --git a/protocol/proto/AbilityMetaModifierChange.proto b/protocol/proto/AbilityMetaModifierChange.proto
new file mode 100644
index 00000000..38ca51a9
--- /dev/null
+++ b/protocol/proto/AbilityMetaModifierChange.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityAttachedModifier.proto";
+import "AbilityString.proto";
+import "ModifierAction.proto";
+import "ModifierProperty.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaModifierChange {
+ AbilityAttachedModifier attached_instanced_modifier = 7;
+ uint32 server_buff_uid = 4;
+ bool is_attached_parent_ability = 10;
+ ModifierAction action = 13;
+ int32 modifier_local_id = 2;
+ AbilityString parent_ability_name = 1;
+ bool is_mute_remote = 6;
+ uint32 apply_entity_id = 5;
+ repeated ModifierProperty properties = 3;
+ AbilityString parent_ability_override = 11;
+ bool is_durability_zero = 9;
+}
diff --git a/protocol/proto/AbilityMetaModifierDurabilityChange.proto b/protocol/proto/AbilityMetaModifierDurabilityChange.proto
new file mode 100644
index 00000000..0306828e
--- /dev/null
+++ b/protocol/proto/AbilityMetaModifierDurabilityChange.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaModifierDurabilityChange {
+ float reduce_durability = 6;
+ float remain_durability = 15;
+}
diff --git a/protocol/proto/AbilityMetaReInitOverrideMap.proto b/protocol/proto/AbilityMetaReInitOverrideMap.proto
new file mode 100644
index 00000000..7d909cb0
--- /dev/null
+++ b/protocol/proto/AbilityMetaReInitOverrideMap.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityScalarValueEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaReInitOverrideMap {
+ repeated AbilityScalarValueEntry override_map = 7;
+}
diff --git a/protocol/proto/AbilityMetaSetAbilityTrigger.proto b/protocol/proto/AbilityMetaSetAbilityTrigger.proto
new file mode 100644
index 00000000..6156c0d2
--- /dev/null
+++ b/protocol/proto/AbilityMetaSetAbilityTrigger.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaSetAbilityTrigger {
+ uint32 trigger_ability_entity_id = 11;
+}
diff --git a/protocol/proto/AbilityMetaSetKilledState.proto b/protocol/proto/AbilityMetaSetKilledState.proto
new file mode 100644
index 00000000..4824c8b3
--- /dev/null
+++ b/protocol/proto/AbilityMetaSetKilledState.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaSetKilledState {
+ bool killed = 2;
+}
diff --git a/protocol/proto/AbilityMetaSetModifierApplyEntityId.proto b/protocol/proto/AbilityMetaSetModifierApplyEntityId.proto
new file mode 100644
index 00000000..98e98830
--- /dev/null
+++ b/protocol/proto/AbilityMetaSetModifierApplyEntityId.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaSetModifierApplyEntityId {
+ uint32 apply_entity_id = 10;
+}
diff --git a/protocol/proto/AbilityMetaSetPoseParameter.proto b/protocol/proto/AbilityMetaSetPoseParameter.proto
new file mode 100644
index 00000000..254e8c10
--- /dev/null
+++ b/protocol/proto/AbilityMetaSetPoseParameter.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AnimatorParameterValueInfoPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaSetPoseParameter {
+ AnimatorParameterValueInfoPair value = 6;
+}
diff --git a/protocol/proto/AbilityMetaSpecialFloatArgument.proto b/protocol/proto/AbilityMetaSpecialFloatArgument.proto
new file mode 100644
index 00000000..6f15d5bf
--- /dev/null
+++ b/protocol/proto/AbilityMetaSpecialFloatArgument.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaSpecialFloatArgument {
+ float argument_value = 14;
+ bool is_on = 10;
+}
diff --git a/protocol/proto/AbilityMetaTriggerElementReaction.proto b/protocol/proto/AbilityMetaTriggerElementReaction.proto
new file mode 100644
index 00000000..986a3c84
--- /dev/null
+++ b/protocol/proto/AbilityMetaTriggerElementReaction.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaTriggerElementReaction {
+ int32 hit_index = 9;
+ uint32 element_source_type = 7;
+ uint32 element_reactor_type = 12;
+ uint32 trigger_entity_id = 2;
+ uint32 element_reaction_type = 1;
+}
diff --git a/protocol/proto/AbilityMetaUpdateBaseReactionDamage.proto b/protocol/proto/AbilityMetaUpdateBaseReactionDamage.proto
new file mode 100644
index 00000000..3afc78e2
--- /dev/null
+++ b/protocol/proto/AbilityMetaUpdateBaseReactionDamage.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityString.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMetaUpdateBaseReactionDamage {
+ uint32 source_caster_id = 15;
+ AbilityString ability_name = 1;
+ AbilityString global_value_key = 4;
+ uint32 reaction_type = 8;
+}
diff --git a/protocol/proto/AbilityMixinAvatarCombat.proto b/protocol/proto/AbilityMixinAvatarCombat.proto
new file mode 100644
index 00000000..ae523210
--- /dev/null
+++ b/protocol/proto/AbilityMixinAvatarCombat.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinAvatarCombat {
+ bool is_enter_combat = 9;
+}
diff --git a/protocol/proto/AbilityMixinAvatarSteerByCamera.proto b/protocol/proto/AbilityMixinAvatarSteerByCamera.proto
new file mode 100644
index 00000000..94cb1e83
--- /dev/null
+++ b/protocol/proto/AbilityMixinAvatarSteerByCamera.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinAvatarSteerByCamera {
+ Vector target_dir = 7;
+ Vector target_pos = 6;
+}
diff --git a/protocol/proto/AbilityMixinCostStamina.proto b/protocol/proto/AbilityMixinCostStamina.proto
new file mode 100644
index 00000000..12c1228e
--- /dev/null
+++ b/protocol/proto/AbilityMixinCostStamina.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinCostStamina {
+ bool is_swim = 3;
+}
diff --git a/protocol/proto/AbilityMixinDoActionByElementReaction.proto b/protocol/proto/AbilityMixinDoActionByElementReaction.proto
new file mode 100644
index 00000000..17c10e47
--- /dev/null
+++ b/protocol/proto/AbilityMixinDoActionByElementReaction.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinDoActionByElementReaction {
+ uint32 target_entity_id = 1;
+}
diff --git a/protocol/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.proto b/protocol/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.proto
new file mode 100644
index 00000000..4acfe842
--- /dev/null
+++ b/protocol/proto/AbilityMixinDoActionBySelfModifierElementDurabilityRatio.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinDoActionBySelfModifierElementDurabilityRatio {
+ float last_durability_ratio = 9;
+}
diff --git a/protocol/proto/AbilityMixinElementShield.proto b/protocol/proto/AbilityMixinElementShield.proto
new file mode 100644
index 00000000..3ebe3220
--- /dev/null
+++ b/protocol/proto/AbilityMixinElementShield.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinElementShield {
+ float sub_shield = 10;
+ float shield = 8;
+ uint32 absorb_type = 1;
+ uint32 player_num = 4;
+ bool is_shield_broken = 9;
+ float max_shield = 12;
+}
diff --git a/protocol/proto/AbilityMixinEliteShield.proto b/protocol/proto/AbilityMixinEliteShield.proto
new file mode 100644
index 00000000..32ea89fb
--- /dev/null
+++ b/protocol/proto/AbilityMixinEliteShield.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinEliteShield {
+ float sub_shield = 2;
+}
diff --git a/protocol/proto/AbilityMixinEmpty.proto b/protocol/proto/AbilityMixinEmpty.proto
new file mode 100644
index 00000000..a15f7d93
--- /dev/null
+++ b/protocol/proto/AbilityMixinEmpty.proto
@@ -0,0 +1,22 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinEmpty {}
diff --git a/protocol/proto/AbilityMixinFieldEntityCountChange.proto b/protocol/proto/AbilityMixinFieldEntityCountChange.proto
new file mode 100644
index 00000000..8708a697
--- /dev/null
+++ b/protocol/proto/AbilityMixinFieldEntityCountChange.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinFieldEntityCountChange {
+ uint32 field_entity_count = 14;
+}
diff --git a/protocol/proto/AbilityMixinFireworksLauncher.proto b/protocol/proto/AbilityMixinFireworksLauncher.proto
new file mode 100644
index 00000000..6108aecc
--- /dev/null
+++ b/protocol/proto/AbilityMixinFireworksLauncher.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinFireworksLauncher {
+ uint32 invoke_type = 2;
+ uint32 start_count_down_time = 3;
+ uint32 fired_bullet_count = 1;
+ uint32 phase = 6;
+ repeated uint32 fireworks_config = 4;
+ uint32 turn_index = 7;
+}
diff --git a/protocol/proto/AbilityMixinGlobalShield.proto b/protocol/proto/AbilityMixinGlobalShield.proto
new file mode 100644
index 00000000..1c6f8139
--- /dev/null
+++ b/protocol/proto/AbilityMixinGlobalShield.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinGlobalShield {
+ bool is_create_effect = 4;
+ float sub_shield = 7;
+ float height_offset = 5;
+ uint32 avatar_id = 11;
+ float max_shield = 10;
+ string shield_effect_name = 2;
+}
diff --git a/protocol/proto/AbilityMixinRecoverInfo.proto b/protocol/proto/AbilityMixinRecoverInfo.proto
new file mode 100644
index 00000000..6ca91c76
--- /dev/null
+++ b/protocol/proto/AbilityMixinRecoverInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MassivePropSyncInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinRecoverInfo {
+ uint32 local_id = 3;
+ repeated uint32 data_list = 4;
+ bool is_serverbuff_modifier = 5;
+ repeated MassivePropSyncInfo massive_prop_list = 6;
+ oneof source {
+ uint32 instanced_ability_id = 1;
+ uint32 instanced_modifier_id = 2;
+ }
+}
diff --git a/protocol/proto/AbilityMixinScenePropSync.proto b/protocol/proto/AbilityMixinScenePropSync.proto
new file mode 100644
index 00000000..fa350581
--- /dev/null
+++ b/protocol/proto/AbilityMixinScenePropSync.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MassivePropSyncInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinScenePropSync {
+ repeated int64 delete_id_list = 5;
+ bool is_clear_all = 12;
+ repeated MassivePropSyncInfo massive_prop_list = 15;
+}
diff --git a/protocol/proto/AbilityMixinShieldBar.proto b/protocol/proto/AbilityMixinShieldBar.proto
new file mode 100644
index 00000000..9eded3e8
--- /dev/null
+++ b/protocol/proto/AbilityMixinShieldBar.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinShieldBar {
+ uint32 player_num = 14;
+ float max_shield = 15;
+ float shield = 12;
+ uint32 element_type = 13;
+}
diff --git a/protocol/proto/AbilityMixinShootFromCamera.proto b/protocol/proto/AbilityMixinShootFromCamera.proto
new file mode 100644
index 00000000..74c844bd
--- /dev/null
+++ b/protocol/proto/AbilityMixinShootFromCamera.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinShootFromCamera {
+ Vector init_pos = 13;
+ Vector forward = 2;
+}
diff --git a/protocol/proto/AbilityMixinUGCTimeControl.proto b/protocol/proto/AbilityMixinUGCTimeControl.proto
new file mode 100644
index 00000000..f756bd4f
--- /dev/null
+++ b/protocol/proto/AbilityMixinUGCTimeControl.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinUGCTimeControl {
+ uint64 start_move_time_ms = 13;
+ uint32 forward = 3;
+}
diff --git a/protocol/proto/AbilityMixinUIInteract.proto b/protocol/proto/AbilityMixinUIInteract.proto
new file mode 100644
index 00000000..f2041fd6
--- /dev/null
+++ b/protocol/proto/AbilityMixinUIInteract.proto
@@ -0,0 +1,22 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinUIInteract {}
diff --git a/protocol/proto/AbilityMixinWidgetMpSupport.proto b/protocol/proto/AbilityMixinWidgetMpSupport.proto
new file mode 100644
index 00000000..a32ed79c
--- /dev/null
+++ b/protocol/proto/AbilityMixinWidgetMpSupport.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinWidgetMpSupport {
+ uint32 target_entity_id = 9;
+}
diff --git a/protocol/proto/AbilityMixinWindSeedSpawner.proto b/protocol/proto/AbilityMixinWindSeedSpawner.proto
new file mode 100644
index 00000000..5f7092b6
--- /dev/null
+++ b/protocol/proto/AbilityMixinWindSeedSpawner.proto
@@ -0,0 +1,40 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinWindSeedSpawner {
+ oneof cmd {
+ AddSignal add_signal = 2;
+ RefreshSeed refresh_seed = 15;
+ CatchSeed catch_seed = 11;
+ }
+
+ message AddSignal {}
+
+ message RefreshSeed {
+ repeated Vector pos_list = 6;
+ }
+
+ message CatchSeed {
+ uint32 entity_id = 8;
+ }
+}
diff --git a/protocol/proto/AbilityMixinWindZone.proto b/protocol/proto/AbilityMixinWindZone.proto
new file mode 100644
index 00000000..ab386984
--- /dev/null
+++ b/protocol/proto/AbilityMixinWindZone.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityMixinWindZone {
+ repeated uint32 entity_ids = 13;
+ repeated uint32 zone_id_list = 10;
+}
diff --git a/protocol/proto/AbilityScalarType.proto b/protocol/proto/AbilityScalarType.proto
new file mode 100644
index 00000000..49a1febd
--- /dev/null
+++ b/protocol/proto/AbilityScalarType.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum AbilityScalarType {
+ ABILITY_SCALAR_TYPE_UNKNOWN = 0;
+ ABILITY_SCALAR_TYPE_FLOAT = 1;
+ ABILITY_SCALAR_TYPE_INT = 2;
+ ABILITY_SCALAR_TYPE_BOOL = 3;
+ ABILITY_SCALAR_TYPE_TRIGGER = 4;
+ ABILITY_SCALAR_TYPE_STRING = 5;
+ ABILITY_SCALAR_TYPE_UINT = 6;
+}
diff --git a/protocol/proto/AbilityScalarValueEntry.proto b/protocol/proto/AbilityScalarValueEntry.proto
new file mode 100644
index 00000000..d89349dd
--- /dev/null
+++ b/protocol/proto/AbilityScalarValueEntry.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityScalarType.proto";
+import "AbilityString.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityScalarValueEntry {
+ AbilityString key = 1;
+ AbilityScalarType value_type = 2;
+ oneof value {
+ float float_value = 3;
+ string string_value = 4;
+ int32 int_value = 5;
+ uint32 uint_value = 6;
+ }
+}
diff --git a/protocol/proto/AbilityString.proto b/protocol/proto/AbilityString.proto
new file mode 100644
index 00000000..17d707f0
--- /dev/null
+++ b/protocol/proto/AbilityString.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilityString {
+ oneof type {
+ string str = 1;
+ uint32 hash = 2;
+ }
+}
diff --git a/protocol/proto/AbilitySyncStateInfo.proto b/protocol/proto/AbilitySyncStateInfo.proto
new file mode 100644
index 00000000..9ce90de6
--- /dev/null
+++ b/protocol/proto/AbilitySyncStateInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityAppliedAbility.proto";
+import "AbilityAppliedModifier.proto";
+import "AbilityMixinRecoverInfo.proto";
+import "AbilityScalarValueEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AbilitySyncStateInfo {
+ bool is_inited = 1;
+ repeated AbilityScalarValueEntry dynamic_value_map = 2;
+ repeated AbilityAppliedAbility applied_abilities = 3;
+ repeated AbilityAppliedModifier applied_modifiers = 4;
+ repeated AbilityMixinRecoverInfo mixin_recover_infos = 5;
+ repeated AbilityScalarValueEntry sgv_dynamic_value_map = 6;
+}
diff --git a/protocol/proto/AcceptCityReputationRequestReq.proto b/protocol/proto/AcceptCityReputationRequestReq.proto
new file mode 100644
index 00000000..114b1af5
--- /dev/null
+++ b/protocol/proto/AcceptCityReputationRequestReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2890
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AcceptCityReputationRequestReq {
+ uint32 city_id = 14;
+ uint32 request_id = 5;
+}
diff --git a/protocol/proto/AcceptCityReputationRequestRsp.proto b/protocol/proto/AcceptCityReputationRequestRsp.proto
new file mode 100644
index 00000000..d535a945
--- /dev/null
+++ b/protocol/proto/AcceptCityReputationRequestRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2873
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AcceptCityReputationRequestRsp {
+ uint32 request_id = 5;
+ uint32 city_id = 13;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/Achievement.proto b/protocol/proto/Achievement.proto
new file mode 100644
index 00000000..9421f64c
--- /dev/null
+++ b/protocol/proto/Achievement.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Achievement {
+ uint32 finish_timestamp = 11;
+ Status status = 13;
+ uint32 cur_progress = 12;
+ uint32 id = 14;
+ uint32 total_progress = 8;
+
+ enum Status {
+ STATUS_INVALID = 0;
+ STATUS_UNFINISHED = 1;
+ STATUS_FINISHED = 2;
+ STATUS_REWARD_TAKEN = 3;
+ }
+}
diff --git a/protocol/proto/AchievementAllDataNotify.proto b/protocol/proto/AchievementAllDataNotify.proto
new file mode 100644
index 00000000..020958e6
--- /dev/null
+++ b/protocol/proto/AchievementAllDataNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Achievement.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2676
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AchievementAllDataNotify {
+ repeated Achievement achievement_list = 4;
+ repeated uint32 reward_taken_goal_id_list = 2;
+}
diff --git a/protocol/proto/AchievementUpdateNotify.proto b/protocol/proto/AchievementUpdateNotify.proto
new file mode 100644
index 00000000..3c5f8b16
--- /dev/null
+++ b/protocol/proto/AchievementUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Achievement.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2668
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AchievementUpdateNotify {
+ repeated Achievement achievement_list = 14;
+}
diff --git a/protocol/proto/ActivityAcceptAllGiveGiftReq.proto b/protocol/proto/ActivityAcceptAllGiveGiftReq.proto
new file mode 100644
index 00000000..265d5d62
--- /dev/null
+++ b/protocol/proto/ActivityAcceptAllGiveGiftReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8113
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityAcceptAllGiveGiftReq {
+ uint32 schedule_id = 3;
+}
diff --git a/protocol/proto/ActivityAcceptAllGiveGiftRsp.proto b/protocol/proto/ActivityAcceptAllGiveGiftRsp.proto
new file mode 100644
index 00000000..401d8d6c
--- /dev/null
+++ b/protocol/proto/ActivityAcceptAllGiveGiftRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityAcceptGiftResultInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8132
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityAcceptAllGiveGiftRsp {
+ repeated ActivityAcceptGiftResultInfo accept_gift_result_info_list = 5;
+ uint32 schedule_id = 10;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/ActivityAcceptGiftResultInfo.proto b/protocol/proto/ActivityAcceptGiftResultInfo.proto
new file mode 100644
index 00000000..3c84b69a
--- /dev/null
+++ b/protocol/proto/ActivityAcceptGiftResultInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ActivityAcceptGiftResultInfo {
+ map unaccept_gift_num_map = 3;
+ uint32 uid = 6;
+ map accept_gift_num_map = 13;
+}
diff --git a/protocol/proto/ActivityAcceptGiveGiftReq.proto b/protocol/proto/ActivityAcceptGiveGiftReq.proto
new file mode 100644
index 00000000..269c5069
--- /dev/null
+++ b/protocol/proto/ActivityAcceptGiveGiftReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8095
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityAcceptGiveGiftReq {
+ uint32 schedule_id = 3;
+ uint32 uid = 12;
+}
diff --git a/protocol/proto/ActivityAcceptGiveGiftRsp.proto b/protocol/proto/ActivityAcceptGiveGiftRsp.proto
new file mode 100644
index 00000000..ab2d9b2b
--- /dev/null
+++ b/protocol/proto/ActivityAcceptGiveGiftRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityAcceptGiftResultInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8502
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityAcceptGiveGiftRsp {
+ ActivityAcceptGiftResultInfo accept_gift_result_info = 4;
+ int32 retcode = 11;
+ uint32 schedule_id = 10;
+}
diff --git a/protocol/proto/ActivityBannerClearReq.proto b/protocol/proto/ActivityBannerClearReq.proto
new file mode 100644
index 00000000..67dd324f
--- /dev/null
+++ b/protocol/proto/ActivityBannerClearReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2009
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityBannerClearReq {
+ uint32 schedule_id = 15;
+ uint32 activity_id = 12;
+}
diff --git a/protocol/proto/ActivityBannerClearRsp.proto b/protocol/proto/ActivityBannerClearRsp.proto
new file mode 100644
index 00000000..1c7d9d43
--- /dev/null
+++ b/protocol/proto/ActivityBannerClearRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2163
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityBannerClearRsp {
+ uint32 activity_id = 4;
+ int32 retcode = 6;
+ uint32 schedule_id = 11;
+}
diff --git a/protocol/proto/ActivityBannerNotify.proto b/protocol/proto/ActivityBannerNotify.proto
new file mode 100644
index 00000000..ff83dc9f
--- /dev/null
+++ b/protocol/proto/ActivityBannerNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2155
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityBannerNotify {
+ uint32 schedule_id = 1;
+ uint32 activity_id = 3;
+}
diff --git a/protocol/proto/ActivityCoinInfoNotify.proto b/protocol/proto/ActivityCoinInfoNotify.proto
new file mode 100644
index 00000000..a819819c
--- /dev/null
+++ b/protocol/proto/ActivityCoinInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2008
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityCoinInfoNotify {
+ uint32 schedule_id = 8;
+ uint32 activity_id = 10;
+ map activity_coin_map = 2;
+}
diff --git a/protocol/proto/ActivityCondStateChangeNotify.proto b/protocol/proto/ActivityCondStateChangeNotify.proto
new file mode 100644
index 00000000..c8604be5
--- /dev/null
+++ b/protocol/proto/ActivityCondStateChangeNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Uint32Pair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2140
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityCondStateChangeNotify {
+ repeated uint32 activated_sale_id_list = 9;
+ uint32 activity_id = 4;
+ uint32 schedule_id = 5;
+ repeated uint32 expire_cond_list = 11;
+ repeated Uint32Pair disable_transfer_point_interaction_list = 12;
+ repeated uint32 meet_cond_list = 1;
+}
diff --git a/protocol/proto/ActivityDisableTransferPointInteractionNotify.proto b/protocol/proto/ActivityDisableTransferPointInteractionNotify.proto
new file mode 100644
index 00000000..f9eaa40a
--- /dev/null
+++ b/protocol/proto/ActivityDisableTransferPointInteractionNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Uint32Pair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8982
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityDisableTransferPointInteractionNotify {
+ bool is_disable = 10;
+ Uint32Pair scene_point_pair = 5;
+}
diff --git a/protocol/proto/ActivityDungeonAvatar.proto b/protocol/proto/ActivityDungeonAvatar.proto
new file mode 100644
index 00000000..c1e8ca28
--- /dev/null
+++ b/protocol/proto/ActivityDungeonAvatar.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ActivityDungeonAvatar {
+ uint32 avatar_id = 1;
+ bool is_trial = 2;
+ uint32 costume_id = 3;
+}
diff --git a/protocol/proto/ActivityFriendGiftWishData.proto b/protocol/proto/ActivityFriendGiftWishData.proto
new file mode 100644
index 00000000..c017cee3
--- /dev/null
+++ b/protocol/proto/ActivityFriendGiftWishData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ActivityFriendGiftWishData {
+ string nickname = 7;
+ string remark_name = 3;
+ ProfilePicture profile_picture = 11;
+ map gift_num_map = 9;
+ uint32 uid = 8;
+}
diff --git a/protocol/proto/ActivityGetCanGiveFriendGiftReq.proto b/protocol/proto/ActivityGetCanGiveFriendGiftReq.proto
new file mode 100644
index 00000000..daa64613
--- /dev/null
+++ b/protocol/proto/ActivityGetCanGiveFriendGiftReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8559
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityGetCanGiveFriendGiftReq {
+ uint32 schedule_id = 8;
+}
diff --git a/protocol/proto/ActivityGetCanGiveFriendGiftRsp.proto b/protocol/proto/ActivityGetCanGiveFriendGiftRsp.proto
new file mode 100644
index 00000000..972b94aa
--- /dev/null
+++ b/protocol/proto/ActivityGetCanGiveFriendGiftRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8848
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityGetCanGiveFriendGiftRsp {
+ uint32 schedule_id = 7;
+ int32 retcode = 3;
+ map gift_num_map = 14;
+}
diff --git a/protocol/proto/ActivityGetFriendGiftWishListReq.proto b/protocol/proto/ActivityGetFriendGiftWishListReq.proto
new file mode 100644
index 00000000..60d7dbef
--- /dev/null
+++ b/protocol/proto/ActivityGetFriendGiftWishListReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8806
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityGetFriendGiftWishListReq {
+ uint32 schedule_id = 6;
+}
diff --git a/protocol/proto/ActivityGetFriendGiftWishListRsp.proto b/protocol/proto/ActivityGetFriendGiftWishListRsp.proto
new file mode 100644
index 00000000..2c2517a9
--- /dev/null
+++ b/protocol/proto/ActivityGetFriendGiftWishListRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityFriendGiftWishData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8253
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityGetFriendGiftWishListRsp {
+ int32 retcode = 6;
+ repeated ActivityFriendGiftWishData friend_gift_wish_list = 11;
+ uint32 schedule_id = 10;
+}
diff --git a/protocol/proto/ActivityGetRecvGiftListReq.proto b/protocol/proto/ActivityGetRecvGiftListReq.proto
new file mode 100644
index 00000000..d83dba29
--- /dev/null
+++ b/protocol/proto/ActivityGetRecvGiftListReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8725
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityGetRecvGiftListReq {
+ uint32 schedule_id = 8;
+}
diff --git a/protocol/proto/ActivityGetRecvGiftListRsp.proto b/protocol/proto/ActivityGetRecvGiftListRsp.proto
new file mode 100644
index 00000000..afe92a29
--- /dev/null
+++ b/protocol/proto/ActivityGetRecvGiftListRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityRecvGiftData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8120
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityGetRecvGiftListRsp {
+ int32 retcode = 15;
+ repeated ActivityRecvGiftData recv_gift_list = 11;
+ uint32 schedule_id = 6;
+}
diff --git a/protocol/proto/ActivityGiveFriendGiftReq.proto b/protocol/proto/ActivityGiveFriendGiftReq.proto
new file mode 100644
index 00000000..2c94785d
--- /dev/null
+++ b/protocol/proto/ActivityGiveFriendGiftReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8233
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityGiveFriendGiftReq {
+ uint32 uid = 5;
+ uint32 schedule_id = 1;
+ map gift_num_map = 4;
+}
diff --git a/protocol/proto/ActivityGiveFriendGiftRsp.proto b/protocol/proto/ActivityGiveFriendGiftRsp.proto
new file mode 100644
index 00000000..241c14b6
--- /dev/null
+++ b/protocol/proto/ActivityGiveFriendGiftRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8696
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityGiveFriendGiftRsp {
+ repeated uint32 limit_gift_list = 3;
+ uint32 schedule_id = 4;
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/ActivityHaveRecvGiftNotify.proto b/protocol/proto/ActivityHaveRecvGiftNotify.proto
new file mode 100644
index 00000000..e3d04a50
--- /dev/null
+++ b/protocol/proto/ActivityHaveRecvGiftNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8733
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityHaveRecvGiftNotify {
+ uint32 schedule_id = 7;
+}
diff --git a/protocol/proto/ActivityInfo.proto b/protocol/proto/ActivityInfo.proto
new file mode 100644
index 00000000..566420b3
--- /dev/null
+++ b/protocol/proto/ActivityInfo.proto
@@ -0,0 +1,173 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityPushTipsData.proto";
+import "ActivityWatcherInfo.proto";
+import "ArenaChallengeActivityDetailInfo.proto";
+import "AsterActivityDetailInfo.proto";
+import "BartenderActivityDetailInfo.proto";
+import "BlessingActivityDetailInfo.proto";
+import "BlitzRushActivityDetailInfo.proto";
+import "BounceConjuringActivityDetailInfo.proto";
+import "BuoyantCombatDetailInfo.proto";
+import "ChannelerSlabActivityDetailInfo.proto";
+import "CharAmusementDetailInfo.proto";
+import "ChessActivityDetailInfo.proto";
+import "CrucibleActivityDetailInfo.proto";
+import "CrystalLinkActivityDetailInfo.proto";
+import "DeliveryActivityDetailInfo.proto";
+import "DigActivityDetailInfo.proto";
+import "DragonSpineActivityDetailInfo.proto";
+import "EchoShellDetailInfo.proto";
+import "EffigyActivityDetailInfo.proto";
+import "EffigyChallengeV2DetailInfo.proto";
+import "ExpeditionActivityDetailInfo.proto";
+import "FindHilichurlDetailInfo.proto";
+import "FleurFairActivityDetailInfo.proto";
+import "FlightActivityDetailInfo.proto";
+import "FungusFighterDetailInfo.proto";
+import "GachaActivityDetailInfo.proto";
+import "GearActivityDetailInfo.proto";
+import "GravenInnocenceDetailInfo.proto";
+import "HachiActivityDetailInfo.proto";
+import "HideAndSeekActivityDetailInfo.proto";
+import "InstableSprayDetailInfo.proto";
+import "IrodoriActivityDetailInfo.proto";
+import "IslandPartyDetailInfo.proto";
+import "LanternRiteActivityDetailInfo.proto";
+import "LuminanceStoneChallengeActivityDetailInfo.proto";
+import "LunaRiteDetailInfo.proto";
+import "MichiaeMatsuriActivityDetailInfo.proto";
+import "MistTrialActivityDetailInfo.proto";
+import "MoonfinTrialActivityDetailInfo.proto";
+import "MuqadasPotionActivityDetailInfo.proto";
+import "MusicGameActivityDetailInfo.proto";
+import "PhotoActivityDetailInfo.proto";
+import "PlantFlowerActivityDetailInfo.proto";
+import "PotionActivityDetailInfo.proto";
+import "RockBoardExploreDetailInfo.proto";
+import "RogueDiaryActivityDetailInfo.proto";
+import "RoguelikeDungeonActivityDetailInfo.proto";
+import "SalesmanActivityDetailInfo.proto";
+import "SeaLampActivityDetailInfo.proto";
+import "SeaLampActivityInfo.proto";
+import "SpiceActivityDetailInfo.proto";
+import "SummerTimeDetailInfo.proto";
+import "SummerTimeV2DetailInfo.proto";
+import "SumoActivityDetailInfo.proto";
+import "TanukiTravelActivityDetailInfo.proto";
+import "TreasureMapActivityDetailInfo.proto";
+import "TreasureSeelieActivityDetailInfo.proto";
+import "TrialAvatarActivityDetailInfo.proto";
+import "UgcActivityDetailInfo.proto";
+import "VintageDetailInfo.proto";
+import "WaterSpiritActivityDetailInfo.proto";
+import "WindFieldDetailInfo.proto";
+import "WinterCampActivityDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ActivityInfo {
+ bool is_finished = 6;
+ uint32 activity_type = 4;
+ uint32 begin_time = 8;
+ repeated uint32 taken_reward_list = 329;
+ bool is_hidden = 919;
+ bool is_quick_open = 1449;
+ repeated uint32 meet_cond_list = 10;
+ map activity_coin_map = 682;
+ bool is_banner_cleared = 102;
+ uint32 cur_score = 1906;
+ uint32 first_day_start_time = 592;
+ uint32 activity_id = 12;
+ bool is_play_open_anim = 13;
+ uint32 end_time = 5;
+ uint32 score_limit = 1958;
+ map wish_gift_num_map = 1399;
+ uint32 selected_avatar_reward_id = 1290;
+ bool is_common_content_closed = 1963;
+ repeated uint32 expire_cond_list = 3;
+ repeated ActivityPushTipsData activity_push_tips_data_list = 864;
+ repeated ActivityWatcherInfo watcher_info_list = 2;
+ uint32 schedule_id = 15;
+ bool is_starting = 9;
+ oneof detail {
+ SeaLampActivityDetailInfo sam_lamp_info = 7;
+ CrucibleActivityDetailInfo crucible_info = 14;
+ SalesmanActivityDetailInfo salesman_info = 11;
+ TrialAvatarActivityDetailInfo trial_avatar_info = 1;
+ DeliveryActivityDetailInfo delivery_info = 1092;
+ AsterActivityDetailInfo aster_info = 557;
+ FlightActivityDetailInfo flight_info = 1365;
+ DragonSpineActivityDetailInfo dragon_spine_info = 1727;
+ EffigyActivityDetailInfo effigy_info = 391;
+ TreasureMapActivityDetailInfo treasure_map_info = 1114;
+ BlessingActivityDetailInfo blessing_info = 1869;
+ SeaLampActivityInfo sea_lamp_info = 494;
+ ExpeditionActivityDetailInfo expedition_info = 202;
+ ArenaChallengeActivityDetailInfo arena_challenge_info = 859;
+ FleurFairActivityDetailInfo fleur_fair_info = 857;
+ WaterSpiritActivityDetailInfo water_spirit_info = 1675;
+ ChannelerSlabActivityDetailInfo channeler_slab_info = 1015;
+ MistTrialActivityDetailInfo mist_trial_activity_info = 156;
+ HideAndSeekActivityDetailInfo hide_and_seek_info = 427;
+ FindHilichurlDetailInfo find_hilichurl_info = 1411;
+ SummerTimeDetailInfo summer_time_info = 1372;
+ BuoyantCombatDetailInfo buoyant_combat_info = 1842;
+ EchoShellDetailInfo echo_shell_info = 1113;
+ BounceConjuringActivityDetailInfo bounce_conjuring_info = 767;
+ BlitzRushActivityDetailInfo blitz_rush_info = 794;
+ ChessActivityDetailInfo chess_info = 927;
+ SumoActivityDetailInfo sumo_info = 1261;
+ MoonfinTrialActivityDetailInfo moonfin_trial_info = 1588;
+ LunaRiteDetailInfo luna_rite_info = 814;
+ PlantFlowerActivityDetailInfo plant_flower_info = 54;
+ MusicGameActivityDetailInfo music_game_info = 460;
+ RoguelikeDungeonActivityDetailInfo roguelike_dungeon_info = 219;
+ DigActivityDetailInfo dig_info = 403;
+ HachiActivityDetailInfo hachi_info = 491;
+ WinterCampActivityDetailInfo winter_camp_info = 1083;
+ PotionActivityDetailInfo potion_info = 1273;
+ TanukiTravelActivityDetailInfo tanuki_travel_activity_info = 1796;
+ LanternRiteActivityDetailInfo lantern_rite_activity_info = 1876;
+ MichiaeMatsuriActivityDetailInfo michiae_matsuri_info = 194;
+ BartenderActivityDetailInfo bartender_info = 1725;
+ UgcActivityDetailInfo ugc_info = 703;
+ CrystalLinkActivityDetailInfo crystal_link_info = 1226;
+ IrodoriActivityDetailInfo irodori_info = 750;
+ PhotoActivityDetailInfo photo_info = 328;
+ SpiceActivityDetailInfo spice_info = 1891;
+ GachaActivityDetailInfo gacha_info = 825;
+ LuminanceStoneChallengeActivityDetailInfo luminance_stone_challenge_info = 1308;
+ RogueDiaryActivityDetailInfo rogue_diary_info = 812;
+ SummerTimeV2DetailInfo summer_time_v2_info = 622;
+ IslandPartyDetailInfo island_party_info = 1885;
+ GearActivityDetailInfo gear_info = 722;
+ GravenInnocenceDetailInfo graven_innocence_info = 1911;
+ InstableSprayDetailInfo instable_spray_info = 1043;
+ MuqadasPotionActivityDetailInfo muqadas_potion_info = 1157;
+ TreasureSeelieActivityDetailInfo treasure_seelie_info = 966;
+ RockBoardExploreDetailInfo rock_board_explore_info = 1078;
+ VintageDetailInfo vintage_info = 445;
+ WindFieldDetailInfo wind_field_info = 352;
+ FungusFighterDetailInfo fungus_fighter_info = 490;
+ CharAmusementDetailInfo char_amusement_info = 1496;
+ EffigyChallengeV2DetailInfo effigy_challenge_info = 1025;
+ }
+}
diff --git a/protocol/proto/ActivityInfoNotify.proto b/protocol/proto/ActivityInfoNotify.proto
new file mode 100644
index 00000000..1b708a0d
--- /dev/null
+++ b/protocol/proto/ActivityInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2060
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityInfoNotify {
+ ActivityInfo activity_info = 9;
+}
diff --git a/protocol/proto/ActivityPlayOpenAnimNotify.proto b/protocol/proto/ActivityPlayOpenAnimNotify.proto
new file mode 100644
index 00000000..149717ee
--- /dev/null
+++ b/protocol/proto/ActivityPlayOpenAnimNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2157
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityPlayOpenAnimNotify {
+ uint32 activity_id = 8;
+}
diff --git a/protocol/proto/ActivityPushTipsData.proto b/protocol/proto/ActivityPushTipsData.proto
new file mode 100644
index 00000000..4aee80a0
--- /dev/null
+++ b/protocol/proto/ActivityPushTipsData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityPushTipsState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ActivityPushTipsData {
+ ActivityPushTipsState state = 10;
+ uint32 activity_push_tips_id = 4;
+}
diff --git a/protocol/proto/ActivityPushTipsInfoNotify.proto b/protocol/proto/ActivityPushTipsInfoNotify.proto
new file mode 100644
index 00000000..a367eeab
--- /dev/null
+++ b/protocol/proto/ActivityPushTipsInfoNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityPushTipsData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8513
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityPushTipsInfoNotify {
+ uint32 schedule_id = 14;
+ repeated ActivityPushTipsData activity_push_tips_data_list = 3;
+ uint32 activity_id = 10;
+}
diff --git a/protocol/proto/ActivityPushTipsState.proto b/protocol/proto/ActivityPushTipsState.proto
new file mode 100644
index 00000000..65a31d54
--- /dev/null
+++ b/protocol/proto/ActivityPushTipsState.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ActivityPushTipsState {
+ ACTIVITY_PUSH_TIPS_STATE_NONE = 0;
+ ACTIVITY_PUSH_TIPS_STATE_START = 1;
+ ACTIVITY_PUSH_TIPS_STATE_READ = 2;
+}
diff --git a/protocol/proto/ActivityReadPushTipsReq.proto b/protocol/proto/ActivityReadPushTipsReq.proto
new file mode 100644
index 00000000..07f90375
--- /dev/null
+++ b/protocol/proto/ActivityReadPushTipsReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8145
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityReadPushTipsReq {
+ repeated uint32 activity_push_tips_id_list = 14;
+ uint32 activity_id = 7;
+}
diff --git a/protocol/proto/ActivityReadPushTipsRsp.proto b/protocol/proto/ActivityReadPushTipsRsp.proto
new file mode 100644
index 00000000..9b71ec0f
--- /dev/null
+++ b/protocol/proto/ActivityReadPushTipsRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8574
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityReadPushTipsRsp {
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/ActivityRecvGiftData.proto b/protocol/proto/ActivityRecvGiftData.proto
new file mode 100644
index 00000000..18245109
--- /dev/null
+++ b/protocol/proto/ActivityRecvGiftData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ActivityRecvGiftData {
+ uint32 uid = 15;
+ string nickname = 3;
+ string remark_name = 10;
+ ProfilePicture profile_picture = 14;
+ map gift_num_map = 8;
+}
diff --git a/protocol/proto/ActivitySaleChangeNotify.proto b/protocol/proto/ActivitySaleChangeNotify.proto
new file mode 100644
index 00000000..63577964
--- /dev/null
+++ b/protocol/proto/ActivitySaleChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2071
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivitySaleChangeNotify {
+ uint32 sale_id = 5;
+ bool is_close = 1;
+}
diff --git a/protocol/proto/ActivityScheduleInfo.proto b/protocol/proto/ActivityScheduleInfo.proto
new file mode 100644
index 00000000..0874ab5a
--- /dev/null
+++ b/protocol/proto/ActivityScheduleInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ActivityScheduleInfo {
+ uint32 schedule_id = 13;
+ bool is_open = 2;
+ uint32 activity_id = 14;
+ uint32 end_time = 1;
+ uint32 begin_time = 10;
+}
diff --git a/protocol/proto/ActivityScheduleInfoNotify.proto b/protocol/proto/ActivityScheduleInfoNotify.proto
new file mode 100644
index 00000000..78a3d695
--- /dev/null
+++ b/protocol/proto/ActivityScheduleInfoNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityScheduleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2073
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityScheduleInfoNotify {
+ repeated ActivityScheduleInfo activity_schedule_list = 12;
+ uint32 remain_fly_sea_lamp_num = 6;
+}
diff --git a/protocol/proto/ActivitySelectAvatarCardReq.proto b/protocol/proto/ActivitySelectAvatarCardReq.proto
new file mode 100644
index 00000000..60af1cc2
--- /dev/null
+++ b/protocol/proto/ActivitySelectAvatarCardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2028
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivitySelectAvatarCardReq {
+ uint32 activity_id = 15;
+ uint32 reward_id = 10;
+}
diff --git a/protocol/proto/ActivitySelectAvatarCardRsp.proto b/protocol/proto/ActivitySelectAvatarCardRsp.proto
new file mode 100644
index 00000000..18962e62
--- /dev/null
+++ b/protocol/proto/ActivitySelectAvatarCardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2189
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivitySelectAvatarCardRsp {
+ uint32 activity_id = 4;
+ int32 retcode = 3;
+ uint32 reward_id = 9;
+}
diff --git a/protocol/proto/ActivitySetGiftWishReq.proto b/protocol/proto/ActivitySetGiftWishReq.proto
new file mode 100644
index 00000000..c12cebd1
--- /dev/null
+++ b/protocol/proto/ActivitySetGiftWishReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8017
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivitySetGiftWishReq {
+ map gift_num_map = 2;
+ uint32 schedule_id = 14;
+}
diff --git a/protocol/proto/ActivitySetGiftWishRsp.proto b/protocol/proto/ActivitySetGiftWishRsp.proto
new file mode 100644
index 00000000..d42ded71
--- /dev/null
+++ b/protocol/proto/ActivitySetGiftWishRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8554
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivitySetGiftWishRsp {
+ uint32 schedule_id = 15;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/ActivityShopSheetInfo.proto b/protocol/proto/ActivityShopSheetInfo.proto
new file mode 100644
index 00000000..18c38cc6
--- /dev/null
+++ b/protocol/proto/ActivityShopSheetInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ActivityShopSheetInfo {
+ uint32 end_time = 1;
+ uint32 begin_time = 12;
+ uint32 sheet_id = 2;
+}
diff --git a/protocol/proto/ActivityTakeAllScoreRewardReq.proto b/protocol/proto/ActivityTakeAllScoreRewardReq.proto
new file mode 100644
index 00000000..df736431
--- /dev/null
+++ b/protocol/proto/ActivityTakeAllScoreRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8372
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityTakeAllScoreRewardReq {
+ uint32 activity_id = 9;
+}
diff --git a/protocol/proto/ActivityTakeAllScoreRewardRsp.proto b/protocol/proto/ActivityTakeAllScoreRewardRsp.proto
new file mode 100644
index 00000000..5f72bc86
--- /dev/null
+++ b/protocol/proto/ActivityTakeAllScoreRewardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8043
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityTakeAllScoreRewardRsp {
+ repeated uint32 reward_config_list = 14;
+ int32 retcode = 15;
+ uint32 activity_id = 7;
+}
diff --git a/protocol/proto/ActivityTakeScoreRewardReq.proto b/protocol/proto/ActivityTakeScoreRewardReq.proto
new file mode 100644
index 00000000..80eafbff
--- /dev/null
+++ b/protocol/proto/ActivityTakeScoreRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8971
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityTakeScoreRewardReq {
+ uint32 reward_config_id = 12;
+ uint32 activity_id = 9;
+}
diff --git a/protocol/proto/ActivityTakeScoreRewardRsp.proto b/protocol/proto/ActivityTakeScoreRewardRsp.proto
new file mode 100644
index 00000000..128685ae
--- /dev/null
+++ b/protocol/proto/ActivityTakeScoreRewardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8583
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityTakeScoreRewardRsp {
+ uint32 activity_id = 13;
+ int32 retcode = 9;
+ uint32 reward_config_id = 15;
+}
diff --git a/protocol/proto/ActivityTakeWatcherRewardBatchReq.proto b/protocol/proto/ActivityTakeWatcherRewardBatchReq.proto
new file mode 100644
index 00000000..4bf06f72
--- /dev/null
+++ b/protocol/proto/ActivityTakeWatcherRewardBatchReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2159
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityTakeWatcherRewardBatchReq {
+ repeated uint32 watcher_id_list = 11;
+ uint32 activity_id = 3;
+}
diff --git a/protocol/proto/ActivityTakeWatcherRewardBatchRsp.proto b/protocol/proto/ActivityTakeWatcherRewardBatchRsp.proto
new file mode 100644
index 00000000..3408ac26
--- /dev/null
+++ b/protocol/proto/ActivityTakeWatcherRewardBatchRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2109
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityTakeWatcherRewardBatchRsp {
+ repeated uint32 watcher_id_list = 6;
+ int32 retcode = 15;
+ uint32 activity_id = 7;
+ repeated ItemParam item_list = 1;
+}
diff --git a/protocol/proto/ActivityTakeWatcherRewardReq.proto b/protocol/proto/ActivityTakeWatcherRewardReq.proto
new file mode 100644
index 00000000..256f8630
--- /dev/null
+++ b/protocol/proto/ActivityTakeWatcherRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2038
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityTakeWatcherRewardReq {
+ uint32 activity_id = 4;
+ uint32 watcher_id = 14;
+}
diff --git a/protocol/proto/ActivityTakeWatcherRewardRsp.proto b/protocol/proto/ActivityTakeWatcherRewardRsp.proto
new file mode 100644
index 00000000..88414814
--- /dev/null
+++ b/protocol/proto/ActivityTakeWatcherRewardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2034
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ActivityTakeWatcherRewardRsp {
+ uint32 activity_id = 14;
+ uint32 watcher_id = 7;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/ActivityUpdateWatcherNotify.proto b/protocol/proto/ActivityUpdateWatcherNotify.proto
new file mode 100644
index 00000000..a4bea87c
--- /dev/null
+++ b/protocol/proto/ActivityUpdateWatcherNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityWatcherInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2156
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ActivityUpdateWatcherNotify {
+ ActivityWatcherInfo watcher_info = 2;
+ uint32 activity_id = 1;
+}
diff --git a/protocol/proto/ActivityWatcherInfo.proto b/protocol/proto/ActivityWatcherInfo.proto
new file mode 100644
index 00000000..c0441531
--- /dev/null
+++ b/protocol/proto/ActivityWatcherInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ActivityWatcherInfo {
+ bool is_taken_reward = 8;
+ uint32 cur_progress = 2;
+ uint32 total_progress = 4;
+ uint32 watcher_id = 5;
+}
diff --git a/protocol/proto/AddAranaraCollectionNotify.proto b/protocol/proto/AddAranaraCollectionNotify.proto
new file mode 100644
index 00000000..5f08c97a
--- /dev/null
+++ b/protocol/proto/AddAranaraCollectionNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AranaraCollectionState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6368
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AddAranaraCollectionNotify {
+ uint32 collection_type = 7;
+ AranaraCollectionState target_state = 12;
+ AranaraCollectionState from_state = 15;
+ uint32 collection_id = 8;
+}
diff --git a/protocol/proto/AddBackupAvatarTeamReq.proto b/protocol/proto/AddBackupAvatarTeamReq.proto
new file mode 100644
index 00000000..1bcee9ae
--- /dev/null
+++ b/protocol/proto/AddBackupAvatarTeamReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1687
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AddBackupAvatarTeamReq {}
diff --git a/protocol/proto/AddBackupAvatarTeamRsp.proto b/protocol/proto/AddBackupAvatarTeamRsp.proto
new file mode 100644
index 00000000..da5add73
--- /dev/null
+++ b/protocol/proto/AddBackupAvatarTeamRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1735
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AddBackupAvatarTeamRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/AddBlacklistReq.proto b/protocol/proto/AddBlacklistReq.proto
new file mode 100644
index 00000000..522f6137
--- /dev/null
+++ b/protocol/proto/AddBlacklistReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4088
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AddBlacklistReq {
+ uint32 target_uid = 2;
+}
diff --git a/protocol/proto/AddBlacklistRsp.proto b/protocol/proto/AddBlacklistRsp.proto
new file mode 100644
index 00000000..097601e3
--- /dev/null
+++ b/protocol/proto/AddBlacklistRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4026
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AddBlacklistRsp {
+ FriendBrief target_friend_brief = 13;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/AddFriendNotify.proto b/protocol/proto/AddFriendNotify.proto
new file mode 100644
index 00000000..45fa6eed
--- /dev/null
+++ b/protocol/proto/AddFriendNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4022
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AddFriendNotify {
+ uint32 target_uid = 11;
+ FriendBrief target_friend_brief = 10;
+}
diff --git a/protocol/proto/AddNoGachaAvatarCardNotify.proto b/protocol/proto/AddNoGachaAvatarCardNotify.proto
new file mode 100644
index 00000000..6b964227
--- /dev/null
+++ b/protocol/proto/AddNoGachaAvatarCardNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AddNoGachaAvatarCardTransferItem.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1655
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AddNoGachaAvatarCardNotify {
+ repeated AddNoGachaAvatarCardTransferItem transfer_item_list = 4;
+ uint32 initial_promote_level = 2;
+ uint32 avatar_id = 8;
+ bool is_transfer_to_item = 6;
+ uint32 reason = 9;
+ uint32 initial_level = 10;
+ uint32 item_id = 14;
+}
diff --git a/protocol/proto/AddNoGachaAvatarCardTransferItem.proto b/protocol/proto/AddNoGachaAvatarCardTransferItem.proto
new file mode 100644
index 00000000..3a2ecab1
--- /dev/null
+++ b/protocol/proto/AddNoGachaAvatarCardTransferItem.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AddNoGachaAvatarCardTransferItem {
+ uint32 count = 9;
+ uint32 item_id = 6;
+ bool is_new = 15;
+}
diff --git a/protocol/proto/AddQuestContentProgressReq.proto b/protocol/proto/AddQuestContentProgressReq.proto
new file mode 100644
index 00000000..b82747ea
--- /dev/null
+++ b/protocol/proto/AddQuestContentProgressReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AddQuestContentProgressReq {
+ uint32 content_type = 6;
+ uint32 param = 12;
+ uint32 add_progress = 15;
+}
diff --git a/protocol/proto/AddQuestContentProgressRsp.proto b/protocol/proto/AddQuestContentProgressRsp.proto
new file mode 100644
index 00000000..eacdc268
--- /dev/null
+++ b/protocol/proto/AddQuestContentProgressRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 403
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AddQuestContentProgressRsp {
+ int32 retcode = 13;
+ uint32 content_type = 4;
+}
diff --git a/protocol/proto/AddRandTaskInfoNotify.proto b/protocol/proto/AddRandTaskInfoNotify.proto
new file mode 100644
index 00000000..357159ad
--- /dev/null
+++ b/protocol/proto/AddRandTaskInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 119
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AddRandTaskInfoNotify {
+ uint32 rand_task_id = 5;
+ Vector pos = 13;
+}
diff --git a/protocol/proto/AddSeenMonsterNotify.proto b/protocol/proto/AddSeenMonsterNotify.proto
new file mode 100644
index 00000000..22291993
--- /dev/null
+++ b/protocol/proto/AddSeenMonsterNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 223
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AddSeenMonsterNotify {
+ repeated uint32 monster_id_list = 12;
+}
diff --git a/protocol/proto/AdjustTrackingInfo.proto b/protocol/proto/AdjustTrackingInfo.proto
new file mode 100644
index 00000000..8ec704a0
--- /dev/null
+++ b/protocol/proto/AdjustTrackingInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AdjustTrackingInfo {
+ string event_token = 9;
+ string adid = 4;
+ string idfa = 2;
+ string app_token = 14;
+ string gps_adid = 3;
+ string fire_adid = 13;
+}
diff --git a/protocol/proto/AdjustWorldLevelReq.proto b/protocol/proto/AdjustWorldLevelReq.proto
new file mode 100644
index 00000000..a34d84e2
--- /dev/null
+++ b/protocol/proto/AdjustWorldLevelReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 164
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AdjustWorldLevelReq {
+ uint32 expect_world_level = 8;
+ uint32 cur_world_level = 9;
+}
diff --git a/protocol/proto/AdjustWorldLevelRsp.proto b/protocol/proto/AdjustWorldLevelRsp.proto
new file mode 100644
index 00000000..0e8976fb
--- /dev/null
+++ b/protocol/proto/AdjustWorldLevelRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 138
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AdjustWorldLevelRsp {
+ int32 retcode = 13;
+ uint32 cd_over_time = 15;
+ uint32 after_world_level = 14;
+}
diff --git a/protocol/proto/AiSkillCdInfo.proto b/protocol/proto/AiSkillCdInfo.proto
new file mode 100644
index 00000000..eddfb0fc
--- /dev/null
+++ b/protocol/proto/AiSkillCdInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AiSkillCdInfo {
+ map skill_cd_map = 11;
+ map skill_group_cd_map = 6;
+}
diff --git a/protocol/proto/AiSyncInfo.proto b/protocol/proto/AiSyncInfo.proto
new file mode 100644
index 00000000..52ce7283
--- /dev/null
+++ b/protocol/proto/AiSyncInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AiSyncInfo {
+ uint32 entity_id = 9;
+ bool is_self_killing = 8;
+ bool has_path_to_target = 4;
+}
diff --git a/protocol/proto/AiThreatInfo.proto b/protocol/proto/AiThreatInfo.proto
new file mode 100644
index 00000000..a9169ba0
--- /dev/null
+++ b/protocol/proto/AiThreatInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AiThreatInfo {
+ map ai_threat_map = 11;
+}
diff --git a/protocol/proto/AllCoopInfoNotify.proto b/protocol/proto/AllCoopInfoNotify.proto
new file mode 100644
index 00000000..a222b74c
--- /dev/null
+++ b/protocol/proto/AllCoopInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MainCoop.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1976
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AllCoopInfoNotify {
+ repeated MainCoop main_coop_list = 14;
+}
diff --git a/protocol/proto/AllMarkPointNotify.proto b/protocol/proto/AllMarkPointNotify.proto
new file mode 100644
index 00000000..963d8f22
--- /dev/null
+++ b/protocol/proto/AllMarkPointNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MapMarkPoint.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3283
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AllMarkPointNotify {
+ repeated MapMarkPoint mark_list = 7;
+}
diff --git a/protocol/proto/AllSeenMonsterNotify.proto b/protocol/proto/AllSeenMonsterNotify.proto
new file mode 100644
index 00000000..cbc623c7
--- /dev/null
+++ b/protocol/proto/AllSeenMonsterNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 271
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AllSeenMonsterNotify {
+ repeated uint32 monster_id_list = 4;
+}
diff --git a/protocol/proto/AllShareCDDataNotify.proto b/protocol/proto/AllShareCDDataNotify.proto
new file mode 100644
index 00000000..a23efe1f
--- /dev/null
+++ b/protocol/proto/AllShareCDDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ShareCDInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 9072
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AllShareCDDataNotify {
+ map share_cd_info_map = 2;
+}
diff --git a/protocol/proto/AllWidgetBackgroundActiveStateNotify.proto b/protocol/proto/AllWidgetBackgroundActiveStateNotify.proto
new file mode 100644
index 00000000..ea55118c
--- /dev/null
+++ b/protocol/proto/AllWidgetBackgroundActiveStateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6092
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AllWidgetBackgroundActiveStateNotify {
+ repeated uint32 background_active_widget_list = 3;
+}
diff --git a/protocol/proto/AllWidgetDataNotify.proto b/protocol/proto/AllWidgetDataNotify.proto
new file mode 100644
index 00000000..c8cd6593
--- /dev/null
+++ b/protocol/proto/AllWidgetDataNotify.proto
@@ -0,0 +1,44 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AnchorPointData.proto";
+import "ClientCollectorData.proto";
+import "LunchBoxData.proto";
+import "OneofGatherPointDetectorData.proto";
+import "SkyCrystalDetectorData.proto";
+import "WidgetCoolDownData.proto";
+import "WidgetSlotData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4271
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AllWidgetDataNotify {
+ repeated uint32 background_active_widget_list = 11;
+ LunchBoxData lunch_box_data = 1;
+ repeated WidgetCoolDownData cool_down_group_data_list = 13;
+ repeated AnchorPointData anchor_point_list = 3;
+ repeated WidgetSlotData slot_list = 6;
+ uint32 next_anchor_point_usable_time = 10;
+ repeated ClientCollectorData client_collector_data_list = 4;
+ repeated OneofGatherPointDetectorData oneof_gather_point_detector_data_list = 15;
+ repeated WidgetCoolDownData normal_cool_down_data_list = 9;
+ SkyCrystalDetectorData sky_crystal_detector_data = 12;
+}
diff --git a/protocol/proto/AnchorPointData.proto b/protocol/proto/AnchorPointData.proto
new file mode 100644
index 00000000..1e903379
--- /dev/null
+++ b/protocol/proto/AnchorPointData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AnchorPointData {
+ uint32 scene_id = 5;
+ uint32 anchor_point_id = 9;
+ uint32 end_time = 8;
+ Vector pos = 15;
+ Vector rot = 2;
+}
diff --git a/protocol/proto/AnchorPointDataNotify.proto b/protocol/proto/AnchorPointDataNotify.proto
new file mode 100644
index 00000000..7a4c1465
--- /dev/null
+++ b/protocol/proto/AnchorPointDataNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AnchorPointData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4276
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AnchorPointDataNotify {
+ repeated AnchorPointData anchor_point_list = 10;
+ uint32 next_usable_time = 14;
+}
diff --git a/protocol/proto/AnchorPointOpReq.proto b/protocol/proto/AnchorPointOpReq.proto
new file mode 100644
index 00000000..6e40748f
--- /dev/null
+++ b/protocol/proto/AnchorPointOpReq.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4257
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AnchorPointOpReq {
+ uint32 anchor_point_id = 9;
+ uint32 anchor_point_op_type = 12;
+
+ enum AnchorPointOpType {
+ ANCHOR_POINT_OP_TYPE_NONE = 0;
+ ANCHOR_POINT_OP_TYPE_TELEPORT = 1;
+ ANCHOR_POINT_OP_TYPE_REMOVE = 2;
+ }
+}
diff --git a/protocol/proto/AnchorPointOpRsp.proto b/protocol/proto/AnchorPointOpRsp.proto
new file mode 100644
index 00000000..cf1d22b2
--- /dev/null
+++ b/protocol/proto/AnchorPointOpRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4252
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AnchorPointOpRsp {
+ int32 retcode = 5;
+ uint32 anchor_point_id = 12;
+ uint32 anchor_point_op_type = 4;
+}
diff --git a/protocol/proto/AnimatorForceSetAirMoveNotify.proto b/protocol/proto/AnimatorForceSetAirMoveNotify.proto
new file mode 100644
index 00000000..7019ee16
--- /dev/null
+++ b/protocol/proto/AnimatorForceSetAirMoveNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 374
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AnimatorForceSetAirMoveNotify {
+ uint32 entity_id = 14;
+ bool in_air_move = 13;
+ ForwardType forward_type = 9;
+}
diff --git a/protocol/proto/AnimatorParameterValueInfo.proto b/protocol/proto/AnimatorParameterValueInfo.proto
new file mode 100644
index 00000000..b5164272
--- /dev/null
+++ b/protocol/proto/AnimatorParameterValueInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AnimatorParameterValueInfo {
+ uint32 para_type = 1;
+ oneof para_val {
+ int32 int_val = 2;
+ float float_val = 3;
+ bool bool_val = 4;
+ }
+}
diff --git a/protocol/proto/AnimatorParameterValueInfoPair.proto b/protocol/proto/AnimatorParameterValueInfoPair.proto
new file mode 100644
index 00000000..091b6095
--- /dev/null
+++ b/protocol/proto/AnimatorParameterValueInfoPair.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AnimatorParameterValueInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AnimatorParameterValueInfoPair {
+ int32 name_id = 1;
+ AnimatorParameterValueInfo animator_para = 2;
+}
diff --git a/protocol/proto/AnnounceData.proto b/protocol/proto/AnnounceData.proto
new file mode 100644
index 00000000..b16ed745
--- /dev/null
+++ b/protocol/proto/AnnounceData.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AnnounceData {
+ string count_down_text = 9;
+ string center_system_text = 8;
+ uint32 count_down_frequency = 1;
+ uint32 config_id = 7;
+ uint32 begin_time = 4;
+ uint32 center_system_frequency = 11;
+ string dungeon_confirm_text = 2;
+ bool is_center_system_last_5_every_minutes = 14;
+ uint32 end_time = 10;
+}
diff --git a/protocol/proto/AntiAddictNotify.proto b/protocol/proto/AntiAddictNotify.proto
new file mode 100644
index 00000000..18adef76
--- /dev/null
+++ b/protocol/proto/AntiAddictNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 180
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AntiAddictNotify {
+ int32 msg_type = 6;
+ string msg = 3;
+ string level = 5;
+}
diff --git a/protocol/proto/AranaraCollectionDataNotify.proto b/protocol/proto/AranaraCollectionDataNotify.proto
new file mode 100644
index 00000000..2a849cb6
--- /dev/null
+++ b/protocol/proto/AranaraCollectionDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AranaraCollectionSuite.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6376
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AranaraCollectionDataNotify {
+ repeated AranaraCollectionSuite collection_suite_list = 14;
+}
diff --git a/protocol/proto/AranaraCollectionState.proto b/protocol/proto/AranaraCollectionState.proto
new file mode 100644
index 00000000..03bee513
--- /dev/null
+++ b/protocol/proto/AranaraCollectionState.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum AranaraCollectionState {
+ ARANARA_COLLECTION_STATE_NONE = 0;
+ ARANARA_COLLECTION_STATE_COLLECTABLE = 1;
+ ARANARA_COLLECTION_STATE_COLLECTED = 2;
+ ARANARA_COLLECTION_STATE_FINISHED = 3;
+}
diff --git a/protocol/proto/AranaraCollectionSuite.proto b/protocol/proto/AranaraCollectionSuite.proto
new file mode 100644
index 00000000..291ca3b6
--- /dev/null
+++ b/protocol/proto/AranaraCollectionSuite.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AranaraCollectionState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AranaraCollectionSuite {
+ map collection_id_state_map = 6;
+ uint32 collection_type = 12;
+}
diff --git a/protocol/proto/AreaPlayInfoNotify.proto b/protocol/proto/AreaPlayInfoNotify.proto
new file mode 100644
index 00000000..e0a35451
--- /dev/null
+++ b/protocol/proto/AreaPlayInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AreaPlayType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3323
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AreaPlayInfoNotify {
+ uint32 detail_play_type = 14;
+ AreaPlayType area_play_type = 11;
+}
diff --git a/protocol/proto/AreaPlayType.proto b/protocol/proto/AreaPlayType.proto
new file mode 100644
index 00000000..987eecae
--- /dev/null
+++ b/protocol/proto/AreaPlayType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum AreaPlayType {
+ AREA_PLAY_TYPE_NONE = 0;
+ AREA_PLAY_TYPE_CLIMATE = 1;
+ AREA_PLAY_TYPE_REGIONAL_PLAY = 2;
+}
diff --git a/protocol/proto/ArenaChallengeActivityDetailInfo.proto b/protocol/proto/ArenaChallengeActivityDetailInfo.proto
new file mode 100644
index 00000000..a246429b
--- /dev/null
+++ b/protocol/proto/ArenaChallengeActivityDetailInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ArenaChallengeMonsterLevel.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ArenaChallengeActivityDetailInfo {
+ bool is_finish_any_level = 14;
+ map level_open_time_map = 3;
+ uint32 world_level = 15;
+ repeated ArenaChallengeMonsterLevel level_list = 9;
+}
diff --git a/protocol/proto/ArenaChallengeChildChallengeInfo.proto b/protocol/proto/ArenaChallengeChildChallengeInfo.proto
new file mode 100644
index 00000000..24a98e2f
--- /dev/null
+++ b/protocol/proto/ArenaChallengeChildChallengeInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ArenaChallengeChildChallengeInfo {
+ uint32 challenge_id = 12;
+ uint32 challenge_type = 5;
+ uint32 challenge_index = 4;
+ bool is_success = 7;
+ bool is_settled = 11;
+}
diff --git a/protocol/proto/ArenaChallengeFinishNotify.proto b/protocol/proto/ArenaChallengeFinishNotify.proto
new file mode 100644
index 00000000..0ddd11a1
--- /dev/null
+++ b/protocol/proto/ArenaChallengeFinishNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ArenaChallengeChildChallengeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2030
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ArenaChallengeFinishNotify {
+ uint32 arena_challenge_level = 13;
+ uint32 arena_challenge_id = 3;
+ repeated ArenaChallengeChildChallengeInfo child_challenge_list = 2;
+ bool is_success = 12;
+}
diff --git a/protocol/proto/ArenaChallengeMonsterLevel.proto b/protocol/proto/ArenaChallengeMonsterLevel.proto
new file mode 100644
index 00000000..ba41d1a6
--- /dev/null
+++ b/protocol/proto/ArenaChallengeMonsterLevel.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ArenaChallengeMonsterLevel {
+ uint32 arena_challenge_level = 7;
+ uint32 arena_challenge_id = 15;
+}
diff --git a/protocol/proto/AskAddFriendNotify.proto b/protocol/proto/AskAddFriendNotify.proto
new file mode 100644
index 00000000..c8773da6
--- /dev/null
+++ b/protocol/proto/AskAddFriendNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4065
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AskAddFriendNotify {
+ FriendBrief target_friend_brief = 15;
+ uint32 target_uid = 9;
+}
diff --git a/protocol/proto/AskAddFriendReq.proto b/protocol/proto/AskAddFriendReq.proto
new file mode 100644
index 00000000..1d6c4fe4
--- /dev/null
+++ b/protocol/proto/AskAddFriendReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4007
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AskAddFriendReq {
+ uint32 target_uid = 7;
+}
diff --git a/protocol/proto/AskAddFriendRsp.proto b/protocol/proto/AskAddFriendRsp.proto
new file mode 100644
index 00000000..23f4d466
--- /dev/null
+++ b/protocol/proto/AskAddFriendRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4021
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AskAddFriendRsp {
+ uint32 param = 8;
+ int32 retcode = 7;
+ uint32 target_uid = 4;
+}
diff --git a/protocol/proto/AssociateInferenceWordReq.proto b/protocol/proto/AssociateInferenceWordReq.proto
new file mode 100644
index 00000000..4e2d9d3a
--- /dev/null
+++ b/protocol/proto/AssociateInferenceWordReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 429
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AssociateInferenceWordReq {
+ uint32 base_word_id = 7;
+ uint32 page_id = 11;
+ uint32 associate_word_id = 2;
+}
diff --git a/protocol/proto/AssociateInferenceWordRsp.proto b/protocol/proto/AssociateInferenceWordRsp.proto
new file mode 100644
index 00000000..f883dd0e
--- /dev/null
+++ b/protocol/proto/AssociateInferenceWordRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 457
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AssociateInferenceWordRsp {
+ int32 retcode = 15;
+ uint32 base_word_id = 14;
+ uint32 associate_word_id = 13;
+ uint32 page_id = 1;
+}
diff --git a/protocol/proto/AsterActivityDetailInfo.proto b/protocol/proto/AsterActivityDetailInfo.proto
new file mode 100644
index 00000000..7ea6f713
--- /dev/null
+++ b/protocol/proto/AsterActivityDetailInfo.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AsterLargeDetailInfo.proto";
+import "AsterLittleDetailInfo.proto";
+import "AsterMidDetailInfo.proto";
+import "AsterProgressDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AsterActivityDetailInfo {
+ AsterLittleDetailInfo aster_little = 7;
+ uint32 aster_credit = 14;
+ AsterLargeDetailInfo aster_large = 9;
+ bool is_special_reward_taken = 1;
+ bool is_content_closed = 13;
+ uint32 content_close_time = 8;
+ uint32 aster_token = 5;
+ AsterMidDetailInfo aster_mid = 6;
+ AsterProgressDetailInfo aster_progress = 2;
+}
diff --git a/protocol/proto/AsterLargeDetailInfo.proto b/protocol/proto/AsterLargeDetailInfo.proto
new file mode 100644
index 00000000..598e890c
--- /dev/null
+++ b/protocol/proto/AsterLargeDetailInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AsterLargeDetailInfo {
+ bool is_open = 3;
+ uint32 begin_time = 13;
+}
diff --git a/protocol/proto/AsterLargeInfoNotify.proto b/protocol/proto/AsterLargeInfoNotify.proto
new file mode 100644
index 00000000..f139d651
--- /dev/null
+++ b/protocol/proto/AsterLargeInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AsterLargeDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2146
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AsterLargeInfoNotify {
+ AsterLargeDetailInfo info = 10;
+}
diff --git a/protocol/proto/AsterLittleDetailInfo.proto b/protocol/proto/AsterLittleDetailInfo.proto
new file mode 100644
index 00000000..1b8aebc5
--- /dev/null
+++ b/protocol/proto/AsterLittleDetailInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AsterLittleStageState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AsterLittleDetailInfo {
+ bool is_open = 4;
+ AsterLittleStageState stage_state = 7;
+ uint32 stage_id = 1;
+ uint32 begin_time = 6;
+ uint32 stage_begin_time = 5;
+}
diff --git a/protocol/proto/AsterLittleInfoNotify.proto b/protocol/proto/AsterLittleInfoNotify.proto
new file mode 100644
index 00000000..68f37073
--- /dev/null
+++ b/protocol/proto/AsterLittleInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AsterLittleDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2068
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AsterLittleInfoNotify {
+ AsterLittleDetailInfo info = 1;
+}
diff --git a/protocol/proto/AsterLittleStageState.proto b/protocol/proto/AsterLittleStageState.proto
new file mode 100644
index 00000000..ac9c507c
--- /dev/null
+++ b/protocol/proto/AsterLittleStageState.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum AsterLittleStageState {
+ ASTER_LITTLE_STAGE_STATE_NONE = 0;
+ ASTER_LITTLE_STAGE_STATE_UNSTARTED = 1;
+ ASTER_LITTLE_STAGE_STATE_STARTED = 2;
+ ASTER_LITTLE_STAGE_STATE_FINISHED = 3;
+}
diff --git a/protocol/proto/AsterMidCampInfo.proto b/protocol/proto/AsterMidCampInfo.proto
new file mode 100644
index 00000000..fb1faf3c
--- /dev/null
+++ b/protocol/proto/AsterMidCampInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AsterMidCampInfo {
+ Vector pos = 3;
+ uint32 camp_id = 8;
+}
diff --git a/protocol/proto/AsterMidCampInfoNotify.proto b/protocol/proto/AsterMidCampInfoNotify.proto
new file mode 100644
index 00000000..9d1490e4
--- /dev/null
+++ b/protocol/proto/AsterMidCampInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AsterMidCampInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2133
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AsterMidCampInfoNotify {
+ repeated AsterMidCampInfo camp_list = 5;
+}
diff --git a/protocol/proto/AsterMidDetailInfo.proto b/protocol/proto/AsterMidDetailInfo.proto
new file mode 100644
index 00000000..b9311f50
--- /dev/null
+++ b/protocol/proto/AsterMidDetailInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AsterMidCampInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AsterMidDetailInfo {
+ uint32 begin_time = 10;
+ repeated AsterMidCampInfo camp_list = 7;
+ bool is_open = 4;
+ uint32 collect_count = 11;
+}
diff --git a/protocol/proto/AsterMidInfoNotify.proto b/protocol/proto/AsterMidInfoNotify.proto
new file mode 100644
index 00000000..de891f08
--- /dev/null
+++ b/protocol/proto/AsterMidInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AsterMidDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2031
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AsterMidInfoNotify {
+ AsterMidDetailInfo info = 4;
+}
diff --git a/protocol/proto/AsterMiscInfoNotify.proto b/protocol/proto/AsterMiscInfoNotify.proto
new file mode 100644
index 00000000..65046e4e
--- /dev/null
+++ b/protocol/proto/AsterMiscInfoNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2036
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AsterMiscInfoNotify {
+ uint32 aster_token = 2;
+ uint32 aster_credit = 15;
+}
diff --git a/protocol/proto/AsterProgressDetailInfo.proto b/protocol/proto/AsterProgressDetailInfo.proto
new file mode 100644
index 00000000..28148ae9
--- /dev/null
+++ b/protocol/proto/AsterProgressDetailInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AsterProgressDetailInfo {
+ uint32 last_auto_add_time = 3;
+ uint32 count = 1;
+}
diff --git a/protocol/proto/AsterProgressInfoNotify.proto b/protocol/proto/AsterProgressInfoNotify.proto
new file mode 100644
index 00000000..1de6c962
--- /dev/null
+++ b/protocol/proto/AsterProgressInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AsterProgressDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2016
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AsterProgressInfoNotify {
+ AsterProgressDetailInfo info = 1;
+}
diff --git a/protocol/proto/AttackHitEffectResult.proto b/protocol/proto/AttackHitEffectResult.proto
new file mode 100644
index 00000000..2910686b
--- /dev/null
+++ b/protocol/proto/AttackHitEffectResult.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AttackHitEffectResult {
+ float hit_halt_time_scale = 8;
+ uint32 original_hit_eff_level = 12;
+ float air_strength = 15;
+ uint32 hit_eff_level = 2;
+ float hit_halt_time = 13;
+ float retreat_strength = 7;
+}
diff --git a/protocol/proto/AttackResult.proto b/protocol/proto/AttackResult.proto
new file mode 100644
index 00000000..dfedd617
--- /dev/null
+++ b/protocol/proto/AttackResult.proto
@@ -0,0 +1,58 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityIdentifier.proto";
+import "AttackHitEffectResult.proto";
+import "HitCollision.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AttackResult {
+ bool is_resist_text = 1858;
+ uint32 create_count_sync_to_server = 1011;
+ uint32 amplify_reaction_type = 2005;
+ uint32 endure_break = 7;
+ uint32 element_type = 5;
+ float element_durability_attenuation = 425;
+ uint32 defense_id = 15;
+ uint32 attack_timestamp_ms = 1188;
+ uint32 bullet_fly_time_ms = 91;
+ bool is_crit = 13;
+ float element_amplify_rate = 900;
+ uint32 attack_count = 1564;
+ uint32 critical_rand = 1664;
+ uint32 hit_pos_type = 2;
+ string anim_event_id = 4;
+ AttackHitEffectResult hit_eff_result = 8;
+ float damage_shield = 1202;
+ float endure_delta = 430;
+ Vector resolved_dir = 1;
+ float damage = 6;
+ uint32 addhurt_reaction_type = 1887;
+ uint32 hashed_anim_event_id = 278;
+ bool use_gadget_damage_action = 1418;
+ int32 hit_retreat_angle_compat = 9;
+ AbilityIdentifier ability_identifier = 14;
+ uint32 attacker_id = 11;
+ bool mute_element_hurt = 1530;
+ uint32 target_type = 1366;
+ HitCollision hit_collision = 10;
+ uint32 gadget_damage_action_idx = 1110;
+}
diff --git a/protocol/proto/AttackResultCreateCount.proto b/protocol/proto/AttackResultCreateCount.proto
new file mode 100644
index 00000000..76bf5d31
--- /dev/null
+++ b/protocol/proto/AttackResultCreateCount.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AttackResultCreateCount {
+ repeated uint32 create_count_list = 10;
+ repeated uint32 create_count_no_cost_list = 7;
+}
diff --git a/protocol/proto/AuditState.proto b/protocol/proto/AuditState.proto
new file mode 100644
index 00000000..1fee7ddc
--- /dev/null
+++ b/protocol/proto/AuditState.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum AuditState {
+ AUDIT_STATE_NONE = 0;
+ AUDIT_STATE_WAITING = 1;
+ AUDIT_STATE_FAILED = 2;
+}
diff --git a/protocol/proto/AuthorityChange.proto b/protocol/proto/AuthorityChange.proto
new file mode 100644
index 00000000..6323920e
--- /dev/null
+++ b/protocol/proto/AuthorityChange.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EntityAuthorityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AuthorityChange {
+ EntityAuthorityInfo entity_authority_info = 5;
+ uint32 authority_peer_id = 3;
+ uint32 entity_id = 13;
+}
diff --git a/protocol/proto/AvatarAddNotify.proto b/protocol/proto/AvatarAddNotify.proto
new file mode 100644
index 00000000..0f93a7e4
--- /dev/null
+++ b/protocol/proto/AvatarAddNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1769
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarAddNotify {
+ AvatarInfo avatar = 13;
+ bool is_in_team = 12;
+}
diff --git a/protocol/proto/AvatarBuffAddNotify.proto b/protocol/proto/AvatarBuffAddNotify.proto
new file mode 100644
index 00000000..3ceea20e
--- /dev/null
+++ b/protocol/proto/AvatarBuffAddNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 388
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarBuffAddNotify {
+ uint64 avatar_guid = 10;
+ uint32 buff_id = 6;
+}
diff --git a/protocol/proto/AvatarBuffDelNotify.proto b/protocol/proto/AvatarBuffDelNotify.proto
new file mode 100644
index 00000000..7a59bfec
--- /dev/null
+++ b/protocol/proto/AvatarBuffDelNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 326
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarBuffDelNotify {
+ uint64 avatar_guid = 10;
+ uint32 buff_id = 12;
+}
diff --git a/protocol/proto/AvatarCardChangeReq.proto b/protocol/proto/AvatarCardChangeReq.proto
new file mode 100644
index 00000000..334f4a73
--- /dev/null
+++ b/protocol/proto/AvatarCardChangeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 688
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarCardChangeReq {
+ uint32 item_id = 6;
+ uint64 avatar_guid = 14;
+ uint32 count = 7;
+}
diff --git a/protocol/proto/AvatarCardChangeRsp.proto b/protocol/proto/AvatarCardChangeRsp.proto
new file mode 100644
index 00000000..59f651fb
--- /dev/null
+++ b/protocol/proto/AvatarCardChangeRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 626
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarCardChangeRsp {
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/AvatarChangeAnimHashReq.proto b/protocol/proto/AvatarChangeAnimHashReq.proto
new file mode 100644
index 00000000..ead8fc42
--- /dev/null
+++ b/protocol/proto/AvatarChangeAnimHashReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1711
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarChangeAnimHashReq {
+ uint32 anim_hash = 6;
+ uint64 avatar_guid = 3;
+}
diff --git a/protocol/proto/AvatarChangeAnimHashRsp.proto b/protocol/proto/AvatarChangeAnimHashRsp.proto
new file mode 100644
index 00000000..7be22aed
--- /dev/null
+++ b/protocol/proto/AvatarChangeAnimHashRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1647
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarChangeAnimHashRsp {
+ uint32 anim_hash = 13;
+ int32 retcode = 5;
+ uint64 avatar_guid = 10;
+}
diff --git a/protocol/proto/AvatarChangeCostumeNotify.proto b/protocol/proto/AvatarChangeCostumeNotify.proto
new file mode 100644
index 00000000..9c5a5229
--- /dev/null
+++ b/protocol/proto/AvatarChangeCostumeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneEntityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1644
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarChangeCostumeNotify {
+ SceneEntityInfo entity_info = 7;
+}
diff --git a/protocol/proto/AvatarChangeCostumeReq.proto b/protocol/proto/AvatarChangeCostumeReq.proto
new file mode 100644
index 00000000..90be4b51
--- /dev/null
+++ b/protocol/proto/AvatarChangeCostumeReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1778
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarChangeCostumeReq {
+ uint32 costume_id = 4;
+ uint64 avatar_guid = 2;
+}
diff --git a/protocol/proto/AvatarChangeCostumeRsp.proto b/protocol/proto/AvatarChangeCostumeRsp.proto
new file mode 100644
index 00000000..ec35a30f
--- /dev/null
+++ b/protocol/proto/AvatarChangeCostumeRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1645
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarChangeCostumeRsp {
+ uint64 avatar_guid = 12;
+ int32 retcode = 7;
+ uint32 costume_id = 13;
+}
diff --git a/protocol/proto/AvatarChangeElementTypeReq.proto b/protocol/proto/AvatarChangeElementTypeReq.proto
new file mode 100644
index 00000000..f7c72878
--- /dev/null
+++ b/protocol/proto/AvatarChangeElementTypeReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1785
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarChangeElementTypeReq {
+ uint32 scene_id = 7;
+ uint32 area_id = 3;
+}
diff --git a/protocol/proto/AvatarChangeElementTypeRsp.proto b/protocol/proto/AvatarChangeElementTypeRsp.proto
new file mode 100644
index 00000000..ec6b7028
--- /dev/null
+++ b/protocol/proto/AvatarChangeElementTypeRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1651
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarChangeElementTypeRsp {
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/AvatarDataNotify.proto b/protocol/proto/AvatarDataNotify.proto
new file mode 100644
index 00000000..c01f65fe
--- /dev/null
+++ b/protocol/proto/AvatarDataNotify.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarInfo.proto";
+import "AvatarTeam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1633
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarDataNotify {
+ repeated uint32 owned_costume_list = 11;
+ uint64 choose_avatar_guid = 8;
+ map avatar_team_map = 7;
+ repeated uint32 backup_avatar_team_order_list = 9;
+ repeated uint64 temp_avatar_guid_list = 12;
+ repeated uint32 owned_flycloak_list = 1;
+ repeated AvatarInfo avatar_list = 6;
+ uint32 cur_avatar_team_id = 2;
+}
diff --git a/protocol/proto/AvatarDelNotify.proto b/protocol/proto/AvatarDelNotify.proto
new file mode 100644
index 00000000..5e703647
--- /dev/null
+++ b/protocol/proto/AvatarDelNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1773
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarDelNotify {
+ repeated uint64 avatar_guid_list = 13;
+}
diff --git a/protocol/proto/AvatarDieAnimationEndReq.proto b/protocol/proto/AvatarDieAnimationEndReq.proto
new file mode 100644
index 00000000..0402c7c6
--- /dev/null
+++ b/protocol/proto/AvatarDieAnimationEndReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1610
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarDieAnimationEndReq {
+ Vector reborn_pos = 3;
+ uint64 die_guid = 7;
+ uint32 skill_id = 8;
+}
diff --git a/protocol/proto/AvatarDieAnimationEndRsp.proto b/protocol/proto/AvatarDieAnimationEndRsp.proto
new file mode 100644
index 00000000..9dfb5c82
--- /dev/null
+++ b/protocol/proto/AvatarDieAnimationEndRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1694
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarDieAnimationEndRsp {
+ uint32 skill_id = 13;
+ int32 retcode = 14;
+ uint64 die_guid = 15;
+}
diff --git a/protocol/proto/AvatarEnterElementViewNotify.proto b/protocol/proto/AvatarEnterElementViewNotify.proto
new file mode 100644
index 00000000..0e293d27
--- /dev/null
+++ b/protocol/proto/AvatarEnterElementViewNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 334
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarEnterElementViewNotify {
+ bool is_triggerd = 3;
+ uint32 avatar_entity_id = 12;
+}
diff --git a/protocol/proto/AvatarEnterSceneInfo.proto b/protocol/proto/AvatarEnterSceneInfo.proto
new file mode 100644
index 00000000..6be12245
--- /dev/null
+++ b/protocol/proto/AvatarEnterSceneInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilitySyncStateInfo.proto";
+import "ServerBuff.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarEnterSceneInfo {
+ repeated ServerBuff server_buff_list = 14;
+ uint32 avatar_entity_id = 7;
+ AbilitySyncStateInfo weapon_ability_info = 12;
+ uint32 weapon_entity_id = 10;
+ AbilitySyncStateInfo avatar_ability_info = 2;
+ uint64 avatar_guid = 13;
+ uint64 weapon_guid = 9;
+ repeated uint32 buff_id_list = 5;
+}
diff --git a/protocol/proto/AvatarEquipAffixInfo.proto b/protocol/proto/AvatarEquipAffixInfo.proto
new file mode 100644
index 00000000..0c97a722
--- /dev/null
+++ b/protocol/proto/AvatarEquipAffixInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarEquipAffixInfo {
+ uint32 equip_affix_id = 1;
+ uint32 left_cd_time = 2;
+}
diff --git a/protocol/proto/AvatarEquipAffixStartNotify.proto b/protocol/proto/AvatarEquipAffixStartNotify.proto
new file mode 100644
index 00000000..0d3e0a6b
--- /dev/null
+++ b/protocol/proto/AvatarEquipAffixStartNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarEquipAffixInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1662
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarEquipAffixStartNotify {
+ uint64 avatar_guid = 4;
+ AvatarEquipAffixInfo equip_affix_info = 12;
+}
diff --git a/protocol/proto/AvatarEquipChangeNotify.proto b/protocol/proto/AvatarEquipChangeNotify.proto
new file mode 100644
index 00000000..d90e8d36
--- /dev/null
+++ b/protocol/proto/AvatarEquipChangeNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneReliquaryInfo.proto";
+import "SceneWeaponInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 647
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarEquipChangeNotify {
+ uint64 avatar_guid = 10;
+ uint64 equip_guid = 13;
+ SceneReliquaryInfo reliquary = 1;
+ SceneWeaponInfo weapon = 15;
+ uint32 item_id = 14;
+ uint32 equip_type = 8;
+}
diff --git a/protocol/proto/AvatarExcelInfo.proto b/protocol/proto/AvatarExcelInfo.proto
new file mode 100644
index 00000000..fdb9f1b2
--- /dev/null
+++ b/protocol/proto/AvatarExcelInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarExcelInfo {
+ uint64 prefab_path_hash = 1;
+ uint64 prefab_path_remote_hash = 2;
+ uint64 controller_path_hash = 3;
+ uint64 controller_path_remote_hash = 4;
+ uint64 combat_config_hash = 5;
+}
diff --git a/protocol/proto/AvatarExpeditionAllDataReq.proto b/protocol/proto/AvatarExpeditionAllDataReq.proto
new file mode 100644
index 00000000..9f216331
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionAllDataReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1722
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarExpeditionAllDataReq {}
diff --git a/protocol/proto/AvatarExpeditionAllDataRsp.proto b/protocol/proto/AvatarExpeditionAllDataRsp.proto
new file mode 100644
index 00000000..b447067e
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionAllDataRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarExpeditionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1648
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarExpeditionAllDataRsp {
+ repeated uint32 open_expedition_list = 3;
+ int32 retcode = 15;
+ uint32 expedition_count_limit = 12;
+ map expedition_info_map = 4;
+}
diff --git a/protocol/proto/AvatarExpeditionCallBackReq.proto b/protocol/proto/AvatarExpeditionCallBackReq.proto
new file mode 100644
index 00000000..59ab93c5
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionCallBackReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1752
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarExpeditionCallBackReq {
+ repeated uint64 avatar_guid = 13;
+}
diff --git a/protocol/proto/AvatarExpeditionCallBackRsp.proto b/protocol/proto/AvatarExpeditionCallBackRsp.proto
new file mode 100644
index 00000000..12c1e914
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionCallBackRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarExpeditionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1726
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarExpeditionCallBackRsp {
+ map expedition_info_map = 9;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/AvatarExpeditionDataNotify.proto b/protocol/proto/AvatarExpeditionDataNotify.proto
new file mode 100644
index 00000000..a707d0ab
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarExpeditionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1771
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarExpeditionDataNotify {
+ map expedition_info_map = 6;
+}
diff --git a/protocol/proto/AvatarExpeditionGetRewardReq.proto b/protocol/proto/AvatarExpeditionGetRewardReq.proto
new file mode 100644
index 00000000..54894e1c
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionGetRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1623
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarExpeditionGetRewardReq {
+ uint64 avatar_guid = 14;
+}
diff --git a/protocol/proto/AvatarExpeditionGetRewardRsp.proto b/protocol/proto/AvatarExpeditionGetRewardRsp.proto
new file mode 100644
index 00000000..25d7b6a2
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionGetRewardRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarExpeditionInfo.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1784
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarExpeditionGetRewardRsp {
+ repeated ItemParam extra_item_list = 9;
+ repeated ItemParam item_list = 8;
+ map expedition_info_map = 12;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/AvatarExpeditionInfo.proto b/protocol/proto/AvatarExpeditionInfo.proto
new file mode 100644
index 00000000..9ddfa7df
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarExpeditionState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarExpeditionInfo {
+ AvatarExpeditionState state = 1;
+ uint32 exp_id = 2;
+ uint32 hour_time = 3;
+ uint32 start_time = 4;
+ float shorten_ratio = 5;
+}
diff --git a/protocol/proto/AvatarExpeditionStartReq.proto b/protocol/proto/AvatarExpeditionStartReq.proto
new file mode 100644
index 00000000..b92b0b4b
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionStartReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1715
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarExpeditionStartReq {
+ uint32 exp_id = 9;
+ uint64 avatar_guid = 10;
+ uint32 hour_time = 2;
+}
diff --git a/protocol/proto/AvatarExpeditionStartRsp.proto b/protocol/proto/AvatarExpeditionStartRsp.proto
new file mode 100644
index 00000000..d905ab80
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionStartRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarExpeditionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1719
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarExpeditionStartRsp {
+ map expedition_info_map = 2;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/AvatarExpeditionState.proto b/protocol/proto/AvatarExpeditionState.proto
new file mode 100644
index 00000000..d4167fbe
--- /dev/null
+++ b/protocol/proto/AvatarExpeditionState.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum AvatarExpeditionState {
+ AVATAR_EXPEDITION_STATE_NONE = 0;
+ AVATAR_EXPEDITION_STATE_DOING = 1;
+ AVATAR_EXPEDITION_STATE_FINISH_WAIT_REWARD = 2;
+ AVATAR_EXPEDITION_STATE_CALLBACK_WAIT_REWARD = 3;
+ AVATAR_EXPEDITION_STATE_LOCKED = 4;
+}
diff --git a/protocol/proto/AvatarFetterDataNotify.proto b/protocol/proto/AvatarFetterDataNotify.proto
new file mode 100644
index 00000000..f83d0aa4
--- /dev/null
+++ b/protocol/proto/AvatarFetterDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarFetterInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1782
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarFetterDataNotify {
+ map fetter_info_map = 15;
+}
diff --git a/protocol/proto/AvatarFetterInfo.proto b/protocol/proto/AvatarFetterInfo.proto
new file mode 100644
index 00000000..8139a0c3
--- /dev/null
+++ b/protocol/proto/AvatarFetterInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FetterData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarFetterInfo {
+ uint32 exp_number = 1;
+ uint32 exp_level = 2;
+ repeated uint32 open_id_list = 3;
+ repeated uint32 finish_id_list = 4;
+ repeated uint32 rewarded_fetter_level_list = 5;
+ repeated FetterData fetter_list = 6;
+}
diff --git a/protocol/proto/AvatarFetterLevelRewardReq.proto b/protocol/proto/AvatarFetterLevelRewardReq.proto
new file mode 100644
index 00000000..ea06c02c
--- /dev/null
+++ b/protocol/proto/AvatarFetterLevelRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1653
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarFetterLevelRewardReq {
+ uint64 avatar_guid = 1;
+ uint32 fetter_level = 6;
+}
diff --git a/protocol/proto/AvatarFetterLevelRewardRsp.proto b/protocol/proto/AvatarFetterLevelRewardRsp.proto
new file mode 100644
index 00000000..5c19c51c
--- /dev/null
+++ b/protocol/proto/AvatarFetterLevelRewardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1606
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarFetterLevelRewardRsp {
+ uint64 avatar_guid = 4;
+ uint32 reward_id = 1;
+ int32 retcode = 13;
+ uint32 fetter_level = 14;
+}
diff --git a/protocol/proto/AvatarFightPropNotify.proto b/protocol/proto/AvatarFightPropNotify.proto
new file mode 100644
index 00000000..0e4224e7
--- /dev/null
+++ b/protocol/proto/AvatarFightPropNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1207
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarFightPropNotify {
+ map fight_prop_map = 8;
+ uint64 avatar_guid = 4;
+}
diff --git a/protocol/proto/AvatarFightPropUpdateNotify.proto b/protocol/proto/AvatarFightPropUpdateNotify.proto
new file mode 100644
index 00000000..3e63eadc
--- /dev/null
+++ b/protocol/proto/AvatarFightPropUpdateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1221
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarFightPropUpdateNotify {
+ map fight_prop_map = 15;
+ uint64 avatar_guid = 13;
+}
diff --git a/protocol/proto/AvatarFlycloakChangeNotify.proto b/protocol/proto/AvatarFlycloakChangeNotify.proto
new file mode 100644
index 00000000..ae6a7864
--- /dev/null
+++ b/protocol/proto/AvatarFlycloakChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1643
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarFlycloakChangeNotify {
+ uint32 flycloak_id = 8;
+ uint64 avatar_guid = 2;
+}
diff --git a/protocol/proto/AvatarFollowRouteNotify.proto b/protocol/proto/AvatarFollowRouteNotify.proto
new file mode 100644
index 00000000..5a75d516
--- /dev/null
+++ b/protocol/proto/AvatarFollowRouteNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Route.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3458
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarFollowRouteNotify {
+ uint32 entity_id = 4;
+ uint32 template_id = 6;
+ uint32 start_scene_time_ms = 8;
+ Route route = 2;
+ string client_params = 13;
+}
diff --git a/protocol/proto/AvatarGainCostumeNotify.proto b/protocol/proto/AvatarGainCostumeNotify.proto
new file mode 100644
index 00000000..bdc44ad2
--- /dev/null
+++ b/protocol/proto/AvatarGainCostumeNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1677
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarGainCostumeNotify {
+ uint32 costume_id = 15;
+}
diff --git a/protocol/proto/AvatarGainFlycloakNotify.proto b/protocol/proto/AvatarGainFlycloakNotify.proto
new file mode 100644
index 00000000..587ffa63
--- /dev/null
+++ b/protocol/proto/AvatarGainFlycloakNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1656
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarGainFlycloakNotify {
+ uint32 flycloak_id = 3;
+}
diff --git a/protocol/proto/AvatarInfo.proto b/protocol/proto/AvatarInfo.proto
new file mode 100644
index 00000000..d7b1b000
--- /dev/null
+++ b/protocol/proto/AvatarInfo.proto
@@ -0,0 +1,57 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarEquipAffixInfo.proto";
+import "AvatarExcelInfo.proto";
+import "AvatarExpeditionState.proto";
+import "AvatarFetterInfo.proto";
+import "AvatarSkillInfo.proto";
+import "PropValue.proto";
+import "TrialAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarInfo {
+ uint32 avatar_id = 1;
+ uint64 guid = 2;
+ map prop_map = 3;
+ uint32 life_state = 4;
+ repeated uint64 equip_guid_list = 5;
+ repeated uint32 talent_id_list = 6;
+ map fight_prop_map = 7;
+ TrialAvatarInfo trial_avatar_info = 9;
+ map skill_map = 10;
+ uint32 skill_depot_id = 11;
+ AvatarFetterInfo fetter_info = 12;
+ uint32 core_proud_skill_level = 13;
+ repeated uint32 inherent_proud_skill_list = 14;
+ map skill_level_map = 15;
+ AvatarExpeditionState expedition_state = 16;
+ map proud_skill_extra_level_map = 17;
+ bool is_focus = 18;
+ uint32 avatar_type = 19;
+ repeated uint32 team_resonance_list = 20;
+ uint32 wearing_flycloak_id = 21;
+ repeated AvatarEquipAffixInfo equip_affix_list = 22;
+ uint32 born_time = 23;
+ repeated uint32 pending_promote_reward_list = 24;
+ uint32 costume_id = 25;
+ AvatarExcelInfo excel_info = 26;
+ uint32 anim_hash = 27;
+}
diff --git a/protocol/proto/AvatarLifeStateChangeNotify.proto b/protocol/proto/AvatarLifeStateChangeNotify.proto
new file mode 100644
index 00000000..49650922
--- /dev/null
+++ b/protocol/proto/AvatarLifeStateChangeNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerDieType.proto";
+import "ServerBuff.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1290
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarLifeStateChangeNotify {
+ uint32 life_state = 13;
+ string attack_tag = 10;
+ PlayerDieType die_type = 2;
+ repeated ServerBuff server_buff_list = 12;
+ uint32 move_reliable_seq = 5;
+ uint32 source_entity_id = 3;
+ uint64 avatar_guid = 11;
+}
diff --git a/protocol/proto/AvatarPromoteGetRewardReq.proto b/protocol/proto/AvatarPromoteGetRewardReq.proto
new file mode 100644
index 00000000..7f0328ca
--- /dev/null
+++ b/protocol/proto/AvatarPromoteGetRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1696
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarPromoteGetRewardReq {
+ uint64 avatar_guid = 7;
+ uint32 promote_level = 12;
+}
diff --git a/protocol/proto/AvatarPromoteGetRewardRsp.proto b/protocol/proto/AvatarPromoteGetRewardRsp.proto
new file mode 100644
index 00000000..b253d0cd
--- /dev/null
+++ b/protocol/proto/AvatarPromoteGetRewardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1683
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarPromoteGetRewardRsp {
+ int32 retcode = 10;
+ uint32 reward_id = 15;
+ uint64 avatar_guid = 11;
+ uint32 promote_level = 12;
+}
diff --git a/protocol/proto/AvatarPromoteReq.proto b/protocol/proto/AvatarPromoteReq.proto
new file mode 100644
index 00000000..896bb42c
--- /dev/null
+++ b/protocol/proto/AvatarPromoteReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1664
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarPromoteReq {
+ uint64 guid = 5;
+}
diff --git a/protocol/proto/AvatarPromoteRsp.proto b/protocol/proto/AvatarPromoteRsp.proto
new file mode 100644
index 00000000..400e7e41
--- /dev/null
+++ b/protocol/proto/AvatarPromoteRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1639
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarPromoteRsp {
+ uint64 guid = 11;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/AvatarPropChangeReasonNotify.proto b/protocol/proto/AvatarPropChangeReasonNotify.proto
new file mode 100644
index 00000000..7a07d7c2
--- /dev/null
+++ b/protocol/proto/AvatarPropChangeReasonNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PropChangeReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1273
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarPropChangeReasonNotify {
+ float old_value = 11;
+ PropChangeReason reason = 5;
+ uint32 prop_type = 1;
+ uint64 avatar_guid = 8;
+ float cur_value = 15;
+}
diff --git a/protocol/proto/AvatarPropNotify.proto b/protocol/proto/AvatarPropNotify.proto
new file mode 100644
index 00000000..61dba96b
--- /dev/null
+++ b/protocol/proto/AvatarPropNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1231
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarPropNotify {
+ map prop_map = 14;
+ uint64 avatar_guid = 15;
+}
diff --git a/protocol/proto/AvatarSatiationData.proto b/protocol/proto/AvatarSatiationData.proto
new file mode 100644
index 00000000..1f033fdd
--- /dev/null
+++ b/protocol/proto/AvatarSatiationData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarSatiationData {
+ float finish_time = 14;
+ uint64 avatar_guid = 13;
+ float penalty_finish_time = 12;
+}
diff --git a/protocol/proto/AvatarSatiationDataNotify.proto b/protocol/proto/AvatarSatiationDataNotify.proto
new file mode 100644
index 00000000..621b7e40
--- /dev/null
+++ b/protocol/proto/AvatarSatiationDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarSatiationData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1693
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarSatiationDataNotify {
+ repeated AvatarSatiationData satiation_data_list = 6;
+}
diff --git a/protocol/proto/AvatarSkillChangeNotify.proto b/protocol/proto/AvatarSkillChangeNotify.proto
new file mode 100644
index 00000000..8be58249
--- /dev/null
+++ b/protocol/proto/AvatarSkillChangeNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1097
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarSkillChangeNotify {
+ uint32 cur_level = 11;
+ uint64 avatar_guid = 2;
+ uint32 entity_id = 7;
+ uint32 skill_depot_id = 13;
+ uint32 old_level = 1;
+ uint32 avatar_skill_id = 6;
+}
diff --git a/protocol/proto/AvatarSkillDepotChangeNotify.proto b/protocol/proto/AvatarSkillDepotChangeNotify.proto
new file mode 100644
index 00000000..bf0938a6
--- /dev/null
+++ b/protocol/proto/AvatarSkillDepotChangeNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1035
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarSkillDepotChangeNotify {
+ uint32 skill_depot_id = 15;
+ map proud_skill_extra_level_map = 14;
+ repeated uint32 talent_id_list = 9;
+ repeated uint32 proud_skill_list = 4;
+ uint32 core_proud_skill_level = 2;
+ uint32 entity_id = 7;
+ uint64 avatar_guid = 12;
+ map skill_level_map = 3;
+}
diff --git a/protocol/proto/AvatarSkillInfo.proto b/protocol/proto/AvatarSkillInfo.proto
new file mode 100644
index 00000000..98575ef1
--- /dev/null
+++ b/protocol/proto/AvatarSkillInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarSkillInfo {
+ uint32 pass_cd_time = 1;
+ repeated uint32 full_cd_time_list = 2;
+ uint32 max_charge_count = 3;
+}
diff --git a/protocol/proto/AvatarSkillInfoNotify.proto b/protocol/proto/AvatarSkillInfoNotify.proto
new file mode 100644
index 00000000..ea01a9d0
--- /dev/null
+++ b/protocol/proto/AvatarSkillInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarSkillInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1090
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarSkillInfoNotify {
+ map skill_map = 11;
+ uint64 guid = 4;
+}
diff --git a/protocol/proto/AvatarSkillMaxChargeCountNotify.proto b/protocol/proto/AvatarSkillMaxChargeCountNotify.proto
new file mode 100644
index 00000000..a9ee0202
--- /dev/null
+++ b/protocol/proto/AvatarSkillMaxChargeCountNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1003
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarSkillMaxChargeCountNotify {
+ uint32 skill_id = 6;
+ uint32 max_charge_count = 11;
+ uint64 avatar_guid = 7;
+}
diff --git a/protocol/proto/AvatarSkillUpgradeReq.proto b/protocol/proto/AvatarSkillUpgradeReq.proto
new file mode 100644
index 00000000..80873ad7
--- /dev/null
+++ b/protocol/proto/AvatarSkillUpgradeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1075
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarSkillUpgradeReq {
+ uint64 avatar_guid = 7;
+ uint32 old_level = 3;
+ uint32 avatar_skill_id = 4;
+}
diff --git a/protocol/proto/AvatarSkillUpgradeRsp.proto b/protocol/proto/AvatarSkillUpgradeRsp.proto
new file mode 100644
index 00000000..98d9f660
--- /dev/null
+++ b/protocol/proto/AvatarSkillUpgradeRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1048
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarSkillUpgradeRsp {
+ uint64 avatar_guid = 11;
+ uint32 cur_level = 14;
+ uint32 avatar_skill_id = 9;
+ uint32 old_level = 3;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/AvatarTeam.proto b/protocol/proto/AvatarTeam.proto
new file mode 100644
index 00000000..9fb20887
--- /dev/null
+++ b/protocol/proto/AvatarTeam.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarTeam {
+ repeated uint64 avatar_guid_list = 7;
+ string team_name = 14;
+}
diff --git a/protocol/proto/AvatarTeamAllDataNotify.proto b/protocol/proto/AvatarTeamAllDataNotify.proto
new file mode 100644
index 00000000..2afe4510
--- /dev/null
+++ b/protocol/proto/AvatarTeamAllDataNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarTeam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1749
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarTeamAllDataNotify {
+ repeated uint64 temp_avatar_guid_list = 6;
+ map avatar_team_map = 3;
+ repeated uint32 backup_avatar_team_order_list = 1;
+}
diff --git a/protocol/proto/AvatarTeamResonanceInfo.proto b/protocol/proto/AvatarTeamResonanceInfo.proto
new file mode 100644
index 00000000..29ac9a73
--- /dev/null
+++ b/protocol/proto/AvatarTeamResonanceInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message AvatarTeamResonanceInfo {
+ repeated uint32 add_team_resonance_id_list = 5;
+ uint32 entity_id = 11;
+ uint64 avatar_guid = 3;
+ repeated uint32 del_team_resonance_id_list = 14;
+}
diff --git a/protocol/proto/AvatarTeamUpdateNotify.proto b/protocol/proto/AvatarTeamUpdateNotify.proto
new file mode 100644
index 00000000..f7c4a348
--- /dev/null
+++ b/protocol/proto/AvatarTeamUpdateNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarTeam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1706
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarTeamUpdateNotify {
+ map avatar_team_map = 2;
+ repeated uint64 temp_avatar_guid_list = 13;
+}
diff --git a/protocol/proto/AvatarUnlockTalentNotify.proto b/protocol/proto/AvatarUnlockTalentNotify.proto
new file mode 100644
index 00000000..7620c5dc
--- /dev/null
+++ b/protocol/proto/AvatarUnlockTalentNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1012
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarUnlockTalentNotify {
+ uint32 entity_id = 14;
+ uint64 avatar_guid = 13;
+ uint32 talent_id = 10;
+ uint32 skill_depot_id = 1;
+}
diff --git a/protocol/proto/AvatarUpgradeReq.proto b/protocol/proto/AvatarUpgradeReq.proto
new file mode 100644
index 00000000..b908ece8
--- /dev/null
+++ b/protocol/proto/AvatarUpgradeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1770
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarUpgradeReq {
+ uint64 avatar_guid = 6;
+ uint32 count = 2;
+ uint32 item_id = 5;
+}
diff --git a/protocol/proto/AvatarUpgradeRsp.proto b/protocol/proto/AvatarUpgradeRsp.proto
new file mode 100644
index 00000000..7bcaad70
--- /dev/null
+++ b/protocol/proto/AvatarUpgradeRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1701
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarUpgradeRsp {
+ uint32 cur_level = 6;
+ uint32 old_level = 13;
+ map old_fight_prop_map = 10;
+ int32 retcode = 1;
+ map cur_fight_prop_map = 4;
+ uint64 avatar_guid = 15;
+}
diff --git a/protocol/proto/AvatarWearFlycloakReq.proto b/protocol/proto/AvatarWearFlycloakReq.proto
new file mode 100644
index 00000000..61e5d212
--- /dev/null
+++ b/protocol/proto/AvatarWearFlycloakReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1737
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message AvatarWearFlycloakReq {
+ uint64 avatar_guid = 11;
+ uint32 flycloak_id = 13;
+}
diff --git a/protocol/proto/AvatarWearFlycloakRsp.proto b/protocol/proto/AvatarWearFlycloakRsp.proto
new file mode 100644
index 00000000..25ffd2b5
--- /dev/null
+++ b/protocol/proto/AvatarWearFlycloakRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1698
+// EnetChannelId: 0
+// EnetIsReliable: true
+message AvatarWearFlycloakRsp {
+ uint32 flycloak_id = 13;
+ uint64 avatar_guid = 7;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/BackMyWorldReq.proto b/protocol/proto/BackMyWorldReq.proto
new file mode 100644
index 00000000..0d17328f
--- /dev/null
+++ b/protocol/proto/BackMyWorldReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 286
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BackMyWorldReq {}
diff --git a/protocol/proto/BackMyWorldRsp.proto b/protocol/proto/BackMyWorldRsp.proto
new file mode 100644
index 00000000..6900a22b
--- /dev/null
+++ b/protocol/proto/BackMyWorldRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 201
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BackMyWorldRsp {
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/BackPlayCustomDungeonOfficialReq.proto b/protocol/proto/BackPlayCustomDungeonOfficialReq.proto
new file mode 100644
index 00000000..e1cb212f
--- /dev/null
+++ b/protocol/proto/BackPlayCustomDungeonOfficialReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6203
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BackPlayCustomDungeonOfficialReq {
+ uint32 room_id = 2;
+}
diff --git a/protocol/proto/BackPlayCustomDungeonOfficialRsp.proto b/protocol/proto/BackPlayCustomDungeonOfficialRsp.proto
new file mode 100644
index 00000000..001aaa40
--- /dev/null
+++ b/protocol/proto/BackPlayCustomDungeonOfficialRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6204
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BackPlayCustomDungeonOfficialRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/BackRebornGalleryReq.proto b/protocol/proto/BackRebornGalleryReq.proto
new file mode 100644
index 00000000..2cf7010e
--- /dev/null
+++ b/protocol/proto/BackRebornGalleryReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5593
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BackRebornGalleryReq {
+ uint32 gallery_id = 15;
+}
diff --git a/protocol/proto/BackRebornGalleryRsp.proto b/protocol/proto/BackRebornGalleryRsp.proto
new file mode 100644
index 00000000..3c284285
--- /dev/null
+++ b/protocol/proto/BackRebornGalleryRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5527
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BackRebornGalleryRsp {
+ uint32 gallery_id = 9;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/BalloonGallerySettleInfo.proto b/protocol/proto/BalloonGallerySettleInfo.proto
new file mode 100644
index 00000000..2eb246a7
--- /dev/null
+++ b/protocol/proto/BalloonGallerySettleInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BalloonGallerySettleInfo {
+ uint32 score = 8;
+ GalleryStopReason reason = 14;
+ uint32 hit_count = 10;
+ uint32 owner_uid = 6;
+}
diff --git a/protocol/proto/BalloonPlayerInfo.proto b/protocol/proto/BalloonPlayerInfo.proto
new file mode 100644
index 00000000..25751244
--- /dev/null
+++ b/protocol/proto/BalloonPlayerInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BalloonPlayerInfo {
+ uint32 uid = 15;
+ uint32 cur_score = 2;
+ uint32 combo_disable_time = 14;
+ uint32 combo = 11;
+}
diff --git a/protocol/proto/BalloonSettleInfo.proto b/protocol/proto/BalloonSettleInfo.proto
new file mode 100644
index 00000000..183a9f64
--- /dev/null
+++ b/protocol/proto/BalloonSettleInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BalloonSettleInfo {
+ uint32 uid = 3;
+ uint32 shoot_count = 12;
+ uint32 max_combo = 9;
+ uint32 final_score = 7;
+ OnlinePlayerInfo player_info = 2;
+}
diff --git a/protocol/proto/BargainOfferPriceReq.proto b/protocol/proto/BargainOfferPriceReq.proto
new file mode 100644
index 00000000..16b73fc1
--- /dev/null
+++ b/protocol/proto/BargainOfferPriceReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 493
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BargainOfferPriceReq {
+ uint32 bargain_id = 4;
+ uint32 price = 6;
+}
diff --git a/protocol/proto/BargainOfferPriceRsp.proto b/protocol/proto/BargainOfferPriceRsp.proto
new file mode 100644
index 00000000..5b10ddf9
--- /dev/null
+++ b/protocol/proto/BargainOfferPriceRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BargainResultType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 427
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BargainOfferPriceRsp {
+ int32 retcode = 5;
+ uint32 result_param = 13;
+ BargainResultType bargain_result = 14;
+ int32 cur_mood = 6;
+}
diff --git a/protocol/proto/BargainResultType.proto b/protocol/proto/BargainResultType.proto
new file mode 100644
index 00000000..08208280
--- /dev/null
+++ b/protocol/proto/BargainResultType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum BargainResultType {
+ BARGAIN_RESULT_TYPE_COMPLETE_SUCC = 0;
+ BARGAIN_RESULT_TYPE_SINGLE_FAIL = 1;
+ BARGAIN_RESULT_TYPE_COMPLETE_FAIL = 2;
+}
diff --git a/protocol/proto/BargainSnapshot.proto b/protocol/proto/BargainSnapshot.proto
new file mode 100644
index 00000000..2055c273
--- /dev/null
+++ b/protocol/proto/BargainSnapshot.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BargainSnapshot {
+ uint32 expected_price = 3;
+ int32 cur_mood = 14;
+ uint32 price_low_limit = 2;
+ uint32 bargain_id = 5;
+}
diff --git a/protocol/proto/BargainStartNotify.proto b/protocol/proto/BargainStartNotify.proto
new file mode 100644
index 00000000..55b98a27
--- /dev/null
+++ b/protocol/proto/BargainStartNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BargainSnapshot.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 404
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BargainStartNotify {
+ uint32 bargain_id = 4;
+ BargainSnapshot snapshot = 2;
+}
diff --git a/protocol/proto/BargainTerminateNotify.proto b/protocol/proto/BargainTerminateNotify.proto
new file mode 100644
index 00000000..5ee4a938
--- /dev/null
+++ b/protocol/proto/BargainTerminateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 494
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BargainTerminateNotify {
+ uint32 bargain_id = 15;
+}
diff --git a/protocol/proto/BartenderActivityDetailInfo.proto b/protocol/proto/BartenderActivityDetailInfo.proto
new file mode 100644
index 00000000..bdfa197f
--- /dev/null
+++ b/protocol/proto/BartenderActivityDetailInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BartenderLevelInfo.proto";
+import "BartenderTaskInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BartenderActivityDetailInfo {
+ repeated uint32 unlock_item_list = 3;
+ bool is_develop_module_open = 13;
+ bool is_content_closed = 6;
+ repeated BartenderLevelInfo unlock_level_list = 5;
+ repeated uint32 unlock_formula_list = 14;
+ repeated BartenderTaskInfo unlock_task_list = 2;
+}
diff --git a/protocol/proto/BartenderCancelLevelReq.proto b/protocol/proto/BartenderCancelLevelReq.proto
new file mode 100644
index 00000000..8a4c884f
--- /dev/null
+++ b/protocol/proto/BartenderCancelLevelReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8771
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BartenderCancelLevelReq {
+ uint32 level_id = 13;
+}
diff --git a/protocol/proto/BartenderCancelLevelRsp.proto b/protocol/proto/BartenderCancelLevelRsp.proto
new file mode 100644
index 00000000..6b6291e4
--- /dev/null
+++ b/protocol/proto/BartenderCancelLevelRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8686
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BartenderCancelLevelRsp {
+ uint32 level_id = 2;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/BartenderCancelOrderReq.proto b/protocol/proto/BartenderCancelOrderReq.proto
new file mode 100644
index 00000000..e690ce17
--- /dev/null
+++ b/protocol/proto/BartenderCancelOrderReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8442
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BartenderCancelOrderReq {
+ uint32 quest_id = 3;
+}
diff --git a/protocol/proto/BartenderCancelOrderRsp.proto b/protocol/proto/BartenderCancelOrderRsp.proto
new file mode 100644
index 00000000..c2d062f1
--- /dev/null
+++ b/protocol/proto/BartenderCancelOrderRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8837
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BartenderCancelOrderRsp {
+ int32 retcode = 9;
+ uint32 quest_id = 3;
+}
diff --git a/protocol/proto/BartenderCompleteOrderReq.proto b/protocol/proto/BartenderCompleteOrderReq.proto
new file mode 100644
index 00000000..dab21fbb
--- /dev/null
+++ b/protocol/proto/BartenderCompleteOrderReq.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8414
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BartenderCompleteOrderReq {
+ uint32 cup_type = 14;
+ uint32 qte_count = 7;
+ uint32 quest_id = 11;
+ repeated ItemParam item_list = 10;
+ bool is_view_formula = 9;
+ repeated uint32 optional_order_list = 6;
+ uint32 retry_count = 3;
+}
diff --git a/protocol/proto/BartenderCompleteOrderRsp.proto b/protocol/proto/BartenderCompleteOrderRsp.proto
new file mode 100644
index 00000000..f67b7f7d
--- /dev/null
+++ b/protocol/proto/BartenderCompleteOrderRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8125
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BartenderCompleteOrderRsp {
+ bool is_new = 10;
+ uint32 finish_order_id = 3;
+ int32 retcode = 4;
+ uint32 formula_id = 6;
+ uint32 quest_id = 15;
+ repeated uint32 affix_list = 2;
+}
diff --git a/protocol/proto/BartenderFinishLevelReq.proto b/protocol/proto/BartenderFinishLevelReq.proto
new file mode 100644
index 00000000..7ab5014f
--- /dev/null
+++ b/protocol/proto/BartenderFinishLevelReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8227
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BartenderFinishLevelReq {
+ uint32 level_id = 6;
+}
diff --git a/protocol/proto/BartenderFinishLevelRsp.proto b/protocol/proto/BartenderFinishLevelRsp.proto
new file mode 100644
index 00000000..991addd3
--- /dev/null
+++ b/protocol/proto/BartenderFinishLevelRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8093
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BartenderFinishLevelRsp {
+ int32 retcode = 6;
+ uint32 level_id = 1;
+}
diff --git a/protocol/proto/BartenderGetFormulaReq.proto b/protocol/proto/BartenderGetFormulaReq.proto
new file mode 100644
index 00000000..d0bab525
--- /dev/null
+++ b/protocol/proto/BartenderGetFormulaReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8462
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BartenderGetFormulaReq {
+ repeated ItemParam item_list = 7;
+ uint32 quest_id = 4;
+}
diff --git a/protocol/proto/BartenderGetFormulaRsp.proto b/protocol/proto/BartenderGetFormulaRsp.proto
new file mode 100644
index 00000000..abc8d389
--- /dev/null
+++ b/protocol/proto/BartenderGetFormulaRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8842
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BartenderGetFormulaRsp {
+ bool is_new = 12;
+ int32 retcode = 6;
+ repeated uint32 affix_list = 8;
+ uint32 formula_id = 11;
+}
diff --git a/protocol/proto/BartenderLevelInfo.proto b/protocol/proto/BartenderLevelInfo.proto
new file mode 100644
index 00000000..6bb1d96b
--- /dev/null
+++ b/protocol/proto/BartenderLevelInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BartenderLevelInfo {
+ bool is_finish = 7;
+ uint32 max_score = 9;
+ uint32 id = 4;
+}
diff --git a/protocol/proto/BartenderLevelProgressNotify.proto b/protocol/proto/BartenderLevelProgressNotify.proto
new file mode 100644
index 00000000..b3d26292
--- /dev/null
+++ b/protocol/proto/BartenderLevelProgressNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8756
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BartenderLevelProgressNotify {
+ bool is_new_record = 9;
+ bool is_finish = 3;
+ uint32 level_id = 15;
+ uint32 score = 8;
+}
diff --git a/protocol/proto/BartenderStartLevelReq.proto b/protocol/proto/BartenderStartLevelReq.proto
new file mode 100644
index 00000000..5b56791b
--- /dev/null
+++ b/protocol/proto/BartenderStartLevelReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8507
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BartenderStartLevelReq {
+ uint32 level_id = 5;
+}
diff --git a/protocol/proto/BartenderStartLevelRsp.proto b/protocol/proto/BartenderStartLevelRsp.proto
new file mode 100644
index 00000000..3be50883
--- /dev/null
+++ b/protocol/proto/BartenderStartLevelRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8402
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BartenderStartLevelRsp {
+ int32 retcode = 5;
+ repeated uint32 order_list = 13;
+ uint32 level_id = 10;
+ uint32 time = 8;
+}
diff --git a/protocol/proto/BartenderTaskInfo.proto b/protocol/proto/BartenderTaskInfo.proto
new file mode 100644
index 00000000..5e8490bb
--- /dev/null
+++ b/protocol/proto/BartenderTaskInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BartenderTaskInfo {
+ uint32 id = 1;
+ bool is_finish = 14;
+}
diff --git a/protocol/proto/BattlePassAllDataNotify.proto b/protocol/proto/BattlePassAllDataNotify.proto
new file mode 100644
index 00000000..8a67de52
--- /dev/null
+++ b/protocol/proto/BattlePassAllDataNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BattlePassMission.proto";
+import "BattlePassSchedule.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2626
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BattlePassAllDataNotify {
+ bool have_cur_schedule = 2;
+ repeated BattlePassMission mission_list = 4;
+ BattlePassSchedule cur_schedule = 1;
+}
diff --git a/protocol/proto/BattlePassBuySuccNotify.proto b/protocol/proto/BattlePassBuySuccNotify.proto
new file mode 100644
index 00000000..5cf444a4
--- /dev/null
+++ b/protocol/proto/BattlePassBuySuccNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2614
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BattlePassBuySuccNotify {
+ uint32 schedule_id = 4;
+ uint32 product_play_type = 11;
+ uint32 add_point = 12;
+ repeated ItemParam item_list = 9;
+}
diff --git a/protocol/proto/BattlePassCurScheduleUpdateNotify.proto b/protocol/proto/BattlePassCurScheduleUpdateNotify.proto
new file mode 100644
index 00000000..4623408d
--- /dev/null
+++ b/protocol/proto/BattlePassCurScheduleUpdateNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BattlePassSchedule.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2607
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BattlePassCurScheduleUpdateNotify {
+ bool have_cur_schedule = 11;
+ BattlePassSchedule cur_schedule = 1;
+}
diff --git a/protocol/proto/BattlePassCycle.proto b/protocol/proto/BattlePassCycle.proto
new file mode 100644
index 00000000..036fbec9
--- /dev/null
+++ b/protocol/proto/BattlePassCycle.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BattlePassCycle {
+ uint32 cycle_idx = 3;
+ uint32 end_time = 10;
+ uint32 begin_time = 13;
+}
diff --git a/protocol/proto/BattlePassMission.proto b/protocol/proto/BattlePassMission.proto
new file mode 100644
index 00000000..fcb54141
--- /dev/null
+++ b/protocol/proto/BattlePassMission.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BattlePassMission {
+ uint32 cur_progress = 13;
+ MissionStatus mission_status = 15;
+ uint32 mission_id = 11;
+ uint32 reward_battle_pass_point = 3;
+ uint32 mission_type = 12;
+ uint32 total_progress = 6;
+
+ enum MissionStatus {
+ MISSION_STATUS_INVALID = 0;
+ MISSION_STATUS_UNFINISHED = 1;
+ MISSION_STATUS_FINISHED = 2;
+ MISSION_STATUS_POINT_TAKEN = 3;
+ }
+}
diff --git a/protocol/proto/BattlePassMissionDelNotify.proto b/protocol/proto/BattlePassMissionDelNotify.proto
new file mode 100644
index 00000000..3daf7aa5
--- /dev/null
+++ b/protocol/proto/BattlePassMissionDelNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2625
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BattlePassMissionDelNotify {
+ repeated uint32 del_mission_id_list = 10;
+}
diff --git a/protocol/proto/BattlePassMissionUpdateNotify.proto b/protocol/proto/BattlePassMissionUpdateNotify.proto
new file mode 100644
index 00000000..d6a8da5d
--- /dev/null
+++ b/protocol/proto/BattlePassMissionUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BattlePassMission.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2618
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BattlePassMissionUpdateNotify {
+ repeated BattlePassMission mission_list = 1;
+}
diff --git a/protocol/proto/BattlePassProduct.proto b/protocol/proto/BattlePassProduct.proto
new file mode 100644
index 00000000..66a7534a
--- /dev/null
+++ b/protocol/proto/BattlePassProduct.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BattlePassProduct {
+ string normal_product_id = 13;
+ string extra_product_id = 10;
+ string upgrade_product_id = 6;
+}
diff --git a/protocol/proto/BattlePassRewardTag.proto b/protocol/proto/BattlePassRewardTag.proto
new file mode 100644
index 00000000..8add0c53
--- /dev/null
+++ b/protocol/proto/BattlePassRewardTag.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BattlePassUnlockStatus.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BattlePassRewardTag {
+ uint32 level = 4;
+ BattlePassUnlockStatus unlock_status = 2;
+ uint32 reward_id = 7;
+}
diff --git a/protocol/proto/BattlePassRewardTakeOption.proto b/protocol/proto/BattlePassRewardTakeOption.proto
new file mode 100644
index 00000000..7c05cfb6
--- /dev/null
+++ b/protocol/proto/BattlePassRewardTakeOption.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BattlePassRewardTag.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BattlePassRewardTakeOption {
+ BattlePassRewardTag tag = 10;
+ uint32 option_idx = 14;
+}
diff --git a/protocol/proto/BattlePassSchedule.proto b/protocol/proto/BattlePassSchedule.proto
new file mode 100644
index 00000000..e4cda9ed
--- /dev/null
+++ b/protocol/proto/BattlePassSchedule.proto
@@ -0,0 +1,41 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BattlePassCycle.proto";
+import "BattlePassProduct.proto";
+import "BattlePassRewardTag.proto";
+import "BattlePassUnlockStatus.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BattlePassSchedule {
+ uint32 level = 14;
+ uint32 begin_time = 2;
+ uint32 end_time = 15;
+ uint32 point = 1;
+ BattlePassCycle cur_cycle = 4;
+ BattlePassUnlockStatus unlock_status = 7;
+ repeated BattlePassRewardTag reward_taken_list = 11;
+ uint32 cur_cycle_points = 10;
+ uint32 paid_platform_flags = 12;
+ BattlePassProduct product_info = 13;
+ bool is_extra_paid_reward_taken = 6;
+ bool is_viewed = 3;
+ uint32 schedule_id = 9;
+}
diff --git a/protocol/proto/BattlePassUnlockStatus.proto b/protocol/proto/BattlePassUnlockStatus.proto
new file mode 100644
index 00000000..77de1c04
--- /dev/null
+++ b/protocol/proto/BattlePassUnlockStatus.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum BattlePassUnlockStatus {
+ BATTLE_PASS_UNLOCK_STATUS_INVALID = 0;
+ BATTLE_PASS_UNLOCK_STATUS_FREE = 1;
+ BATTLE_PASS_UNLOCK_STATUS_PAID = 2;
+}
diff --git a/protocol/proto/BeginCameraSceneLookNotify.proto b/protocol/proto/BeginCameraSceneLookNotify.proto
new file mode 100644
index 00000000..e76a2002
--- /dev/null
+++ b/protocol/proto/BeginCameraSceneLookNotify.proto
@@ -0,0 +1,53 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 270
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BeginCameraSceneLookNotify {
+ uint32 blend_type = 1154;
+ float custom_radius = 7;
+ bool is_set_screen_xy = 5;
+ Vector look_pos = 4;
+ bool is_recover_keep_current = 11;
+ bool is_abs_follow_pos = 1375;
+ KeepRotType keep_rot_type = 6;
+ bool is_change_play_mode = 9;
+ uint32 disable_protect = 1103;
+ float screen_y = 15;
+ bool is_set_follow_pos = 13;
+ bool is_force = 12;
+ float blend_duration = 1758;
+ uint32 entity_id = 1327;
+ float screen_x = 3;
+ bool is_force_walk = 10;
+ repeated string other_params = 1;
+ Vector follow_pos = 8;
+ bool is_allow_input = 2;
+ float duration = 14;
+
+ enum KeepRotType {
+ KEEP_ROT_TYPE_X = 0;
+ KEEP_ROT_TYPE_XY = 1;
+ }
+}
diff --git a/protocol/proto/BeginCameraSceneLookWithTemplateNotify.proto b/protocol/proto/BeginCameraSceneLookWithTemplateNotify.proto
new file mode 100644
index 00000000..31e2092b
--- /dev/null
+++ b/protocol/proto/BeginCameraSceneLookWithTemplateNotify.proto
@@ -0,0 +1,40 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3160
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BeginCameraSceneLookWithTemplateNotify {
+ Vector look_pos = 8;
+ uint32 template_id = 5;
+ Vector follow_pos = 2;
+ uint32 entity_id = 12;
+ repeated string other_params = 13;
+ FollowType follow_type = 9;
+
+ enum FollowType {
+ FOLLOW_TYPE_INIT_FOLLOW_POS = 0;
+ FOLLOW_TYPE_SET_FOLLOW_POS = 1;
+ FOLLOW_TYPE_SET_ABS_FOLLOW_POS = 2;
+ }
+}
diff --git a/protocol/proto/BigTalentPointConvertReq.proto b/protocol/proto/BigTalentPointConvertReq.proto
new file mode 100644
index 00000000..5b925594
--- /dev/null
+++ b/protocol/proto/BigTalentPointConvertReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1007
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BigTalentPointConvertReq {
+ repeated uint64 item_guid_list = 6;
+ uint64 avatar_guid = 3;
+}
diff --git a/protocol/proto/BigTalentPointConvertRsp.proto b/protocol/proto/BigTalentPointConvertRsp.proto
new file mode 100644
index 00000000..3e5eb6e8
--- /dev/null
+++ b/protocol/proto/BigTalentPointConvertRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1021
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BigTalentPointConvertRsp {
+ int32 retcode = 1;
+ uint64 avatar_guid = 8;
+}
diff --git a/protocol/proto/Birthday.proto b/protocol/proto/Birthday.proto
new file mode 100644
index 00000000..87fb40d2
--- /dev/null
+++ b/protocol/proto/Birthday.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Birthday {
+ uint32 month = 1;
+ uint32 day = 2;
+}
diff --git a/protocol/proto/BlessingAcceptAllGivePicReq.proto b/protocol/proto/BlessingAcceptAllGivePicReq.proto
new file mode 100644
index 00000000..e9deb7ab
--- /dev/null
+++ b/protocol/proto/BlessingAcceptAllGivePicReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2045
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlessingAcceptAllGivePicReq {}
diff --git a/protocol/proto/BlessingAcceptAllGivePicRsp.proto b/protocol/proto/BlessingAcceptAllGivePicRsp.proto
new file mode 100644
index 00000000..a644ec04
--- /dev/null
+++ b/protocol/proto/BlessingAcceptAllGivePicRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2044
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlessingAcceptAllGivePicRsp {
+ int32 retcode = 11;
+ map accept_pic_num_map = 14;
+ repeated uint32 accept_index_list = 5;
+}
diff --git a/protocol/proto/BlessingAcceptGivePicReq.proto b/protocol/proto/BlessingAcceptGivePicReq.proto
new file mode 100644
index 00000000..a8ecd4df
--- /dev/null
+++ b/protocol/proto/BlessingAcceptGivePicReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2006
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlessingAcceptGivePicReq {
+ uint32 index = 9;
+ uint32 uid = 1;
+}
diff --git a/protocol/proto/BlessingAcceptGivePicRsp.proto b/protocol/proto/BlessingAcceptGivePicRsp.proto
new file mode 100644
index 00000000..196a6a3e
--- /dev/null
+++ b/protocol/proto/BlessingAcceptGivePicRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2055
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlessingAcceptGivePicRsp {
+ uint32 pic_id = 1;
+ int32 retcode = 13;
+ uint32 index = 5;
+ uint32 uid = 14;
+}
diff --git a/protocol/proto/BlessingActivityDetailInfo.proto b/protocol/proto/BlessingActivityDetailInfo.proto
new file mode 100644
index 00000000..d8789b90
--- /dev/null
+++ b/protocol/proto/BlessingActivityDetailInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BlessingActivityDetailInfo {
+ uint32 cur_day_scan_type = 9;
+ bool is_content_closed = 11;
+ map pic_num_map = 15;
+ uint32 content_close_time = 2;
+ uint32 cur_day_scan_num = 4;
+ uint32 redeem_reward_num = 1;
+ bool is_activated = 13;
+ uint32 next_refresh_time = 6;
+}
diff --git a/protocol/proto/BlessingFriendPicData.proto b/protocol/proto/BlessingFriendPicData.proto
new file mode 100644
index 00000000..175875e5
--- /dev/null
+++ b/protocol/proto/BlessingFriendPicData.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BlessingFriendPicData {
+ map pic_num_map = 4;
+ uint32 avatar_id = 5;
+ string remark_name = 11;
+ string nickname = 14;
+ string signature = 1;
+ ProfilePicture profile_picture = 6;
+ uint32 uid = 9;
+}
diff --git a/protocol/proto/BlessingGetAllRecvPicRecordListReq.proto b/protocol/proto/BlessingGetAllRecvPicRecordListReq.proto
new file mode 100644
index 00000000..827e8717
--- /dev/null
+++ b/protocol/proto/BlessingGetAllRecvPicRecordListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2096
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlessingGetAllRecvPicRecordListReq {}
diff --git a/protocol/proto/BlessingGetAllRecvPicRecordListRsp.proto b/protocol/proto/BlessingGetAllRecvPicRecordListRsp.proto
new file mode 100644
index 00000000..09f92bbc
--- /dev/null
+++ b/protocol/proto/BlessingGetAllRecvPicRecordListRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BlessingRecvPicRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2083
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlessingGetAllRecvPicRecordListRsp {
+ repeated BlessingRecvPicRecord recv_pic_record_list = 15;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/BlessingGetFriendPicListReq.proto b/protocol/proto/BlessingGetFriendPicListReq.proto
new file mode 100644
index 00000000..f9ce10ac
--- /dev/null
+++ b/protocol/proto/BlessingGetFriendPicListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2043
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlessingGetFriendPicListReq {}
diff --git a/protocol/proto/BlessingGetFriendPicListRsp.proto b/protocol/proto/BlessingGetFriendPicListRsp.proto
new file mode 100644
index 00000000..433d9ac0
--- /dev/null
+++ b/protocol/proto/BlessingGetFriendPicListRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BlessingFriendPicData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2056
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlessingGetFriendPicListRsp {
+ int32 retcode = 2;
+ repeated BlessingFriendPicData friend_pic_data_list = 6;
+}
diff --git a/protocol/proto/BlessingGiveFriendPicReq.proto b/protocol/proto/BlessingGiveFriendPicReq.proto
new file mode 100644
index 00000000..f482c579
--- /dev/null
+++ b/protocol/proto/BlessingGiveFriendPicReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2062
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlessingGiveFriendPicReq {
+ uint32 uid = 11;
+ uint32 pic_id = 3;
+}
diff --git a/protocol/proto/BlessingGiveFriendPicRsp.proto b/protocol/proto/BlessingGiveFriendPicRsp.proto
new file mode 100644
index 00000000..4083e25f
--- /dev/null
+++ b/protocol/proto/BlessingGiveFriendPicRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2053
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlessingGiveFriendPicRsp {
+ uint32 pic_id = 10;
+ int32 retcode = 11;
+ uint32 uid = 13;
+}
diff --git a/protocol/proto/BlessingRecvFriendPicNotify.proto b/protocol/proto/BlessingRecvFriendPicNotify.proto
new file mode 100644
index 00000000..b5246bca
--- /dev/null
+++ b/protocol/proto/BlessingRecvFriendPicNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2178
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlessingRecvFriendPicNotify {
+ uint32 uid = 15;
+ uint32 pic_id = 5;
+}
diff --git a/protocol/proto/BlessingRecvPicRecord.proto b/protocol/proto/BlessingRecvPicRecord.proto
new file mode 100644
index 00000000..e0dcba87
--- /dev/null
+++ b/protocol/proto/BlessingRecvPicRecord.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BlessingRecvPicRecord {
+ string nickname = 1;
+ string remark_name = 2;
+ uint32 pic_id = 3;
+ uint32 uid = 5;
+ uint32 avatar_id = 6;
+ string signature = 10;
+ uint32 index = 14;
+ bool is_recv = 7;
+ ProfilePicture profile_picture = 9;
+}
diff --git a/protocol/proto/BlessingRedeemRewardReq.proto b/protocol/proto/BlessingRedeemRewardReq.proto
new file mode 100644
index 00000000..7e513335
--- /dev/null
+++ b/protocol/proto/BlessingRedeemRewardReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2137
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlessingRedeemRewardReq {}
diff --git a/protocol/proto/BlessingRedeemRewardRsp.proto b/protocol/proto/BlessingRedeemRewardRsp.proto
new file mode 100644
index 00000000..25671193
--- /dev/null
+++ b/protocol/proto/BlessingRedeemRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2098
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlessingRedeemRewardRsp {
+ map pic_num_map = 12;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/BlessingScanReq.proto b/protocol/proto/BlessingScanReq.proto
new file mode 100644
index 00000000..f6d7cce4
--- /dev/null
+++ b/protocol/proto/BlessingScanReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2081
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlessingScanReq {
+ uint32 entity_id = 11;
+}
diff --git a/protocol/proto/BlessingScanRsp.proto b/protocol/proto/BlessingScanRsp.proto
new file mode 100644
index 00000000..88751bc5
--- /dev/null
+++ b/protocol/proto/BlessingScanRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2093
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlessingScanRsp {
+ uint32 scan_pic_id = 4;
+ int32 retcode = 11;
+ uint32 cur_day_scan_num = 1;
+}
diff --git a/protocol/proto/BlitzRushActivityDetailInfo.proto b/protocol/proto/BlitzRushActivityDetailInfo.proto
new file mode 100644
index 00000000..e5a0e359
--- /dev/null
+++ b/protocol/proto/BlitzRushActivityDetailInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BlitzRushStage.proto";
+import "ParkourLevelInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BlitzRushActivityDetailInfo {
+ repeated BlitzRushStage stage_list = 10;
+ uint32 content_close_time = 14;
+ bool is_content_closed = 2;
+ repeated ParkourLevelInfo parkour_level_info_list = 6;
+}
diff --git a/protocol/proto/BlitzRushParkourRestartReq.proto b/protocol/proto/BlitzRushParkourRestartReq.proto
new file mode 100644
index 00000000..62b3e77a
--- /dev/null
+++ b/protocol/proto/BlitzRushParkourRestartReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8653
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlitzRushParkourRestartReq {
+ uint32 schedule_id = 13;
+ uint32 group_id = 2;
+}
diff --git a/protocol/proto/BlitzRushParkourRestartRsp.proto b/protocol/proto/BlitzRushParkourRestartRsp.proto
new file mode 100644
index 00000000..a9ca74b4
--- /dev/null
+++ b/protocol/proto/BlitzRushParkourRestartRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8944
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlitzRushParkourRestartRsp {
+ int32 retcode = 14;
+ uint32 group_id = 15;
+ uint32 schedule_id = 1;
+}
diff --git a/protocol/proto/BlitzRushStage.proto b/protocol/proto/BlitzRushStage.proto
new file mode 100644
index 00000000..2eb50011
--- /dev/null
+++ b/protocol/proto/BlitzRushStage.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BlitzRushStage {
+ bool is_open = 13;
+ uint32 open_time = 11;
+}
diff --git a/protocol/proto/BlockInfo.proto b/protocol/proto/BlockInfo.proto
new file mode 100644
index 00000000..3d398941
--- /dev/null
+++ b/protocol/proto/BlockInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BlockInfo {
+ uint32 block_id = 1;
+ uint32 data_version = 2;
+ bytes bin_data = 3;
+ bool is_dirty = 4;
+}
diff --git a/protocol/proto/BlossomBriefInfo.proto b/protocol/proto/BlossomBriefInfo.proto
new file mode 100644
index 00000000..14f23678
--- /dev/null
+++ b/protocol/proto/BlossomBriefInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BlossomBriefInfo {
+ uint32 refresh_id = 13;
+ uint32 reward_id = 5;
+ uint32 city_id = 10;
+ uint32 resin = 11;
+ uint32 state = 7;
+ bool is_guide_opened = 1;
+ uint32 monster_level = 8;
+ uint32 circle_camp_id = 15;
+ Vector pos = 12;
+ uint32 scene_id = 9;
+}
diff --git a/protocol/proto/BlossomBriefInfoNotify.proto b/protocol/proto/BlossomBriefInfoNotify.proto
new file mode 100644
index 00000000..e0c1ff30
--- /dev/null
+++ b/protocol/proto/BlossomBriefInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BlossomBriefInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2712
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlossomBriefInfoNotify {
+ repeated BlossomBriefInfo brief_info_list = 4;
+}
diff --git a/protocol/proto/BlossomChestCreateNotify.proto b/protocol/proto/BlossomChestCreateNotify.proto
new file mode 100644
index 00000000..84e99b3b
--- /dev/null
+++ b/protocol/proto/BlossomChestCreateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2721
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BlossomChestCreateNotify {
+ uint32 refresh_id = 1;
+ uint32 circle_camp_id = 10;
+}
diff --git a/protocol/proto/BlossomChestInfo.proto b/protocol/proto/BlossomChestInfo.proto
new file mode 100644
index 00000000..02b4922d
--- /dev/null
+++ b/protocol/proto/BlossomChestInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BlossomChestInfo {
+ uint32 resin = 1;
+ repeated uint32 qualify_uid_list = 2;
+ repeated uint32 remain_uid_list = 3;
+ uint32 dead_time = 4;
+ uint32 blossom_refresh_type = 5;
+ uint32 refresh_id = 6;
+}
diff --git a/protocol/proto/BlossomChestInfoNotify.proto b/protocol/proto/BlossomChestInfoNotify.proto
new file mode 100644
index 00000000..7a971ffe
--- /dev/null
+++ b/protocol/proto/BlossomChestInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BlossomChestInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 890
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BlossomChestInfoNotify {
+ uint32 entity_id = 9;
+ BlossomChestInfo blossom_chest_info = 3;
+}
diff --git a/protocol/proto/BlossomScheduleInfo.proto b/protocol/proto/BlossomScheduleInfo.proto
new file mode 100644
index 00000000..c0c7c68d
--- /dev/null
+++ b/protocol/proto/BlossomScheduleInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BlossomScheduleInfo {
+ uint32 progress = 13;
+ uint32 state = 10;
+ uint32 round = 4;
+ uint32 circle_camp_id = 15;
+ uint32 refresh_id = 6;
+ uint32 finish_progress = 14;
+}
diff --git a/protocol/proto/BonusActivityInfo.proto b/protocol/proto/BonusActivityInfo.proto
new file mode 100644
index 00000000..f5526077
--- /dev/null
+++ b/protocol/proto/BonusActivityInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BonusActivityInfo {
+ uint32 bonus_activity_id = 6;
+ uint32 state = 3;
+}
diff --git a/protocol/proto/BonusActivityInfoReq.proto b/protocol/proto/BonusActivityInfoReq.proto
new file mode 100644
index 00000000..89c9eebc
--- /dev/null
+++ b/protocol/proto/BonusActivityInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2548
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BonusActivityInfoReq {}
diff --git a/protocol/proto/BonusActivityInfoRsp.proto b/protocol/proto/BonusActivityInfoRsp.proto
new file mode 100644
index 00000000..7a452267
--- /dev/null
+++ b/protocol/proto/BonusActivityInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BonusActivityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2597
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BonusActivityInfoRsp {
+ repeated BonusActivityInfo bonus_activity_info_list = 2;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/BonusActivityUpdateNotify.proto b/protocol/proto/BonusActivityUpdateNotify.proto
new file mode 100644
index 00000000..2db73dd4
--- /dev/null
+++ b/protocol/proto/BonusActivityUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BonusActivityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2575
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BonusActivityUpdateNotify {
+ repeated BonusActivityInfo bonus_activity_info_list = 8;
+}
diff --git a/protocol/proto/BonusOpActivityInfo.proto b/protocol/proto/BonusOpActivityInfo.proto
new file mode 100644
index 00000000..8e1963a2
--- /dev/null
+++ b/protocol/proto/BonusOpActivityInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BonusOpActivityInfo {
+ uint32 left_bonus_count = 11;
+}
diff --git a/protocol/proto/BossChestActivateNotify.proto b/protocol/proto/BossChestActivateNotify.proto
new file mode 100644
index 00000000..9d2a8597
--- /dev/null
+++ b/protocol/proto/BossChestActivateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 803
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BossChestActivateNotify {
+ repeated uint32 qualify_uid_list = 1;
+ uint32 entity_id = 12;
+}
diff --git a/protocol/proto/BossChestInfo.proto b/protocol/proto/BossChestInfo.proto
new file mode 100644
index 00000000..179ff74c
--- /dev/null
+++ b/protocol/proto/BossChestInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WeeklyBossResinDiscountInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BossChestInfo {
+ uint32 monster_config_id = 1;
+ uint32 resin = 2;
+ repeated uint32 remain_uid_list = 3;
+ repeated uint32 qualify_uid_list = 4;
+ map uid_discount_map = 5;
+}
diff --git a/protocol/proto/BounceConjuringActivityDetailInfo.proto b/protocol/proto/BounceConjuringActivityDetailInfo.proto
new file mode 100644
index 00000000..e253ac20
--- /dev/null
+++ b/protocol/proto/BounceConjuringActivityDetailInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BounceConjuringChapterInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BounceConjuringActivityDetailInfo {
+ repeated BounceConjuringChapterInfo chapter_info_list = 8;
+ bool is_content_closed = 12;
+ uint32 content_close_time = 7;
+}
diff --git a/protocol/proto/BounceConjuringChapterInfo.proto b/protocol/proto/BounceConjuringChapterInfo.proto
new file mode 100644
index 00000000..5c29609d
--- /dev/null
+++ b/protocol/proto/BounceConjuringChapterInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BounceConjuringChapterInfo {
+ uint32 best_score = 12;
+ uint32 open_time = 9;
+ uint32 chapter_id = 13;
+}
diff --git a/protocol/proto/BounceConjuringGallerySettleInfo.proto b/protocol/proto/BounceConjuringGallerySettleInfo.proto
new file mode 100644
index 00000000..bf7200a3
--- /dev/null
+++ b/protocol/proto/BounceConjuringGallerySettleInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExhibitionDisplayInfo.proto";
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BounceConjuringGallerySettleInfo {
+ OnlinePlayerInfo player_info = 14;
+ uint32 destroyed_machine_count = 5;
+ uint32 fever_count = 6;
+ uint32 normal_hit_count = 4;
+ float damage = 11;
+ map gadget_count_map = 15;
+ uint32 score = 12;
+ uint32 perfect_hit_count = 8;
+ repeated ExhibitionDisplayInfo card_list = 7;
+}
diff --git a/protocol/proto/BounceConjuringSettleNotify.proto b/protocol/proto/BounceConjuringSettleNotify.proto
new file mode 100644
index 00000000..8caa0d99
--- /dev/null
+++ b/protocol/proto/BounceConjuringSettleNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BounceConjuringGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8084
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BounceConjuringSettleNotify {
+ bool is_new_record = 14;
+ map settle_info_map = 4;
+ uint32 total_score = 2;
+ uint32 chapter_id = 13;
+}
diff --git a/protocol/proto/BuildingInfo.proto b/protocol/proto/BuildingInfo.proto
new file mode 100644
index 00000000..47c6ae71
--- /dev/null
+++ b/protocol/proto/BuildingInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BuildingInfo {
+ uint32 building_id = 1;
+ uint32 point_config_id = 2;
+ uint32 cost = 3;
+ uint32 refund = 5;
+ uint32 owner_uid = 6;
+ uint32 current_num = 7;
+ uint32 max_num = 8;
+}
diff --git a/protocol/proto/BuoyantCombatDailyInfo.proto b/protocol/proto/BuoyantCombatDailyInfo.proto
new file mode 100644
index 00000000..c2a8c03a
--- /dev/null
+++ b/protocol/proto/BuoyantCombatDailyInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BuoyantCombatDailyInfo {
+ uint32 start_time = 2;
+ uint32 best_score = 13;
+}
diff --git a/protocol/proto/BuoyantCombatDetailInfo.proto b/protocol/proto/BuoyantCombatDetailInfo.proto
new file mode 100644
index 00000000..fa4de2c1
--- /dev/null
+++ b/protocol/proto/BuoyantCombatDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BuoyantCombatDailyInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BuoyantCombatDetailInfo {
+ repeated BuoyantCombatDailyInfo daily_info_list = 8;
+}
diff --git a/protocol/proto/BuoyantCombatGallerySettleInfo.proto b/protocol/proto/BuoyantCombatGallerySettleInfo.proto
new file mode 100644
index 00000000..0a7d4a16
--- /dev/null
+++ b/protocol/proto/BuoyantCombatGallerySettleInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BuoyantCombatGallerySettleInfo {
+ uint32 gallery_level = 12;
+ uint32 final_score = 15;
+ uint32 kill_monster_count = 9;
+ uint32 kill_target_count = 1;
+ uint32 kill_special_monster_count = 4;
+ uint32 gallery_id = 2;
+ uint32 gallery_multiple = 11;
+}
diff --git a/protocol/proto/BuoyantCombatSettleInfo.proto b/protocol/proto/BuoyantCombatSettleInfo.proto
new file mode 100644
index 00000000..6a08ea46
--- /dev/null
+++ b/protocol/proto/BuoyantCombatSettleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BuoyantCombatGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message BuoyantCombatSettleInfo {
+ bool is_new_record = 1;
+ BuoyantCombatGallerySettleInfo settle_info = 3;
+}
diff --git a/protocol/proto/BuoyantCombatSettleNotify.proto b/protocol/proto/BuoyantCombatSettleNotify.proto
new file mode 100644
index 00000000..bff7279f
--- /dev/null
+++ b/protocol/proto/BuoyantCombatSettleNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BuoyantCombatSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8305
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BuoyantCombatSettleNotify {
+ uint32 gallery_id = 8;
+ BuoyantCombatSettleInfo settle_info = 11;
+}
diff --git a/protocol/proto/BuyBattlePassLevelReq.proto b/protocol/proto/BuyBattlePassLevelReq.proto
new file mode 100644
index 00000000..9485869a
--- /dev/null
+++ b/protocol/proto/BuyBattlePassLevelReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2647
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BuyBattlePassLevelReq {
+ uint32 buy_level = 8;
+}
diff --git a/protocol/proto/BuyBattlePassLevelRsp.proto b/protocol/proto/BuyBattlePassLevelRsp.proto
new file mode 100644
index 00000000..752cf0df
--- /dev/null
+++ b/protocol/proto/BuyBattlePassLevelRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2637
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BuyBattlePassLevelRsp {
+ int32 retcode = 5;
+ uint32 buy_level = 13;
+}
diff --git a/protocol/proto/BuyGoodsReq.proto b/protocol/proto/BuyGoodsReq.proto
new file mode 100644
index 00000000..01e62078
--- /dev/null
+++ b/protocol/proto/BuyGoodsReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ShopGoods.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 712
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BuyGoodsReq {
+ uint32 buy_count = 14;
+ ShopGoods goods = 15;
+ uint32 shop_type = 7;
+}
diff --git a/protocol/proto/BuyGoodsRsp.proto b/protocol/proto/BuyGoodsRsp.proto
new file mode 100644
index 00000000..248ec02a
--- /dev/null
+++ b/protocol/proto/BuyGoodsRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ShopGoods.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 735
+// EnetChannelId: 0
+// EnetIsReliable: true
+message BuyGoodsRsp {
+ uint32 buy_count = 14;
+ ShopGoods goods = 12;
+ uint32 shop_type = 11;
+ int32 retcode = 2;
+ repeated ShopGoods goods_list = 5;
+}
diff --git a/protocol/proto/BuyResinReq.proto b/protocol/proto/BuyResinReq.proto
new file mode 100644
index 00000000..7bf04757
--- /dev/null
+++ b/protocol/proto/BuyResinReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BuyResinReq {}
diff --git a/protocol/proto/BuyResinRsp.proto b/protocol/proto/BuyResinRsp.proto
new file mode 100644
index 00000000..2f46610a
--- /dev/null
+++ b/protocol/proto/BuyResinRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 619
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message BuyResinRsp {
+ uint32 cur_value = 10;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/CalcWeaponUpgradeReturnItemsReq.proto b/protocol/proto/CalcWeaponUpgradeReturnItemsReq.proto
new file mode 100644
index 00000000..51ddbb7d
--- /dev/null
+++ b/protocol/proto/CalcWeaponUpgradeReturnItemsReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 633
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CalcWeaponUpgradeReturnItemsReq {
+ repeated uint64 food_weapon_guid_list = 15;
+ uint64 target_weapon_guid = 12;
+ repeated ItemParam item_param_list = 3;
+}
diff --git a/protocol/proto/CalcWeaponUpgradeReturnItemsRsp.proto b/protocol/proto/CalcWeaponUpgradeReturnItemsRsp.proto
new file mode 100644
index 00000000..5cfcf971
--- /dev/null
+++ b/protocol/proto/CalcWeaponUpgradeReturnItemsRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 684
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CalcWeaponUpgradeReturnItemsRsp {
+ repeated ItemParam item_param_list = 4;
+ int32 retcode = 15;
+ uint64 target_weapon_guid = 8;
+}
diff --git a/protocol/proto/CanUseSkillNotify.proto b/protocol/proto/CanUseSkillNotify.proto
new file mode 100644
index 00000000..d116f043
--- /dev/null
+++ b/protocol/proto/CanUseSkillNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1005
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CanUseSkillNotify {
+ bool is_can_use_skill = 2;
+}
diff --git a/protocol/proto/CancelCityReputationRequestReq.proto b/protocol/proto/CancelCityReputationRequestReq.proto
new file mode 100644
index 00000000..d3cb56c4
--- /dev/null
+++ b/protocol/proto/CancelCityReputationRequestReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2899
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CancelCityReputationRequestReq {
+ uint32 request_id = 10;
+ uint32 city_id = 6;
+}
diff --git a/protocol/proto/CancelCityReputationRequestRsp.proto b/protocol/proto/CancelCityReputationRequestRsp.proto
new file mode 100644
index 00000000..ac922a6c
--- /dev/null
+++ b/protocol/proto/CancelCityReputationRequestRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2831
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CancelCityReputationRequestRsp {
+ uint32 city_id = 3;
+ int32 retcode = 2;
+ uint32 request_id = 12;
+}
diff --git a/protocol/proto/CancelCoopTaskReq.proto b/protocol/proto/CancelCoopTaskReq.proto
new file mode 100644
index 00000000..1c5906d7
--- /dev/null
+++ b/protocol/proto/CancelCoopTaskReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1997
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CancelCoopTaskReq {
+ uint32 chapter_id = 13;
+}
diff --git a/protocol/proto/CancelCoopTaskRsp.proto b/protocol/proto/CancelCoopTaskRsp.proto
new file mode 100644
index 00000000..17df98d9
--- /dev/null
+++ b/protocol/proto/CancelCoopTaskRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1987
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CancelCoopTaskRsp {
+ uint32 chapter_id = 1;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/CancelFinishParentQuestNotify.proto b/protocol/proto/CancelFinishParentQuestNotify.proto
new file mode 100644
index 00000000..9e8cacca
--- /dev/null
+++ b/protocol/proto/CancelFinishParentQuestNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 424
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CancelFinishParentQuestNotify {
+ uint32 parent_quest_id = 6;
+}
diff --git a/protocol/proto/CardProductRewardNotify.proto b/protocol/proto/CardProductRewardNotify.proto
new file mode 100644
index 00000000..4fa7de52
--- /dev/null
+++ b/protocol/proto/CardProductRewardNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4107
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CardProductRewardNotify {
+ uint32 hcoin = 6;
+ string product_id = 14;
+ uint32 remain_days = 1;
+}
diff --git a/protocol/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto b/protocol/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto
new file mode 100644
index 00000000..33d32fdd
--- /dev/null
+++ b/protocol/proto/CataLogFinishedGlobalWatcherAllDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CataLogGlobalWatcherFinishedData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6370
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CataLogFinishedGlobalWatcherAllDataNotify {
+ repeated CataLogGlobalWatcherFinishedData finished_global_watcher_data_list = 13;
+}
diff --git a/protocol/proto/CataLogGlobalWatcherFinishedData.proto b/protocol/proto/CataLogGlobalWatcherFinishedData.proto
new file mode 100644
index 00000000..5fd10c06
--- /dev/null
+++ b/protocol/proto/CataLogGlobalWatcherFinishedData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CataLogGlobalWatcherFinishedData {
+ repeated uint32 finished_global_watcher_list = 8;
+ uint32 catalog_type = 13;
+}
diff --git a/protocol/proto/CataLogNewFinishedGlobalWatcherNotify.proto b/protocol/proto/CataLogNewFinishedGlobalWatcherNotify.proto
new file mode 100644
index 00000000..a6d3292e
--- /dev/null
+++ b/protocol/proto/CataLogNewFinishedGlobalWatcherNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CataLogGlobalWatcherFinishedData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6395
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CataLogNewFinishedGlobalWatcherNotify {
+ repeated CataLogGlobalWatcherFinishedData new_finished_global_watcher_data_list = 2;
+}
diff --git a/protocol/proto/CellInfo.proto b/protocol/proto/CellInfo.proto
new file mode 100644
index 00000000..4568d9c9
--- /dev/null
+++ b/protocol/proto/CellInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneSurfaceMaterial.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CellInfo {
+ SceneSurfaceMaterial type = 1;
+ int32 y = 2;
+}
diff --git a/protocol/proto/ChallengeBrief.proto b/protocol/proto/ChallengeBrief.proto
new file mode 100644
index 00000000..1ccdcfca
--- /dev/null
+++ b/protocol/proto/ChallengeBrief.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChallengeBrief {
+ uint32 cur_progress = 9;
+ uint32 challenge_index = 10;
+ bool is_success = 4;
+ uint32 challenge_id = 8;
+}
diff --git a/protocol/proto/ChallengeDataNotify.proto b/protocol/proto/ChallengeDataNotify.proto
new file mode 100644
index 00000000..1c213539
--- /dev/null
+++ b/protocol/proto/ChallengeDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 953
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChallengeDataNotify {
+ uint32 value = 8;
+ uint32 challenge_index = 2;
+ uint32 param_index = 9;
+}
diff --git a/protocol/proto/ChallengeFinishType.proto b/protocol/proto/ChallengeFinishType.proto
new file mode 100644
index 00000000..103f1acc
--- /dev/null
+++ b/protocol/proto/ChallengeFinishType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ChallengeFinishType {
+ CHALLENGE_FINISH_TYPE_NONE = 0;
+ CHALLENGE_FINISH_TYPE_FAIL = 1;
+ CHALLENGE_FINISH_TYPE_SUCC = 2;
+ CHALLENGE_FINISH_TYPE_PAUSE = 3;
+}
diff --git a/protocol/proto/ChallengeRecord.proto b/protocol/proto/ChallengeRecord.proto
new file mode 100644
index 00000000..734be556
--- /dev/null
+++ b/protocol/proto/ChallengeRecord.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChallengeRecord {
+ uint32 challenge_record_type = 14;
+ uint32 challenge_index = 15;
+ uint32 challenge_id = 1;
+ uint32 best_value = 8;
+}
diff --git a/protocol/proto/ChallengeRecordNotify.proto b/protocol/proto/ChallengeRecordNotify.proto
new file mode 100644
index 00000000..11474b88
--- /dev/null
+++ b/protocol/proto/ChallengeRecordNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChallengeRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 993
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChallengeRecordNotify {
+ uint32 group_id = 2;
+ repeated ChallengeRecord challenge_record_list = 5;
+}
diff --git a/protocol/proto/ChangeAvatarReq.proto b/protocol/proto/ChangeAvatarReq.proto
new file mode 100644
index 00000000..116eb5eb
--- /dev/null
+++ b/protocol/proto/ChangeAvatarReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1640
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeAvatarReq {
+ Vector move_pos = 15;
+ uint32 skill_id = 2;
+ uint64 guid = 7;
+ bool is_move = 10;
+}
diff --git a/protocol/proto/ChangeAvatarRsp.proto b/protocol/proto/ChangeAvatarRsp.proto
new file mode 100644
index 00000000..961fe97d
--- /dev/null
+++ b/protocol/proto/ChangeAvatarRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1607
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChangeAvatarRsp {
+ uint32 skill_id = 3;
+ int32 retcode = 10;
+ uint64 cur_guid = 4;
+}
diff --git a/protocol/proto/ChangeCustomDungeonRoomReq.proto b/protocol/proto/ChangeCustomDungeonRoomReq.proto
new file mode 100644
index 00000000..b45419fd
--- /dev/null
+++ b/protocol/proto/ChangeCustomDungeonRoomReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6222
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeCustomDungeonRoomReq {
+ uint32 room_id = 4;
+}
diff --git a/protocol/proto/ChangeCustomDungeonRoomRsp.proto b/protocol/proto/ChangeCustomDungeonRoomRsp.proto
new file mode 100644
index 00000000..3c0b3c17
--- /dev/null
+++ b/protocol/proto/ChangeCustomDungeonRoomRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6244
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChangeCustomDungeonRoomRsp {
+ int32 retcode = 1;
+ uint32 room_id = 13;
+}
diff --git a/protocol/proto/ChangeEnergyReason.proto b/protocol/proto/ChangeEnergyReason.proto
new file mode 100644
index 00000000..f18b920e
--- /dev/null
+++ b/protocol/proto/ChangeEnergyReason.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ChangeEnergyReason {
+ CHANGE_ENERGY_REASON_NONE = 0;
+ CHANGE_ENERGY_REASON_SKILL_START = 1;
+}
diff --git a/protocol/proto/ChangeGameTimeReq.proto b/protocol/proto/ChangeGameTimeReq.proto
new file mode 100644
index 00000000..9e188d14
--- /dev/null
+++ b/protocol/proto/ChangeGameTimeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 173
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeGameTimeReq {
+ uint32 game_time = 6;
+ bool is_force_set = 11;
+ uint32 extra_days = 12;
+}
diff --git a/protocol/proto/ChangeGameTimeRsp.proto b/protocol/proto/ChangeGameTimeRsp.proto
new file mode 100644
index 00000000..c66f5ab8
--- /dev/null
+++ b/protocol/proto/ChangeGameTimeRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 199
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChangeGameTimeRsp {
+ int32 retcode = 8;
+ uint32 extra_days = 5;
+ uint32 cur_game_time = 14;
+}
diff --git a/protocol/proto/ChangeHpReason.proto b/protocol/proto/ChangeHpReason.proto
new file mode 100644
index 00000000..9e9949ed
--- /dev/null
+++ b/protocol/proto/ChangeHpReason.proto
@@ -0,0 +1,53 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ChangeHpReason {
+ CHANGE_HP_REASON_NONE = 0;
+ CHANGE_HP_REASON_SUB_AVATAR = 1;
+ CHANGE_HP_REASON_SUB_MONSTER = 2;
+ CHANGE_HP_REASON_SUB_GEAR = 3;
+ CHANGE_HP_REASON_SUB_ENVIR = 4;
+ CHANGE_HP_REASON_SUB_FALL = 5;
+ CHANGE_HP_REASON_SUB_DRAWN = 6;
+ CHANGE_HP_REASON_SUB_ABYSS = 7;
+ CHANGE_HP_REASON_SUB_ABILITY = 8;
+ CHANGE_HP_REASON_SUB_SUMMON = 9;
+ CHANGE_HP_REASON_SUB_SCRIPT = 10;
+ CHANGE_HP_REASON_SUB_GM = 11;
+ CHANGE_HP_REASON_SUB_KILL_SELF = 12;
+ CHANGE_HP_REASON_SUB_CLIMATE_COLD = 13;
+ CHANGE_HP_REASON_SUB_STORM_LIGHTNING = 14;
+ CHANGE_HP_REASON_SUB_KILL_SERVER_GADGET = 15;
+ CHANGE_HP_REASON_SUB_REPLACE = 16;
+ CHANGE_HP_REASON_SUB_PLAYER_LEAVE = 17;
+ CHANGE_HP_REASON_ATTACK_BY_ENERGY = 18;
+ CHANGE_HP_REASON_ATTACK_BY_RECYCLE = 19;
+ CHANGE_HP_REASON_BY_LUA = 51;
+ CHANGE_HP_REASON_ADD_ABILITY = 101;
+ CHANGE_HP_REASON_ADD_ITEM = 102;
+ CHANGE_HP_REASON_ADD_REVIVE = 103;
+ CHANGE_HP_REASON_ADD_UPGRADE = 104;
+ CHANGE_HP_REASON_ADD_STATUE = 105;
+ CHANGE_HP_REASON_ADD_BACKGROUND = 106;
+ CHANGE_HP_REASON_ADD_GM = 107;
+ CHANGE_HP_REASON_ADD_TRIAL_AVATAR_ACTIVITY = 108;
+ CHANGE_HP_REASON_ADD_ROUGUELIKE_SPRING = 109;
+}
diff --git a/protocol/proto/ChangeMailStarNotify.proto b/protocol/proto/ChangeMailStarNotify.proto
new file mode 100644
index 00000000..fcde3bca
--- /dev/null
+++ b/protocol/proto/ChangeMailStarNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1448
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeMailStarNotify {
+ bool is_star = 14;
+ repeated uint32 mail_id_list = 2;
+}
diff --git a/protocol/proto/ChangeMpTeamAvatarReq.proto b/protocol/proto/ChangeMpTeamAvatarReq.proto
new file mode 100644
index 00000000..957fbfea
--- /dev/null
+++ b/protocol/proto/ChangeMpTeamAvatarReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1708
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeMpTeamAvatarReq {
+ uint64 cur_avatar_guid = 4;
+ repeated uint64 avatar_guid_list = 8;
+}
diff --git a/protocol/proto/ChangeMpTeamAvatarRsp.proto b/protocol/proto/ChangeMpTeamAvatarRsp.proto
new file mode 100644
index 00000000..700ba6e0
--- /dev/null
+++ b/protocol/proto/ChangeMpTeamAvatarRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1753
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChangeMpTeamAvatarRsp {
+ int32 retcode = 4;
+ repeated uint64 avatar_guid_list = 3;
+ uint64 cur_avatar_guid = 13;
+}
diff --git a/protocol/proto/ChangeServerGlobalValueNotify.proto b/protocol/proto/ChangeServerGlobalValueNotify.proto
new file mode 100644
index 00000000..6f79cebb
--- /dev/null
+++ b/protocol/proto/ChangeServerGlobalValueNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 27
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeServerGlobalValueNotify {
+ uint32 entity_id = 4;
+}
diff --git a/protocol/proto/ChangeTeamNameReq.proto b/protocol/proto/ChangeTeamNameReq.proto
new file mode 100644
index 00000000..5421e9ca
--- /dev/null
+++ b/protocol/proto/ChangeTeamNameReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1603
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeTeamNameReq {
+ int32 team_id = 8;
+ string team_name = 9;
+}
diff --git a/protocol/proto/ChangeTeamNameRsp.proto b/protocol/proto/ChangeTeamNameRsp.proto
new file mode 100644
index 00000000..e787e3f4
--- /dev/null
+++ b/protocol/proto/ChangeTeamNameRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1666
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChangeTeamNameRsp {
+ int32 retcode = 11;
+ string team_name = 2;
+ int32 team_id = 4;
+}
diff --git a/protocol/proto/ChangeWidgetBackgroundActiveStateReq.proto b/protocol/proto/ChangeWidgetBackgroundActiveStateReq.proto
new file mode 100644
index 00000000..840fd607
--- /dev/null
+++ b/protocol/proto/ChangeWidgetBackgroundActiveStateReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5907
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeWidgetBackgroundActiveStateReq {
+ bool is_active = 15;
+ uint32 material_id = 3;
+}
diff --git a/protocol/proto/ChangeWidgetBackgroundActiveStateRsp.proto b/protocol/proto/ChangeWidgetBackgroundActiveStateRsp.proto
new file mode 100644
index 00000000..586b2560
--- /dev/null
+++ b/protocol/proto/ChangeWidgetBackgroundActiveStateRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6060
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChangeWidgetBackgroundActiveStateRsp {
+ int32 retcode = 8;
+ uint32 material_id = 6;
+}
diff --git a/protocol/proto/ChangeWorldToSingleModeNotify.proto b/protocol/proto/ChangeWorldToSingleModeNotify.proto
new file mode 100644
index 00000000..3235b381
--- /dev/null
+++ b/protocol/proto/ChangeWorldToSingleModeNotify.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3006
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeWorldToSingleModeNotify {}
diff --git a/protocol/proto/ChangeWorldToSingleModeReq.proto b/protocol/proto/ChangeWorldToSingleModeReq.proto
new file mode 100644
index 00000000..5d13bbe7
--- /dev/null
+++ b/protocol/proto/ChangeWorldToSingleModeReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3066
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChangeWorldToSingleModeReq {}
diff --git a/protocol/proto/ChangeWorldToSingleModeRsp.proto b/protocol/proto/ChangeWorldToSingleModeRsp.proto
new file mode 100644
index 00000000..9121065b
--- /dev/null
+++ b/protocol/proto/ChangeWorldToSingleModeRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3282
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChangeWorldToSingleModeRsp {
+ uint32 quit_mp_valid_time = 15;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/ChannelerSlabActivityDetailInfo.proto b/protocol/proto/ChannelerSlabActivityDetailInfo.proto
new file mode 100644
index 00000000..b6e8aa49
--- /dev/null
+++ b/protocol/proto/ChannelerSlabActivityDetailInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChannelerSlabBuffInfo.proto";
+import "ChannelerSlabChallengeStage.proto";
+import "ChannelerSlabLoopDungeonStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabActivityDetailInfo {
+ ChannelerSlabBuffInfo buff_info = 1;
+ ChannelerSlabLoopDungeonStageInfo loop_dungeon_stage_info = 7;
+ repeated ChannelerSlabChallengeStage stage_list = 15;
+ uint32 play_end_time = 3;
+}
diff --git a/protocol/proto/ChannelerSlabAssistInfo.proto b/protocol/proto/ChannelerSlabAssistInfo.proto
new file mode 100644
index 00000000..14c1f110
--- /dev/null
+++ b/protocol/proto/ChannelerSlabAssistInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabAssistInfo {
+ uint32 uid = 10;
+ uint32 avatar_level = 12;
+ uint32 avatar_id = 6;
+}
diff --git a/protocol/proto/ChannelerSlabBuffInfo.proto b/protocol/proto/ChannelerSlabBuffInfo.proto
new file mode 100644
index 00000000..70c20148
--- /dev/null
+++ b/protocol/proto/ChannelerSlabBuffInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChannelerSlabAssistInfo.proto";
+import "ChannelerSlabBuffSchemeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabBuffInfo {
+ ChannelerSlabBuffSchemeInfo mp_buff_scheme_info = 6;
+ repeated uint32 buff_id_list = 8;
+ ChannelerSlabBuffSchemeInfo single_buff_scheme_info = 7;
+ repeated ChannelerSlabAssistInfo assist_info_list = 15;
+}
diff --git a/protocol/proto/ChannelerSlabBuffSchemeInfo.proto b/protocol/proto/ChannelerSlabBuffSchemeInfo.proto
new file mode 100644
index 00000000..15c4c56a
--- /dev/null
+++ b/protocol/proto/ChannelerSlabBuffSchemeInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabBuffSchemeInfo {
+ map slot_map = 9;
+ uint32 total_energy = 13;
+ uint32 self_energy = 15;
+}
diff --git a/protocol/proto/ChannelerSlabCamp.proto b/protocol/proto/ChannelerSlabCamp.proto
new file mode 100644
index 00000000..cb79d29b
--- /dev/null
+++ b/protocol/proto/ChannelerSlabCamp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabCamp {
+ uint32 reward_id = 11;
+ Vector pos = 8;
+ uint32 buff_num = 7;
+ uint32 group_id = 3;
+}
diff --git a/protocol/proto/ChannelerSlabChallenge.proto b/protocol/proto/ChannelerSlabChallenge.proto
new file mode 100644
index 00000000..512e41be
--- /dev/null
+++ b/protocol/proto/ChannelerSlabChallenge.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChannelerSlabCamp.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabChallenge {
+ uint32 active_camp_index = 5;
+ repeated ChannelerSlabCamp camp_list = 14;
+}
diff --git a/protocol/proto/ChannelerSlabChallengeStage.proto b/protocol/proto/ChannelerSlabChallengeStage.proto
new file mode 100644
index 00000000..8c4bda44
--- /dev/null
+++ b/protocol/proto/ChannelerSlabChallengeStage.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChannelerSlabChallenge.proto";
+import "ChannelerSlabOneofDungeon.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabChallengeStage {
+ uint32 open_time = 3;
+ repeated ChannelerSlabChallenge challenge_list = 14;
+ bool is_open = 7;
+ uint32 stage_id = 9;
+ ChannelerSlabOneofDungeon dungeon_info = 13;
+}
diff --git a/protocol/proto/ChannelerSlabCheckEnterLoopDungeonReq.proto b/protocol/proto/ChannelerSlabCheckEnterLoopDungeonReq.proto
new file mode 100644
index 00000000..696b06bd
--- /dev/null
+++ b/protocol/proto/ChannelerSlabCheckEnterLoopDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8745
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabCheckEnterLoopDungeonReq {}
diff --git a/protocol/proto/ChannelerSlabCheckEnterLoopDungeonRsp.proto b/protocol/proto/ChannelerSlabCheckEnterLoopDungeonRsp.proto
new file mode 100644
index 00000000..95e991fe
--- /dev/null
+++ b/protocol/proto/ChannelerSlabCheckEnterLoopDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8452
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabCheckEnterLoopDungeonRsp {
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/ChannelerSlabEnterLoopDungeonReq.proto b/protocol/proto/ChannelerSlabEnterLoopDungeonReq.proto
new file mode 100644
index 00000000..bcdccc04
--- /dev/null
+++ b/protocol/proto/ChannelerSlabEnterLoopDungeonReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8869
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabEnterLoopDungeonReq {
+ uint32 point_id = 9;
+ uint32 dungeon_index = 10;
+ repeated uint32 condition_id_list = 5;
+ uint32 difficulty_id = 12;
+}
diff --git a/protocol/proto/ChannelerSlabEnterLoopDungeonRsp.proto b/protocol/proto/ChannelerSlabEnterLoopDungeonRsp.proto
new file mode 100644
index 00000000..960ec437
--- /dev/null
+++ b/protocol/proto/ChannelerSlabEnterLoopDungeonRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8081
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabEnterLoopDungeonRsp {
+ int32 retcode = 9;
+ uint32 point_id = 12;
+ repeated uint32 condition_id_list = 6;
+ uint32 dungeon_index = 15;
+ uint32 difficulty_id = 3;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.proto b/protocol/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.proto
new file mode 100644
index 00000000..b1be6388
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonChallengeInfoNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8224
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabLoopDungeonChallengeInfoNotify {
+ uint32 dungeon_index = 12;
+ uint32 challenge_score = 4;
+ uint32 difficulty_id = 2;
+ repeated uint32 condition_id_list = 3;
+ repeated uint32 scheme_buff_id_list = 6;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonInfo.proto b/protocol/proto/ChannelerSlabLoopDungeonInfo.proto
new file mode 100644
index 00000000..0ee5d76e
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabLoopDungeonInfo {
+ uint32 score = 7;
+ uint32 dungeon_index = 4;
+ uint32 open_time = 12;
+ bool is_first_pass_reward_taken = 9;
+ repeated uint32 last_condition_id_list = 14;
+ bool is_open = 1;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonResultInfo.proto b/protocol/proto/ChannelerSlabLoopDungeonResultInfo.proto
new file mode 100644
index 00000000..a3c90993
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonResultInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabLoopDungeonResultInfo {
+ bool is_success = 11;
+ uint32 challenge_max_score = 8;
+ uint32 dungeon_index = 7;
+ bool is_in_time_limit = 10;
+ uint32 challenge_score = 12;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonSelectConditionReq.proto b/protocol/proto/ChannelerSlabLoopDungeonSelectConditionReq.proto
new file mode 100644
index 00000000..5358dca4
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonSelectConditionReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8503
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabLoopDungeonSelectConditionReq {
+ uint32 dungeon_index = 4;
+ repeated uint32 condition_id_list = 3;
+ uint32 difficulty_id = 8;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonSelectConditionRsp.proto b/protocol/proto/ChannelerSlabLoopDungeonSelectConditionRsp.proto
new file mode 100644
index 00000000..841a4f00
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonSelectConditionRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8509
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabLoopDungeonSelectConditionRsp {
+ int32 retcode = 9;
+ uint32 dungeon_index = 5;
+ repeated uint32 condition_id_list = 13;
+ uint32 difficulty_id = 14;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonStageInfo.proto b/protocol/proto/ChannelerSlabLoopDungeonStageInfo.proto
new file mode 100644
index 00000000..8ff39e17
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonStageInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChannelerSlabLoopDungeonInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabLoopDungeonStageInfo {
+ repeated ChannelerSlabLoopDungeonInfo dungeon_info_list = 15;
+ repeated uint32 taken_reward_index_list = 5;
+ bool is_open = 11;
+ uint32 last_difficulty_id = 6;
+ uint32 open_time = 3;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.proto b/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.proto
new file mode 100644
index 00000000..9933f039
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8589
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabLoopDungeonTakeFirstPassRewardReq {
+ uint32 dungeon_index = 10;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.proto b/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.proto
new file mode 100644
index 00000000..0fc55aa3
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonTakeFirstPassRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8539
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabLoopDungeonTakeFirstPassRewardRsp {
+ int32 retcode = 10;
+ uint32 dungeon_index = 8;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.proto b/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.proto
new file mode 100644
index 00000000..264a6904
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8684
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabLoopDungeonTakeScoreRewardReq {
+ uint32 reward_index = 8;
+}
diff --git a/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.proto b/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.proto
new file mode 100644
index 00000000..234e4e4e
--- /dev/null
+++ b/protocol/proto/ChannelerSlabLoopDungeonTakeScoreRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8433
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabLoopDungeonTakeScoreRewardRsp {
+ uint32 reward_index = 12;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/ChannelerSlabOneOffDungeonInfoNotify.proto b/protocol/proto/ChannelerSlabOneOffDungeonInfoNotify.proto
new file mode 100644
index 00000000..687ebc7d
--- /dev/null
+++ b/protocol/proto/ChannelerSlabOneOffDungeonInfoNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8729
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabOneOffDungeonInfoNotify {
+ repeated uint32 scheme_buff_id_list = 6;
+}
diff --git a/protocol/proto/ChannelerSlabOneOffDungeonInfoReq.proto b/protocol/proto/ChannelerSlabOneOffDungeonInfoReq.proto
new file mode 100644
index 00000000..22bdc654
--- /dev/null
+++ b/protocol/proto/ChannelerSlabOneOffDungeonInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8409
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabOneOffDungeonInfoReq {}
diff --git a/protocol/proto/ChannelerSlabOneOffDungeonInfoRsp.proto b/protocol/proto/ChannelerSlabOneOffDungeonInfoRsp.proto
new file mode 100644
index 00000000..500e7deb
--- /dev/null
+++ b/protocol/proto/ChannelerSlabOneOffDungeonInfoRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8268
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabOneOffDungeonInfoRsp {
+ repeated uint32 scheme_buff_id_list = 3;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/ChannelerSlabOneofDungeon.proto b/protocol/proto/ChannelerSlabOneofDungeon.proto
new file mode 100644
index 00000000..deb5b398
--- /dev/null
+++ b/protocol/proto/ChannelerSlabOneofDungeon.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChannelerSlabOneofDungeon {
+ bool is_done = 8;
+ uint32 dungeon_id = 12;
+ uint32 reward_id = 13;
+}
diff --git a/protocol/proto/ChannelerSlabSaveAssistInfoReq.proto b/protocol/proto/ChannelerSlabSaveAssistInfoReq.proto
new file mode 100644
index 00000000..8568fafe
--- /dev/null
+++ b/protocol/proto/ChannelerSlabSaveAssistInfoReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChannelerSlabAssistInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8416
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabSaveAssistInfoReq {
+ repeated ChannelerSlabAssistInfo assist_info_list = 8;
+}
diff --git a/protocol/proto/ChannelerSlabSaveAssistInfoRsp.proto b/protocol/proto/ChannelerSlabSaveAssistInfoRsp.proto
new file mode 100644
index 00000000..5a001f63
--- /dev/null
+++ b/protocol/proto/ChannelerSlabSaveAssistInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChannelerSlabAssistInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8932
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabSaveAssistInfoRsp {
+ repeated ChannelerSlabAssistInfo assist_info_list = 8;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto b/protocol/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto
new file mode 100644
index 00000000..6ce562df
--- /dev/null
+++ b/protocol/proto/ChannelerSlabStageActiveChallengeIndexNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8734
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabStageActiveChallengeIndexNotify {
+ uint32 stage_id = 15;
+ uint32 challenge_index = 12;
+ uint32 active_camp_index = 6;
+}
diff --git a/protocol/proto/ChannelerSlabStageOneofDungeonNotify.proto b/protocol/proto/ChannelerSlabStageOneofDungeonNotify.proto
new file mode 100644
index 00000000..1eb4d9cd
--- /dev/null
+++ b/protocol/proto/ChannelerSlabStageOneofDungeonNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8203
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabStageOneofDungeonNotify {
+ uint32 stage_id = 2;
+ bool is_done = 8;
+}
diff --git a/protocol/proto/ChannelerSlabTakeoffBuffReq.proto b/protocol/proto/ChannelerSlabTakeoffBuffReq.proto
new file mode 100644
index 00000000..e4648b6e
--- /dev/null
+++ b/protocol/proto/ChannelerSlabTakeoffBuffReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8516
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabTakeoffBuffReq {
+ bool is_mp = 10;
+ uint32 slot_id = 12;
+ uint32 buff_id = 9;
+}
diff --git a/protocol/proto/ChannelerSlabTakeoffBuffRsp.proto b/protocol/proto/ChannelerSlabTakeoffBuffRsp.proto
new file mode 100644
index 00000000..30577ac2
--- /dev/null
+++ b/protocol/proto/ChannelerSlabTakeoffBuffRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8237
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabTakeoffBuffRsp {
+ int32 retcode = 3;
+ bool is_mp = 13;
+ uint32 buff_id = 14;
+ uint32 slot_id = 8;
+}
diff --git a/protocol/proto/ChannelerSlabWearBuffReq.proto b/protocol/proto/ChannelerSlabWearBuffReq.proto
new file mode 100644
index 00000000..a4ac3849
--- /dev/null
+++ b/protocol/proto/ChannelerSlabWearBuffReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8107
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChannelerSlabWearBuffReq {
+ uint32 buff_id = 3;
+ bool is_mp = 5;
+ uint32 slot_id = 13;
+}
diff --git a/protocol/proto/ChannelerSlabWearBuffRsp.proto b/protocol/proto/ChannelerSlabWearBuffRsp.proto
new file mode 100644
index 00000000..fecc2bde
--- /dev/null
+++ b/protocol/proto/ChannelerSlabWearBuffRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8600
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChannelerSlabWearBuffRsp {
+ uint32 buff_id = 15;
+ int32 retcode = 1;
+ bool is_mp = 9;
+ uint32 slot_id = 8;
+}
diff --git a/protocol/proto/ChapterState.proto b/protocol/proto/ChapterState.proto
new file mode 100644
index 00000000..7e92d046
--- /dev/null
+++ b/protocol/proto/ChapterState.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ChapterState {
+ CHAPTER_STATE_INVALID = 0;
+ CHAPTER_STATE_UNABLE_TO_BEGIN = 1;
+ CHAPTER_STATE_BEGIN = 2;
+ CHAPTER_STATE_END = 3;
+}
diff --git a/protocol/proto/ChapterStateNotify.proto b/protocol/proto/ChapterStateNotify.proto
new file mode 100644
index 00000000..51df6cd2
--- /dev/null
+++ b/protocol/proto/ChapterStateNotify.proto
@@ -0,0 +1,42 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChapterState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 405
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChapterStateNotify {
+ ChapterState chapter_state = 9;
+ NeedPlayerLevel need_player_level = 10;
+ NeedBeginTime need_begin_time = 1;
+ uint32 chapter_id = 2;
+
+ message NeedPlayerLevel {
+ bool is_limit = 2;
+ uint32 config_need_player_level = 11;
+ }
+
+ message NeedBeginTime {
+ uint32 config_need_begin_time = 3;
+ bool is_limit = 7;
+ }
+}
diff --git a/protocol/proto/CharAmusementAvatarInfo.proto b/protocol/proto/CharAmusementAvatarInfo.proto
new file mode 100644
index 00000000..c8b441ac
--- /dev/null
+++ b/protocol/proto/CharAmusementAvatarInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CharAmusementAvatarInfo {
+ uint32 uid = 11;
+ uint32 punish_time = 7;
+ repeated uint32 avatar_id_list = 10;
+}
diff --git a/protocol/proto/CharAmusementDetailInfo.proto b/protocol/proto/CharAmusementDetailInfo.proto
new file mode 100644
index 00000000..3d7d7dd7
--- /dev/null
+++ b/protocol/proto/CharAmusementDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CharAmusementStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CharAmusementDetailInfo {
+ repeated CharAmusementStageData stage_data_list = 1;
+}
diff --git a/protocol/proto/CharAmusementInfo.proto b/protocol/proto/CharAmusementInfo.proto
new file mode 100644
index 00000000..6b9e7fc4
--- /dev/null
+++ b/protocol/proto/CharAmusementInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CharAmusementAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CharAmusementInfo {
+ uint32 total_cost_time = 11;
+ uint32 stage_id = 2;
+ uint32 level_id = 10;
+ uint32 preview_stage_index = 4;
+ repeated CharAmusementAvatarInfo avatar_info_list = 5;
+}
diff --git a/protocol/proto/CharAmusementSettleNotify.proto b/protocol/proto/CharAmusementSettleNotify.proto
new file mode 100644
index 00000000..5d73c127
--- /dev/null
+++ b/protocol/proto/CharAmusementSettleNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23133
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CharAmusementSettleNotify {
+ bool is_succ = 3;
+ uint32 finish_time = 14;
+ bool is_new_record = 2;
+}
diff --git a/protocol/proto/CharAmusementStageData.proto b/protocol/proto/CharAmusementStageData.proto
new file mode 100644
index 00000000..2d217eb1
--- /dev/null
+++ b/protocol/proto/CharAmusementStageData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CharAmusementStageData {
+ uint32 finish_time = 15;
+ bool is_open = 12;
+ uint32 stage_id = 6;
+}
diff --git a/protocol/proto/ChatChannelDataNotify.proto b/protocol/proto/ChatChannelDataNotify.proto
new file mode 100644
index 00000000..e8992723
--- /dev/null
+++ b/protocol/proto/ChatChannelDataNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4998
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChatChannelDataNotify {
+ repeated uint32 channel_list = 3;
+}
diff --git a/protocol/proto/ChatChannelUpdateNotify.proto b/protocol/proto/ChatChannelUpdateNotify.proto
new file mode 100644
index 00000000..d34403ff
--- /dev/null
+++ b/protocol/proto/ChatChannelUpdateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5025
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChatChannelUpdateNotify {
+ uint32 channel_id = 3;
+ bool is_create = 15;
+}
diff --git a/protocol/proto/ChatEmojiCollectionData.proto b/protocol/proto/ChatEmojiCollectionData.proto
new file mode 100644
index 00000000..39c90e82
--- /dev/null
+++ b/protocol/proto/ChatEmojiCollectionData.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChatEmojiCollectionData {
+ repeated uint32 emoji_id_list = 1;
+}
diff --git a/protocol/proto/ChatHistoryNotify.proto b/protocol/proto/ChatHistoryNotify.proto
new file mode 100644
index 00000000..abca9bf5
--- /dev/null
+++ b/protocol/proto/ChatHistoryNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChatInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3496
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChatHistoryNotify {
+ repeated ChatInfo chat_info = 9;
+ uint32 channel_id = 12;
+}
diff --git a/protocol/proto/ChatInfo.proto b/protocol/proto/ChatInfo.proto
new file mode 100644
index 00000000..0e3dd143
--- /dev/null
+++ b/protocol/proto/ChatInfo.proto
@@ -0,0 +1,43 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChatInfo {
+ uint32 time = 13;
+ uint32 sequence = 10;
+ uint32 to_uid = 7;
+ uint32 uid = 15;
+ bool is_read = 5;
+ oneof content {
+ string text = 1946;
+ uint32 icon = 914;
+ SystemHint system_hint = 1753;
+ }
+
+ enum SystemHintType {
+ SYSTEM_HINT_TYPE_CHAT_NONE = 0;
+ SYSTEM_HINT_TYPE_CHAT_ENTER_WORLD = 1;
+ SYSTEM_HINT_TYPE_CHAT_LEAVE_WORLD = 2;
+ }
+
+ message SystemHint {
+ uint32 type = 14;
+ }
+}
diff --git a/protocol/proto/CheckAddItemExceedLimitNotify.proto b/protocol/proto/CheckAddItemExceedLimitNotify.proto
new file mode 100644
index 00000000..9c852fb7
--- /dev/null
+++ b/protocol/proto/CheckAddItemExceedLimitNotify.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 692
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CheckAddItemExceedLimitNotify {
+ bool is_drop = 5;
+ ItemExceedLimitMsgType msg_type = 4;
+ repeated uint32 exceeded_item_type_list = 10;
+ repeated uint32 exceeded_item_list = 12;
+ uint32 reason = 14;
+
+ enum ItemExceedLimitMsgType {
+ ITEM_EXCEED_LIMIT_MSG_TYPE_DEFAULT = 0;
+ ITEM_EXCEED_LIMIT_MSG_TYPE_TEXT = 1;
+ ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG = 2;
+ ITEM_EXCEED_LIMIT_MSG_TYPE_DIALOG_NONBLOCK = 3;
+ }
+}
diff --git a/protocol/proto/CheckGroupReplacedReq.proto b/protocol/proto/CheckGroupReplacedReq.proto
new file mode 100644
index 00000000..642d93f7
--- /dev/null
+++ b/protocol/proto/CheckGroupReplacedReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3113
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CheckGroupReplacedReq {
+ repeated uint32 group_id_list = 7;
+}
diff --git a/protocol/proto/CheckGroupReplacedRsp.proto b/protocol/proto/CheckGroupReplacedRsp.proto
new file mode 100644
index 00000000..16f75c22
--- /dev/null
+++ b/protocol/proto/CheckGroupReplacedRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3152
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CheckGroupReplacedRsp {
+ int32 retcode = 4;
+ repeated uint32 replaced_group_id_list = 6;
+}
diff --git a/protocol/proto/CheckSegmentCRCNotify.proto b/protocol/proto/CheckSegmentCRCNotify.proto
new file mode 100644
index 00000000..514098bf
--- /dev/null
+++ b/protocol/proto/CheckSegmentCRCNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SegmentInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 39
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CheckSegmentCRCNotify {
+ repeated SegmentInfo info_list = 6;
+}
diff --git a/protocol/proto/CheckSegmentCRCReq.proto b/protocol/proto/CheckSegmentCRCReq.proto
new file mode 100644
index 00000000..347b2da0
--- /dev/null
+++ b/protocol/proto/CheckSegmentCRCReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SegmentCRCInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 53
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CheckSegmentCRCReq {
+ repeated SegmentCRCInfo info_list = 1;
+}
diff --git a/protocol/proto/CheckUgcStateReq.proto b/protocol/proto/CheckUgcStateReq.proto
new file mode 100644
index 00000000..5865151c
--- /dev/null
+++ b/protocol/proto/CheckUgcStateReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6342
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CheckUgcStateReq {}
diff --git a/protocol/proto/CheckUgcStateRsp.proto b/protocol/proto/CheckUgcStateRsp.proto
new file mode 100644
index 00000000..94148e1a
--- /dev/null
+++ b/protocol/proto/CheckUgcStateRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6314
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CheckUgcStateRsp {
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/CheckUgcUpdateReq.proto b/protocol/proto/CheckUgcUpdateReq.proto
new file mode 100644
index 00000000..035c4846
--- /dev/null
+++ b/protocol/proto/CheckUgcUpdateReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6320
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CheckUgcUpdateReq {
+ UgcType ugc_type = 13;
+}
diff --git a/protocol/proto/CheckUgcUpdateRsp.proto b/protocol/proto/CheckUgcUpdateRsp.proto
new file mode 100644
index 00000000..74f656f8
--- /dev/null
+++ b/protocol/proto/CheckUgcUpdateRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6345
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CheckUgcUpdateRsp {
+ repeated uint64 update_ugc_guid_list = 15;
+ int32 retcode = 10;
+ UgcType ugc_type = 12;
+}
diff --git a/protocol/proto/ChessActivityDetailInfo.proto b/protocol/proto/ChessActivityDetailInfo.proto
new file mode 100644
index 00000000..633054a5
--- /dev/null
+++ b/protocol/proto/ChessActivityDetailInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChessActivityDetailInfo {
+ uint32 level = 4;
+ bool is_teach_dungeon_finished = 9;
+ uint32 content_close_time = 14;
+ uint32 obtained_exp = 8;
+ bool is_content_closed = 5;
+ uint32 available_exp = 2;
+ uint32 exp = 13;
+ repeated uint32 finished_map_id_list = 1;
+ uint32 punish_over_time = 3;
+}
diff --git a/protocol/proto/ChessCardInfo.proto b/protocol/proto/ChessCardInfo.proto
new file mode 100644
index 00000000..8809cfb2
--- /dev/null
+++ b/protocol/proto/ChessCardInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChessCardInfo {
+ uint32 effect_stack = 12;
+ uint32 card_id = 11;
+}
diff --git a/protocol/proto/ChessEntranceDetailInfo.proto b/protocol/proto/ChessEntranceDetailInfo.proto
new file mode 100644
index 00000000..6175e259
--- /dev/null
+++ b/protocol/proto/ChessEntranceDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChessEntranceInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChessEntranceDetailInfo {
+ repeated ChessEntranceInfo info_list = 4;
+}
diff --git a/protocol/proto/ChessEntranceInfo.proto b/protocol/proto/ChessEntranceInfo.proto
new file mode 100644
index 00000000..82b0ad91
--- /dev/null
+++ b/protocol/proto/ChessEntranceInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChessMonsterInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChessEntranceInfo {
+ repeated ChessMonsterInfo monster_info_list = 14;
+ uint32 entrance_index = 15;
+ uint32 entrance_point_id = 8;
+}
diff --git a/protocol/proto/ChessEscapedMonstersNotify.proto b/protocol/proto/ChessEscapedMonstersNotify.proto
new file mode 100644
index 00000000..6ad2f4e0
--- /dev/null
+++ b/protocol/proto/ChessEscapedMonstersNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5314
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChessEscapedMonstersNotify {
+ uint32 escaped_monsters = 14;
+}
diff --git a/protocol/proto/ChessLeftMonstersNotify.proto b/protocol/proto/ChessLeftMonstersNotify.proto
new file mode 100644
index 00000000..ea30fb63
--- /dev/null
+++ b/protocol/proto/ChessLeftMonstersNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5360
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChessLeftMonstersNotify {
+ uint32 left_monsters = 6;
+}
diff --git a/protocol/proto/ChessManualRefreshCardsReq.proto b/protocol/proto/ChessManualRefreshCardsReq.proto
new file mode 100644
index 00000000..e5cb458d
--- /dev/null
+++ b/protocol/proto/ChessManualRefreshCardsReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5389
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChessManualRefreshCardsReq {}
diff --git a/protocol/proto/ChessManualRefreshCardsRsp.proto b/protocol/proto/ChessManualRefreshCardsRsp.proto
new file mode 100644
index 00000000..8c639049
--- /dev/null
+++ b/protocol/proto/ChessManualRefreshCardsRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5359
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChessManualRefreshCardsRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/ChessMonsterInfo.proto b/protocol/proto/ChessMonsterInfo.proto
new file mode 100644
index 00000000..1ccdd58f
--- /dev/null
+++ b/protocol/proto/ChessMonsterInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChessMonsterInfo {
+ uint32 monster_id = 12;
+ uint32 level = 2;
+ repeated uint32 affix_list = 13;
+}
diff --git a/protocol/proto/ChessMysteryInfo.proto b/protocol/proto/ChessMysteryInfo.proto
new file mode 100644
index 00000000..c8f4660d
--- /dev/null
+++ b/protocol/proto/ChessMysteryInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChessEntranceDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChessMysteryInfo {
+ map entrance_point_map = 13;
+ repeated uint32 exit_point_id_list = 3;
+ map detail_info_map = 5;
+}
diff --git a/protocol/proto/ChessNormalCardInfo.proto b/protocol/proto/ChessNormalCardInfo.proto
new file mode 100644
index 00000000..b05acf1b
--- /dev/null
+++ b/protocol/proto/ChessNormalCardInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChessNormalCardInfo {
+ uint32 card_id = 2;
+ uint32 cost_points = 15;
+ bool is_attach_curse = 6;
+}
diff --git a/protocol/proto/ChessPickCardNotify.proto b/protocol/proto/ChessPickCardNotify.proto
new file mode 100644
index 00000000..8ed8ad2f
--- /dev/null
+++ b/protocol/proto/ChessPickCardNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChessNormalCardInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5380
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChessPickCardNotify {
+ uint32 curse_card_id = 13;
+ ChessNormalCardInfo normal_card_info = 1;
+}
diff --git a/protocol/proto/ChessPickCardReq.proto b/protocol/proto/ChessPickCardReq.proto
new file mode 100644
index 00000000..25b88574
--- /dev/null
+++ b/protocol/proto/ChessPickCardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5333
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChessPickCardReq {
+ uint32 card_id = 1;
+ uint32 card_index = 4;
+}
diff --git a/protocol/proto/ChessPickCardRsp.proto b/protocol/proto/ChessPickCardRsp.proto
new file mode 100644
index 00000000..de2f4212
--- /dev/null
+++ b/protocol/proto/ChessPickCardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5384
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChessPickCardRsp {
+ uint32 card_index = 11;
+ uint32 card_id = 1;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/ChessPlayerInfo.proto b/protocol/proto/ChessPlayerInfo.proto
new file mode 100644
index 00000000..defaad54
--- /dev/null
+++ b/protocol/proto/ChessPlayerInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChessNormalCardInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChessPlayerInfo {
+ uint32 uid = 5;
+ uint32 free_refresh_limit = 10;
+ repeated ChessNormalCardInfo candidate_card_info_list = 3;
+ uint32 building_points = 12;
+ uint32 candidate_index = 6;
+ uint32 free_refresh_count = 13;
+ uint32 refresh_cost = 7;
+}
diff --git a/protocol/proto/ChessPlayerInfoNotify.proto b/protocol/proto/ChessPlayerInfoNotify.proto
new file mode 100644
index 00000000..4158e671
--- /dev/null
+++ b/protocol/proto/ChessPlayerInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChessPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5332
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChessPlayerInfoNotify {
+ ChessPlayerInfo player_info = 10;
+}
diff --git a/protocol/proto/ChessSelectedCardsNotify.proto b/protocol/proto/ChessSelectedCardsNotify.proto
new file mode 100644
index 00000000..017f1157
--- /dev/null
+++ b/protocol/proto/ChessSelectedCardsNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChessCardInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5392
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChessSelectedCardsNotify {
+ repeated ChessCardInfo selected_card_info_list = 4;
+}
diff --git a/protocol/proto/ChildQuest.proto b/protocol/proto/ChildQuest.proto
new file mode 100644
index 00000000..d22a29d5
--- /dev/null
+++ b/protocol/proto/ChildQuest.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ChildQuest {
+ uint32 quest_config_id = 8;
+ uint32 state = 4;
+ uint32 quest_id = 15;
+}
diff --git a/protocol/proto/ChooseCurAvatarTeamReq.proto b/protocol/proto/ChooseCurAvatarTeamReq.proto
new file mode 100644
index 00000000..2323f3d5
--- /dev/null
+++ b/protocol/proto/ChooseCurAvatarTeamReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1796
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ChooseCurAvatarTeamReq {
+ uint32 team_id = 9;
+}
diff --git a/protocol/proto/ChooseCurAvatarTeamRsp.proto b/protocol/proto/ChooseCurAvatarTeamRsp.proto
new file mode 100644
index 00000000..04cefe6e
--- /dev/null
+++ b/protocol/proto/ChooseCurAvatarTeamRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1661
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ChooseCurAvatarTeamRsp {
+ uint32 cur_team_id = 1;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/CityInfo.proto b/protocol/proto/CityInfo.proto
new file mode 100644
index 00000000..d2012102
--- /dev/null
+++ b/protocol/proto/CityInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CityInfo {
+ uint32 city_id = 15;
+ uint32 crystal_num = 3;
+ uint32 level = 4;
+}
diff --git a/protocol/proto/CityReputationDataNotify.proto b/protocol/proto/CityReputationDataNotify.proto
new file mode 100644
index 00000000..0d11bcfe
--- /dev/null
+++ b/protocol/proto/CityReputationDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CityReputationSimpleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2805
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CityReputationDataNotify {
+ repeated CityReputationSimpleInfo simple_info_list = 7;
+}
diff --git a/protocol/proto/CityReputationExploreInfo.proto b/protocol/proto/CityReputationExploreInfo.proto
new file mode 100644
index 00000000..d22f19fb
--- /dev/null
+++ b/protocol/proto/CityReputationExploreInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CityReputationExploreInfo {
+ repeated uint32 taken_explore_reward_list = 2;
+ uint32 explore_percent = 14;
+ bool is_open = 15;
+}
diff --git a/protocol/proto/CityReputationHuntInfo.proto b/protocol/proto/CityReputationHuntInfo.proto
new file mode 100644
index 00000000..c8671ec6
--- /dev/null
+++ b/protocol/proto/CityReputationHuntInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CityReputationHuntInfo {
+ bool is_open = 6;
+ uint32 cur_week_finish_num = 15;
+ bool has_reward = 5;
+}
diff --git a/protocol/proto/CityReputationInfo.proto b/protocol/proto/CityReputationInfo.proto
new file mode 100644
index 00000000..40663f00
--- /dev/null
+++ b/protocol/proto/CityReputationInfo.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CityReputationExploreInfo.proto";
+import "CityReputationHuntInfo.proto";
+import "CityReputationQuestInfo.proto";
+import "CityReputationRequestInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CityReputationInfo {
+ uint32 level = 4;
+ uint32 next_refresh_time = 3;
+ CityReputationHuntInfo hunt_info = 11;
+ repeated uint32 taken_level_reward_list = 2;
+ uint32 total_accept_request_num = 6;
+ CityReputationRequestInfo request_info = 5;
+ CityReputationQuestInfo quest_info = 9;
+ uint32 exp = 13;
+ CityReputationExploreInfo explore_info = 10;
+}
diff --git a/protocol/proto/CityReputationLevelupNotify.proto b/protocol/proto/CityReputationLevelupNotify.proto
new file mode 100644
index 00000000..5d1c0131
--- /dev/null
+++ b/protocol/proto/CityReputationLevelupNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2807
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CityReputationLevelupNotify {
+ uint32 city_id = 12;
+ uint32 level = 15;
+}
diff --git a/protocol/proto/CityReputationQuestInfo.proto b/protocol/proto/CityReputationQuestInfo.proto
new file mode 100644
index 00000000..2221273c
--- /dev/null
+++ b/protocol/proto/CityReputationQuestInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CityReputationQuestInfo {
+ bool is_open = 2;
+ repeated uint32 taken_parent_quest_reward_list = 12;
+ repeated uint32 finished_parent_quest_list = 7;
+}
diff --git a/protocol/proto/CityReputationRequestInfo.proto b/protocol/proto/CityReputationRequestInfo.proto
new file mode 100644
index 00000000..33c62aa9
--- /dev/null
+++ b/protocol/proto/CityReputationRequestInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CityReputationRequestInfo {
+ bool is_open = 2;
+ repeated RequestInfo request_info_list = 1;
+
+ message RequestInfo {
+ uint32 request_id = 3;
+ uint32 quest_id = 9;
+ bool is_taken_reward = 6;
+ }
+}
diff --git a/protocol/proto/CityReputationSimpleInfo.proto b/protocol/proto/CityReputationSimpleInfo.proto
new file mode 100644
index 00000000..34861df9
--- /dev/null
+++ b/protocol/proto/CityReputationSimpleInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CityReputationSimpleInfo {
+ uint32 level = 15;
+ uint32 city_id = 9;
+}
diff --git a/protocol/proto/ClearRoguelikeCurseNotify.proto b/protocol/proto/ClearRoguelikeCurseNotify.proto
new file mode 100644
index 00000000..d1cdd860
--- /dev/null
+++ b/protocol/proto/ClearRoguelikeCurseNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8207
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ClearRoguelikeCurseNotify {
+ map clear_curse_map = 10;
+ bool is_clear_all = 11;
+ uint32 card_id = 8;
+ bool is_curse_all_clear = 1;
+}
diff --git a/protocol/proto/ClientAIStateNotify.proto b/protocol/proto/ClientAIStateNotify.proto
new file mode 100644
index 00000000..950c42cb
--- /dev/null
+++ b/protocol/proto/ClientAIStateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1181
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientAIStateNotify {
+ uint32 entity_id = 9;
+ uint32 cur_tactic = 15;
+}
diff --git a/protocol/proto/ClientAbilitiesInitFinishCombineNotify.proto b/protocol/proto/ClientAbilitiesInitFinishCombineNotify.proto
new file mode 100644
index 00000000..7d968c1c
--- /dev/null
+++ b/protocol/proto/ClientAbilitiesInitFinishCombineNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EntityAbilityInvokeEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1103
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientAbilitiesInitFinishCombineNotify {
+ repeated EntityAbilityInvokeEntry entity_invoke_list = 1;
+}
diff --git a/protocol/proto/ClientAbilityChangeNotify.proto b/protocol/proto/ClientAbilityChangeNotify.proto
new file mode 100644
index 00000000..f295c5da
--- /dev/null
+++ b/protocol/proto/ClientAbilityChangeNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityInvokeEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1175
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientAbilityChangeNotify {
+ bool is_init_hash = 9;
+ uint32 entity_id = 2;
+ repeated AbilityInvokeEntry invokes = 3;
+}
diff --git a/protocol/proto/ClientAbilityInitBeginNotify.proto b/protocol/proto/ClientAbilityInitBeginNotify.proto
new file mode 100644
index 00000000..5f2e3852
--- /dev/null
+++ b/protocol/proto/ClientAbilityInitBeginNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1112
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientAbilityInitBeginNotify {
+ uint32 entity_id = 1;
+}
diff --git a/protocol/proto/ClientAbilityInitFinishNotify.proto b/protocol/proto/ClientAbilityInitFinishNotify.proto
new file mode 100644
index 00000000..e309601e
--- /dev/null
+++ b/protocol/proto/ClientAbilityInitFinishNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityInvokeEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1135
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientAbilityInitFinishNotify {
+ repeated AbilityInvokeEntry invokes = 14;
+ uint32 entity_id = 11;
+}
diff --git a/protocol/proto/ClientBulletCreateNotify.proto b/protocol/proto/ClientBulletCreateNotify.proto
new file mode 100644
index 00000000..80d13f32
--- /dev/null
+++ b/protocol/proto/ClientBulletCreateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientBulletCreateNotify {
+ uint32 param = 6;
+}
diff --git a/protocol/proto/ClientCollectorData.proto b/protocol/proto/ClientCollectorData.proto
new file mode 100644
index 00000000..39acc30d
--- /dev/null
+++ b/protocol/proto/ClientCollectorData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ClientCollectorData {
+ uint32 material_id = 10;
+ uint32 max_points = 8;
+ uint32 curr_points = 13;
+}
diff --git a/protocol/proto/ClientCollectorDataNotify.proto b/protocol/proto/ClientCollectorDataNotify.proto
new file mode 100644
index 00000000..f4bf81c2
--- /dev/null
+++ b/protocol/proto/ClientCollectorDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ClientCollectorData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4264
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ClientCollectorDataNotify {
+ repeated ClientCollectorData client_collector_data_list = 13;
+}
diff --git a/protocol/proto/ClientGadgetInfo.proto b/protocol/proto/ClientGadgetInfo.proto
new file mode 100644
index 00000000..6a76467d
--- /dev/null
+++ b/protocol/proto/ClientGadgetInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ClientGadgetInfo {
+ uint32 camp_id = 1;
+ uint32 camp_type = 2;
+ uint64 guid = 3;
+ uint32 owner_entity_id = 4;
+ uint32 target_entity_id = 5;
+ bool async_load = 6;
+ bool is_peer_id_from_player = 7;
+ repeated uint32 target_entity_id_list = 8;
+}
diff --git a/protocol/proto/ClientHashDebugNotify.proto b/protocol/proto/ClientHashDebugNotify.proto
new file mode 100644
index 00000000..322a77a8
--- /dev/null
+++ b/protocol/proto/ClientHashDebugNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3086
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ClientHashDebugNotify {
+ uint32 job_id = 12;
+}
diff --git a/protocol/proto/ClientInputType.proto b/protocol/proto/ClientInputType.proto
new file mode 100644
index 00000000..c6c2bc8a
--- /dev/null
+++ b/protocol/proto/ClientInputType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ClientInputType {
+ CLIENT_INPUT_TYPE_NONE = 0;
+ CLIENT_INPUT_TYPE_KEYBORD_MOUSE = 1;
+ CLIENT_INPUT_TYPE_GAMEPAD = 2;
+ CLIENT_INPUT_TYPE_TOUCH_PANEL = 3;
+}
diff --git a/protocol/proto/ClientLoadingCostumeVerificationNotify.proto b/protocol/proto/ClientLoadingCostumeVerificationNotify.proto
new file mode 100644
index 00000000..079a5789
--- /dev/null
+++ b/protocol/proto/ClientLoadingCostumeVerificationNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3487
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientLoadingCostumeVerificationNotify {
+ uint32 costume_id = 9;
+ uint64 prefab_hash = 2;
+ uint64 guid = 14;
+}
diff --git a/protocol/proto/ClientLockGameTimeNotify.proto b/protocol/proto/ClientLockGameTimeNotify.proto
new file mode 100644
index 00000000..dbd68274
--- /dev/null
+++ b/protocol/proto/ClientLockGameTimeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 114
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientLockGameTimeNotify {
+ bool is_lock = 5;
+}
diff --git a/protocol/proto/ClientLogBodyLogin.proto b/protocol/proto/ClientLogBodyLogin.proto
new file mode 100644
index 00000000..555ff6d1
--- /dev/null
+++ b/protocol/proto/ClientLogBodyLogin.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ClientLogBodyLogin {
+ string action_type = 1;
+ string action_result = 2;
+ uint32 action_time = 3;
+ string xg = 4;
+ uint32 signal_level = 5;
+ string dns = 6;
+}
diff --git a/protocol/proto/ClientLogBodyPing.proto b/protocol/proto/ClientLogBodyPing.proto
new file mode 100644
index 00000000..8721d86f
--- /dev/null
+++ b/protocol/proto/ClientLogBodyPing.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ClientLogBodyPing {
+ string xg = 1;
+ uint32 signal_level = 2;
+ uint32 ping = 3;
+ string servertype = 4;
+ string serverip = 5;
+ string serverport = 6;
+ uint32 pcount = 7;
+ uint32 plost = 8;
+ string dns = 9;
+}
diff --git a/protocol/proto/ClientLogHead.proto b/protocol/proto/ClientLogHead.proto
new file mode 100644
index 00000000..bbc4bfcc
--- /dev/null
+++ b/protocol/proto/ClientLogHead.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ClientLogHead {
+ string event_time = 1;
+ string log_serial_number = 2;
+ uint32 action_id = 3;
+ string action_name = 4;
+ string upload_ip = 5;
+ string product_id = 6;
+ string channel_id = 7;
+ string region_name = 8;
+ string game_version = 9;
+ string device_type = 10;
+ string device_uuid = 11;
+ string mac_addr = 12;
+ string account_name = 13;
+ string account_uuid = 14;
+}
diff --git a/protocol/proto/ClientMassiveEntity.proto b/protocol/proto/ClientMassiveEntity.proto
new file mode 100644
index 00000000..528a91be
--- /dev/null
+++ b/protocol/proto/ClientMassiveEntity.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MassiveBoxInfo.proto";
+import "MassiveGrassInfo.proto";
+import "MassiveWaterInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ClientMassiveEntity {
+ uint32 entity_type = 1;
+ uint32 config_id = 2;
+ int64 obj_id = 3;
+ oneof entity_info {
+ MassiveWaterInfo water_info = 4;
+ MassiveGrassInfo grass_info = 5;
+ MassiveBoxInfo box_info = 6;
+ }
+}
diff --git a/protocol/proto/ClientNewMailNotify.proto b/protocol/proto/ClientNewMailNotify.proto
new file mode 100644
index 00000000..629bf251
--- /dev/null
+++ b/protocol/proto/ClientNewMailNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1499
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ClientNewMailNotify {
+ uint32 not_read_num = 7;
+ uint32 not_got_attachment_num = 2;
+}
diff --git a/protocol/proto/ClientPauseNotify.proto b/protocol/proto/ClientPauseNotify.proto
new file mode 100644
index 00000000..23143fd2
--- /dev/null
+++ b/protocol/proto/ClientPauseNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 260
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientPauseNotify {
+ bool is_open = 1;
+}
diff --git a/protocol/proto/ClientReconnectNotify.proto b/protocol/proto/ClientReconnectNotify.proto
new file mode 100644
index 00000000..1ddeb5db
--- /dev/null
+++ b/protocol/proto/ClientReconnectNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ClientReconnectReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 75
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ClientReconnectNotify {
+ ClientReconnectReason reason = 6;
+}
diff --git a/protocol/proto/ClientReconnectReason.proto b/protocol/proto/ClientReconnectReason.proto
new file mode 100644
index 00000000..e78dad83
--- /dev/null
+++ b/protocol/proto/ClientReconnectReason.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ClientReconnectReason {
+ CLIENT_RECONNECT_REASON_RECONNNECT_NONE = 0;
+ CLIENT_RECONNECT_REASON_RECONNNECT_QUIT_MP = 1;
+}
diff --git a/protocol/proto/ClientRemoveCombatEndModifierNotify.proto b/protocol/proto/ClientRemoveCombatEndModifierNotify.proto
new file mode 100644
index 00000000..ebfbba4c
--- /dev/null
+++ b/protocol/proto/ClientRemoveCombatEndModifierNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1182
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientRemoveCombatEndModifierNotify {
+ repeated uint32 combat_end_type_list = 7;
+}
diff --git a/protocol/proto/ClientReportNotify.proto b/protocol/proto/ClientReportNotify.proto
new file mode 100644
index 00000000..6ab1b322
--- /dev/null
+++ b/protocol/proto/ClientReportNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 81
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientReportNotify {
+ string report_type = 1;
+ string report_value = 4;
+}
diff --git a/protocol/proto/ClientScriptEventNotify.proto b/protocol/proto/ClientScriptEventNotify.proto
new file mode 100644
index 00000000..ddc133c6
--- /dev/null
+++ b/protocol/proto/ClientScriptEventNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 213
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientScriptEventNotify {
+ repeated int32 param_list = 9;
+ uint32 source_entity_id = 14;
+ uint32 event_type = 10;
+ uint32 target_entity_id = 13;
+}
diff --git a/protocol/proto/ClientTransmitReq.proto b/protocol/proto/ClientTransmitReq.proto
new file mode 100644
index 00000000..eb4b4224
--- /dev/null
+++ b/protocol/proto/ClientTransmitReq.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TransmitReason.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 291
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientTransmitReq {
+ uint32 scene_id = 2;
+ TransmitReason reason = 14;
+ Vector pos = 1;
+ Vector rot = 9;
+}
diff --git a/protocol/proto/ClientTransmitRsp.proto b/protocol/proto/ClientTransmitRsp.proto
new file mode 100644
index 00000000..f2248c52
--- /dev/null
+++ b/protocol/proto/ClientTransmitRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TransmitReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 224
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ClientTransmitRsp {
+ TransmitReason reason = 3;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/ClientTriggerEventNotify.proto b/protocol/proto/ClientTriggerEventNotify.proto
new file mode 100644
index 00000000..df3e705c
--- /dev/null
+++ b/protocol/proto/ClientTriggerEventNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EventTriggerType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 148
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ClientTriggerEventNotify {
+ uint32 force_id = 3;
+ EventTriggerType event_type = 2;
+}
diff --git a/protocol/proto/CloseCommonTipsNotify.proto b/protocol/proto/CloseCommonTipsNotify.proto
new file mode 100644
index 00000000..06c29631
--- /dev/null
+++ b/protocol/proto/CloseCommonTipsNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3194
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CloseCommonTipsNotify {}
diff --git a/protocol/proto/ClosedItemNotify.proto b/protocol/proto/ClosedItemNotify.proto
new file mode 100644
index 00000000..5de16dc2
--- /dev/null
+++ b/protocol/proto/ClosedItemNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 614
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ClosedItemNotify {
+ repeated uint32 item_id_list = 8;
+}
diff --git a/protocol/proto/CodexDataFullNotify.proto b/protocol/proto/CodexDataFullNotify.proto
new file mode 100644
index 00000000..6a5093f6
--- /dev/null
+++ b/protocol/proto/CodexDataFullNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CodexTypeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4205
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CodexDataFullNotify {
+ uint32 last_read_pushtips_codex_id = 4;
+ repeated uint32 recent_viewed_pushtips_list = 2;
+ uint32 last_read_pushtips_type_id = 3;
+ repeated CodexTypeData type_data_list = 6;
+}
diff --git a/protocol/proto/CodexDataUpdateNotify.proto b/protocol/proto/CodexDataUpdateNotify.proto
new file mode 100644
index 00000000..ff1f5682
--- /dev/null
+++ b/protocol/proto/CodexDataUpdateNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CodexType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4207
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CodexDataUpdateNotify {
+ uint32 id = 8;
+ uint32 weapon_max_promote_level = 15;
+ CodexType type = 11;
+}
diff --git a/protocol/proto/CodexType.proto b/protocol/proto/CodexType.proto
new file mode 100644
index 00000000..0a7f2732
--- /dev/null
+++ b/protocol/proto/CodexType.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum CodexType {
+ CODEX_TYPE_NONE = 0;
+ CODEX_TYPE_QUEST = 1;
+ CODEX_TYPE_WEAPON = 2;
+ CODEX_TYPE_ANIMAL = 3;
+ CODEX_TYPE_MATERIAL = 4;
+ CODEX_TYPE_BOOKS = 5;
+ CODEX_TYPE_PUSHTIPS = 6;
+ CODEX_TYPE_VIEW = 7;
+ CODEX_TYPE_RELIQUARY = 8;
+}
diff --git a/protocol/proto/CodexTypeData.proto b/protocol/proto/CodexTypeData.proto
new file mode 100644
index 00000000..e614031d
--- /dev/null
+++ b/protocol/proto/CodexTypeData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CodexType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CodexTypeData {
+ repeated uint32 codex_id_list = 14;
+ map weapon_max_promote_level_map = 4;
+ CodexType type = 13;
+ repeated bool have_viewed_list = 5;
+}
diff --git a/protocol/proto/CombatInvocationsNotify.proto b/protocol/proto/CombatInvocationsNotify.proto
new file mode 100644
index 00000000..3c5157dd
--- /dev/null
+++ b/protocol/proto/CombatInvocationsNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CombatInvokeEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 319
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CombatInvocationsNotify {
+ repeated CombatInvokeEntry invoke_list = 14;
+}
diff --git a/protocol/proto/CombatInvokeEntry.proto b/protocol/proto/CombatInvokeEntry.proto
new file mode 100644
index 00000000..b1cf1a67
--- /dev/null
+++ b/protocol/proto/CombatInvokeEntry.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CombatTypeArgument.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CombatInvokeEntry {
+ bytes combat_data = 12;
+ ForwardType forward_type = 10;
+ CombatTypeArgument argument_type = 11;
+}
diff --git a/protocol/proto/CombatTypeArgument.proto b/protocol/proto/CombatTypeArgument.proto
new file mode 100644
index 00000000..53fb6de5
--- /dev/null
+++ b/protocol/proto/CombatTypeArgument.proto
@@ -0,0 +1,42 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum CombatTypeArgument {
+ COMBAT_TYPE_ARGUMENT_NONE = 0;
+ COMBAT_TYPE_ARGUMENT_EVT_BEING_HIT = 1;
+ COMBAT_TYPE_ARGUMENT_ANIMATOR_STATE_CHANGED = 2;
+ COMBAT_TYPE_ARGUMENT_FACE_TO_DIR = 3;
+ COMBAT_TYPE_ARGUMENT_SET_ATTACK_TARGET = 4;
+ COMBAT_TYPE_ARGUMENT_RUSH_MOVE = 5;
+ COMBAT_TYPE_ARGUMENT_ANIMATOR_PARAMETER_CHANGED = 6;
+ COMBAT_TYPE_ARGUMENT_ENTITY_MOVE = 7;
+ COMBAT_TYPE_ARGUMENT_SYNC_ENTITY_POSITION = 8;
+ COMBAT_TYPE_ARGUMENT_STEER_MOTION_INFO = 9;
+ COMBAT_TYPE_ARGUMENT_FORCE_SET_POS_INFO = 10;
+ COMBAT_TYPE_ARGUMENT_COMPENSATE_POS_DIFF = 11;
+ COMBAT_TYPE_ARGUMENT_MONSTER_DO_BLINK = 12;
+ COMBAT_TYPE_ARGUMENT_FIXED_RUSH_MOVE = 13;
+ COMBAT_TYPE_ARGUMENT_SYNC_TRANSFORM = 14;
+ COMBAT_TYPE_ARGUMENT_LIGHT_CORE_MOVE = 15;
+ COMBAT_TYPE_ARGUMENT_BEING_HEALED_NTF = 16;
+ COMBAT_TYPE_ARGUMENT_SKILL_ANCHOR_POSITION_NTF = 17;
+ COMBAT_TYPE_ARGUMENT_GRAPPLING_HOOK_MOVE = 18;
+}
diff --git a/protocol/proto/CombineDataNotify.proto b/protocol/proto/CombineDataNotify.proto
new file mode 100644
index 00000000..6b4f72e8
--- /dev/null
+++ b/protocol/proto/CombineDataNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 659
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CombineDataNotify {
+ repeated uint32 combine_id_list = 5;
+}
diff --git a/protocol/proto/CombineFormulaDataNotify.proto b/protocol/proto/CombineFormulaDataNotify.proto
new file mode 100644
index 00000000..3196c984
--- /dev/null
+++ b/protocol/proto/CombineFormulaDataNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 632
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CombineFormulaDataNotify {
+ uint32 combine_id = 6;
+ bool is_locked = 3;
+}
diff --git a/protocol/proto/CombineReq.proto b/protocol/proto/CombineReq.proto
new file mode 100644
index 00000000..203c80bb
--- /dev/null
+++ b/protocol/proto/CombineReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 643
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CombineReq {
+ uint32 combine_count = 12;
+ uint32 combine_id = 9;
+ uint64 avatar_guid = 14;
+}
diff --git a/protocol/proto/CombineRsp.proto b/protocol/proto/CombineRsp.proto
new file mode 100644
index 00000000..503b3884
--- /dev/null
+++ b/protocol/proto/CombineRsp.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 674
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CombineRsp {
+ repeated ItemParam cost_item_list = 3;
+ int32 retcode = 7;
+ repeated ItemParam total_extra_item_list = 6;
+ uint32 combine_id = 11;
+ repeated ItemParam total_random_item_list = 9;
+ repeated ItemParam result_item_list = 2;
+ uint32 combine_count = 13;
+ repeated ItemParam total_return_item_list = 12;
+ uint64 avatar_guid = 10;
+}
diff --git a/protocol/proto/CommonPlayerTipsNotify.proto b/protocol/proto/CommonPlayerTipsNotify.proto
new file mode 100644
index 00000000..c2ecae0a
--- /dev/null
+++ b/protocol/proto/CommonPlayerTipsNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8466
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CommonPlayerTipsNotify {
+ uint32 notify_type = 3;
+ repeated string text_map_id_list = 9;
+}
diff --git a/protocol/proto/CompoundBoostTakeStatusType.proto b/protocol/proto/CompoundBoostTakeStatusType.proto
new file mode 100644
index 00000000..9e8c6af9
--- /dev/null
+++ b/protocol/proto/CompoundBoostTakeStatusType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum CompoundBoostTakeStatusType {
+ COMPOUND_BOOST_TAKE_STATUS_TYPE_NONE = 0;
+ COMPOUND_BOOST_TAKE_STATUS_TYPE_BOOST_ONLY = 1;
+ COMPOUND_BOOST_TAKE_STATUS_TYPE_BOOST_AND_TAKE = 2;
+ COMPOUND_BOOST_TAKE_STATUS_TYPE_BAG_FULL = 3;
+}
diff --git a/protocol/proto/CompoundDataNotify.proto b/protocol/proto/CompoundDataNotify.proto
new file mode 100644
index 00000000..45f665e4
--- /dev/null
+++ b/protocol/proto/CompoundDataNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CompoundQueueData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 146
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CompoundDataNotify {
+ repeated uint32 unlock_compound_list = 1;
+ repeated CompoundQueueData compound_que_data_list = 9;
+}
diff --git a/protocol/proto/CompoundQueueData.proto b/protocol/proto/CompoundQueueData.proto
new file mode 100644
index 00000000..0fcfc6a5
--- /dev/null
+++ b/protocol/proto/CompoundQueueData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CompoundQueueData {
+ uint32 output_count = 1;
+ uint32 compound_id = 4;
+ uint32 output_time = 14;
+ uint32 wait_count = 8;
+}
diff --git a/protocol/proto/CompoundUnlockNotify.proto b/protocol/proto/CompoundUnlockNotify.proto
new file mode 100644
index 00000000..797e3f54
--- /dev/null
+++ b/protocol/proto/CompoundUnlockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 128
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CompoundUnlockNotify {
+ uint32 compound_id = 3;
+}
diff --git a/protocol/proto/ContentAuditAuxiliaryField.proto b/protocol/proto/ContentAuditAuxiliaryField.proto
new file mode 100644
index 00000000..2e1b2b5e
--- /dev/null
+++ b/protocol/proto/ContentAuditAuxiliaryField.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ContentAuditAuxiliaryField {
+ string name = 1;
+ string value = 2;
+}
diff --git a/protocol/proto/ContentAuditData.proto b/protocol/proto/ContentAuditData.proto
new file mode 100644
index 00000000..36f9e225
--- /dev/null
+++ b/protocol/proto/ContentAuditData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ContentAuditData {
+ string type = 1;
+ string content = 2;
+ uint32 auto_pass_time = 3;
+}
diff --git a/protocol/proto/ContentAuditField.proto b/protocol/proto/ContentAuditField.proto
new file mode 100644
index 00000000..da7eff5b
--- /dev/null
+++ b/protocol/proto/ContentAuditField.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ContentAuditData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ContentAuditField {
+ repeated ContentAuditData segment_list = 1;
+ string name = 2;
+}
diff --git a/protocol/proto/ContentAuditInfo.proto b/protocol/proto/ContentAuditInfo.proto
new file mode 100644
index 00000000..da4740bf
--- /dev/null
+++ b/protocol/proto/ContentAuditInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AuditState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ContentAuditInfo {
+ bool is_open = 1;
+ string content = 2;
+ uint32 submit_count = 3;
+ AuditState audit_state = 4;
+ uint32 submit_limit = 5;
+}
diff --git a/protocol/proto/CookDataNotify.proto b/protocol/proto/CookDataNotify.proto
new file mode 100644
index 00000000..5fca1b98
--- /dev/null
+++ b/protocol/proto/CookDataNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CookRecipeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 195
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CookDataNotify {
+ repeated CookRecipeData recipe_data_list = 2;
+ uint32 grade = 11;
+}
diff --git a/protocol/proto/CookGradeDataNotify.proto b/protocol/proto/CookGradeDataNotify.proto
new file mode 100644
index 00000000..ec6c8953
--- /dev/null
+++ b/protocol/proto/CookGradeDataNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 134
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CookGradeDataNotify {
+ uint32 grade = 12;
+}
diff --git a/protocol/proto/CookRecipeData.proto b/protocol/proto/CookRecipeData.proto
new file mode 100644
index 00000000..1d205182
--- /dev/null
+++ b/protocol/proto/CookRecipeData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CookRecipeData {
+ uint32 proficiency = 13;
+ uint32 recipe_id = 9;
+}
diff --git a/protocol/proto/CookRecipeDataNotify.proto b/protocol/proto/CookRecipeDataNotify.proto
new file mode 100644
index 00000000..6ae2dae0
--- /dev/null
+++ b/protocol/proto/CookRecipeDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CookRecipeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 106
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CookRecipeDataNotify {
+ CookRecipeData recipe_data = 4;
+}
diff --git a/protocol/proto/CoopCg.proto b/protocol/proto/CoopCg.proto
new file mode 100644
index 00000000..3149858d
--- /dev/null
+++ b/protocol/proto/CoopCg.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CoopCg {
+ bool is_unlock = 14;
+ uint32 id = 8;
+}
diff --git a/protocol/proto/CoopCgShowNotify.proto b/protocol/proto/CoopCgShowNotify.proto
new file mode 100644
index 00000000..aaf6867c
--- /dev/null
+++ b/protocol/proto/CoopCgShowNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1983
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CoopCgShowNotify {
+ repeated uint32 cg_list = 10;
+}
diff --git a/protocol/proto/CoopCgUpdateNotify.proto b/protocol/proto/CoopCgUpdateNotify.proto
new file mode 100644
index 00000000..c92b57a3
--- /dev/null
+++ b/protocol/proto/CoopCgUpdateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1994
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CoopCgUpdateNotify {
+ repeated uint32 cg_list = 13;
+}
diff --git a/protocol/proto/CoopChapter.proto b/protocol/proto/CoopChapter.proto
new file mode 100644
index 00000000..fdf90a29
--- /dev/null
+++ b/protocol/proto/CoopChapter.proto
@@ -0,0 +1,44 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CoopCg.proto";
+import "CoopPoint.proto";
+import "CoopReward.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CoopChapter {
+ repeated CoopCg coop_cg_list = 1;
+ uint32 id = 2;
+ repeated CoopPoint coop_point_list = 11;
+ repeated uint32 finish_dialog_list = 10;
+ uint32 finished_end_count = 14;
+ uint32 total_end_count = 7;
+ repeated CoopReward coop_reward_list = 5;
+ repeated uint32 lock_reason_list = 12;
+ State state = 4;
+ map seen_ending_map = 9;
+
+ enum State {
+ STATE_CLOSE = 0;
+ STATE_COND_NOT_MEET = 1;
+ STATE_COND_MEET = 2;
+ STATE_ACCEPT = 3;
+ }
+}
diff --git a/protocol/proto/CoopChapterUpdateNotify.proto b/protocol/proto/CoopChapterUpdateNotify.proto
new file mode 100644
index 00000000..a91f3b66
--- /dev/null
+++ b/protocol/proto/CoopChapterUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CoopChapter.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1972
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CoopChapterUpdateNotify {
+ repeated CoopChapter chapter_list = 14;
+}
diff --git a/protocol/proto/CoopDataNotify.proto b/protocol/proto/CoopDataNotify.proto
new file mode 100644
index 00000000..1a65558a
--- /dev/null
+++ b/protocol/proto/CoopDataNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CoopChapter.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1979
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CoopDataNotify {
+ repeated CoopChapter chapter_list = 15;
+ repeated uint32 viewed_chapter_list = 7;
+ bool is_have_progress = 10;
+ uint32 cur_coop_point = 5;
+}
diff --git a/protocol/proto/CoopPoint.proto b/protocol/proto/CoopPoint.proto
new file mode 100644
index 00000000..cc1a0c57
--- /dev/null
+++ b/protocol/proto/CoopPoint.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CoopPoint {
+ uint32 self_confidence = 15;
+ State state = 10;
+ uint32 id = 14;
+
+ enum State {
+ STATE_UNSTARTED = 0;
+ STATE_STARTED = 1;
+ STATE_FINISHED = 2;
+ }
+}
diff --git a/protocol/proto/CoopPointUpdateNotify.proto b/protocol/proto/CoopPointUpdateNotify.proto
new file mode 100644
index 00000000..1b8010b1
--- /dev/null
+++ b/protocol/proto/CoopPointUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CoopPoint.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1991
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CoopPointUpdateNotify {
+ CoopPoint coop_point = 13;
+}
diff --git a/protocol/proto/CoopProgressUpdateNotify.proto b/protocol/proto/CoopProgressUpdateNotify.proto
new file mode 100644
index 00000000..6271a884
--- /dev/null
+++ b/protocol/proto/CoopProgressUpdateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1998
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CoopProgressUpdateNotify {
+ uint32 cur_coop_point = 11;
+ bool is_have_progress = 12;
+}
diff --git a/protocol/proto/CoopReward.proto b/protocol/proto/CoopReward.proto
new file mode 100644
index 00000000..548832a0
--- /dev/null
+++ b/protocol/proto/CoopReward.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CoopReward {
+ uint32 id = 5;
+ State state = 6;
+
+ enum State {
+ STATE_UNLOCK = 0;
+ STATE_LOCK = 1;
+ STATE_TAKEN = 2;
+ }
+}
diff --git a/protocol/proto/CoopRewardUpdateNotify.proto b/protocol/proto/CoopRewardUpdateNotify.proto
new file mode 100644
index 00000000..397af42f
--- /dev/null
+++ b/protocol/proto/CoopRewardUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CoopReward.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1999
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CoopRewardUpdateNotify {
+ repeated CoopReward reward_list = 7;
+}
diff --git a/protocol/proto/CreateEntityInfo.proto b/protocol/proto/CreateEntityInfo.proto
new file mode 100644
index 00000000..8d34b50a
--- /dev/null
+++ b/protocol/proto/CreateEntityInfo.proto
@@ -0,0 +1,41 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CreateGadgetInfo.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CreateEntityInfo {
+ uint32 level = 5;
+ Vector pos = 6;
+ Vector rot = 7;
+ uint32 scene_id = 10;
+ uint32 room_id = 11;
+ uint32 client_unique_id = 12;
+ oneof entity {
+ uint32 monster_id = 1;
+ uint32 npc_id = 2;
+ uint32 gadget_id = 3;
+ uint32 item_id = 4;
+ }
+ oneof entity_create_info {
+ CreateGadgetInfo gadget = 13;
+ }
+}
diff --git a/protocol/proto/CreateGadgetInfo.proto b/protocol/proto/CreateGadgetInfo.proto
new file mode 100644
index 00000000..d56a62be
--- /dev/null
+++ b/protocol/proto/CreateGadgetInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GadgetBornType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CreateGadgetInfo {
+ GadgetBornType born_type = 1;
+ Chest chest = 2;
+
+ message Chest {
+ uint32 chest_drop_id = 1;
+ bool is_show_cutscene = 2;
+ }
+}
diff --git a/protocol/proto/CreateMassiveEntityNotify.proto b/protocol/proto/CreateMassiveEntityNotify.proto
new file mode 100644
index 00000000..bb05b1ee
--- /dev/null
+++ b/protocol/proto/CreateMassiveEntityNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ServerMassiveEntity.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 367
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CreateMassiveEntityNotify {
+ repeated ServerMassiveEntity massive_entity_list = 15;
+}
diff --git a/protocol/proto/CreateMassiveEntityReq.proto b/protocol/proto/CreateMassiveEntityReq.proto
new file mode 100644
index 00000000..da4b3106
--- /dev/null
+++ b/protocol/proto/CreateMassiveEntityReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ClientMassiveEntity.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 342
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CreateMassiveEntityReq {
+ repeated ClientMassiveEntity massive_entity_list = 1;
+}
diff --git a/protocol/proto/CreateMassiveEntityRsp.proto b/protocol/proto/CreateMassiveEntityRsp.proto
new file mode 100644
index 00000000..abb3f529
--- /dev/null
+++ b/protocol/proto/CreateMassiveEntityRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 330
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CreateMassiveEntityRsp {
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/CreateReason.proto b/protocol/proto/CreateReason.proto
new file mode 100644
index 00000000..63af12e5
--- /dev/null
+++ b/protocol/proto/CreateReason.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum CreateReason {
+ CREATE_REASON_NONE = 0;
+ CREATE_REASON_QUEST = 1;
+ CREATE_REASON_ENERGY = 2;
+}
diff --git a/protocol/proto/CreateVehicleReq.proto b/protocol/proto/CreateVehicleReq.proto
new file mode 100644
index 00000000..a286e012
--- /dev/null
+++ b/protocol/proto/CreateVehicleReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 893
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CreateVehicleReq {
+ Vector pos = 11;
+ uint32 vehicle_id = 2;
+ uint32 scene_point_id = 7;
+ Vector rot = 5;
+}
diff --git a/protocol/proto/CreateVehicleRsp.proto b/protocol/proto/CreateVehicleRsp.proto
new file mode 100644
index 00000000..5c5658a0
--- /dev/null
+++ b/protocol/proto/CreateVehicleRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 827
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CreateVehicleRsp {
+ int32 retcode = 10;
+ uint32 vehicle_id = 9;
+ uint32 entity_id = 11;
+}
diff --git a/protocol/proto/CrucibleActivityDetailInfo.proto b/protocol/proto/CrucibleActivityDetailInfo.proto
new file mode 100644
index 00000000..0cf00b6d
--- /dev/null
+++ b/protocol/proto/CrucibleActivityDetailInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CrucibleBattleUidInfo.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CrucibleActivityDetailInfo {
+ uint32 cost_time = 5;
+ uint32 battle_world_level = 12;
+ repeated CrucibleBattleUidInfo uid_info_list = 3;
+ Vector pos = 9;
+}
diff --git a/protocol/proto/CrucibleBattleUidInfo.proto b/protocol/proto/CrucibleBattleUidInfo.proto
new file mode 100644
index 00000000..bb29aae3
--- /dev/null
+++ b/protocol/proto/CrucibleBattleUidInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CrucibleBattleUidInfo {
+ ProfilePicture profile_picture = 15;
+ uint32 uid = 4;
+ string nickname = 5;
+ string online_id = 13;
+ uint32 icon = 11;
+}
diff --git a/protocol/proto/CrystalLinkActivityDetailInfo.proto b/protocol/proto/CrystalLinkActivityDetailInfo.proto
new file mode 100644
index 00000000..2c2dee49
--- /dev/null
+++ b/protocol/proto/CrystalLinkActivityDetailInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CrystalLinkLevelInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CrystalLinkActivityDetailInfo {
+ repeated CrystalLinkLevelInfo level_info_list = 3;
+ uint32 difficulty_id = 7;
+}
diff --git a/protocol/proto/CrystalLinkAvatarInfo.proto b/protocol/proto/CrystalLinkAvatarInfo.proto
new file mode 100644
index 00000000..6d41f084
--- /dev/null
+++ b/protocol/proto/CrystalLinkAvatarInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CrystalLinkAvatarInfo {
+ uint64 avatar_id = 3;
+ bool is_trial = 13;
+}
diff --git a/protocol/proto/CrystalLinkBuffInfo.proto b/protocol/proto/CrystalLinkBuffInfo.proto
new file mode 100644
index 00000000..d331869c
--- /dev/null
+++ b/protocol/proto/CrystalLinkBuffInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CrystalLinkBuffInfo {
+ uint32 effect_buff_id = 1;
+ uint32 cond_buff_id = 10;
+}
diff --git a/protocol/proto/CrystalLinkDungeonAvatarInfo.proto b/protocol/proto/CrystalLinkDungeonAvatarInfo.proto
new file mode 100644
index 00000000..8f34ea7f
--- /dev/null
+++ b/protocol/proto/CrystalLinkDungeonAvatarInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CrystalLinkDungeonAvatarInfo {
+ bool is_trial = 8;
+ uint64 avatar_guid = 11;
+}
diff --git a/protocol/proto/CrystalLinkDungeonInfoNotify.proto b/protocol/proto/CrystalLinkDungeonInfoNotify.proto
new file mode 100644
index 00000000..edf3d0d8
--- /dev/null
+++ b/protocol/proto/CrystalLinkDungeonInfoNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CrystalLinkBuffInfo.proto";
+import "CrystalLinkDungeonAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8858
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CrystalLinkDungeonInfoNotify {
+ repeated CrystalLinkBuffInfo buff_info_list = 8;
+ uint32 level_id = 1;
+ bool is_upper_part = 15;
+ uint32 difficulty_id = 11;
+ repeated CrystalLinkDungeonAvatarInfo dungeon_avatar_info_list = 3;
+ uint32 init_gallery_progress = 7;
+}
diff --git a/protocol/proto/CrystalLinkEnterDungeonReq.proto b/protocol/proto/CrystalLinkEnterDungeonReq.proto
new file mode 100644
index 00000000..f84efa71
--- /dev/null
+++ b/protocol/proto/CrystalLinkEnterDungeonReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CrystalLinkTeamInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8325
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CrystalLinkEnterDungeonReq {
+ uint32 level_id = 7;
+ repeated CrystalLinkTeamInfo team_info_list = 13;
+ uint32 difficulty_id = 10;
+}
diff --git a/protocol/proto/CrystalLinkEnterDungeonRsp.proto b/protocol/proto/CrystalLinkEnterDungeonRsp.proto
new file mode 100644
index 00000000..c5970ea4
--- /dev/null
+++ b/protocol/proto/CrystalLinkEnterDungeonRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CrystalLinkTeamInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8147
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CrystalLinkEnterDungeonRsp {
+ uint32 level_id = 1;
+ uint32 difficulty_id = 14;
+ int32 retcode = 6;
+ repeated CrystalLinkTeamInfo team_info_list = 8;
+}
diff --git a/protocol/proto/CrystalLinkLevelInfo.proto b/protocol/proto/CrystalLinkLevelInfo.proto
new file mode 100644
index 00000000..ac557aa9
--- /dev/null
+++ b/protocol/proto/CrystalLinkLevelInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CrystalLinkTeamInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CrystalLinkLevelInfo {
+ repeated CrystalLinkTeamInfo team_info_list = 10;
+ bool is_open = 9;
+ uint32 level_id = 14;
+ uint32 best_score = 5;
+}
diff --git a/protocol/proto/CrystalLinkRestartDungeonReq.proto b/protocol/proto/CrystalLinkRestartDungeonReq.proto
new file mode 100644
index 00000000..8d471c54
--- /dev/null
+++ b/protocol/proto/CrystalLinkRestartDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8022
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CrystalLinkRestartDungeonReq {}
diff --git a/protocol/proto/CrystalLinkRestartDungeonRsp.proto b/protocol/proto/CrystalLinkRestartDungeonRsp.proto
new file mode 100644
index 00000000..ab06b666
--- /dev/null
+++ b/protocol/proto/CrystalLinkRestartDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8119
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CrystalLinkRestartDungeonRsp {
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/CrystalLinkSettleInfo.proto b/protocol/proto/CrystalLinkSettleInfo.proto
new file mode 100644
index 00000000..b0d24606
--- /dev/null
+++ b/protocol/proto/CrystalLinkSettleInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CrystalLinkSettleInfo {
+ uint32 kill_elite_monster_num = 2;
+ uint32 final_score = 6;
+ uint32 level_id = 12;
+ bool is_new_record = 13;
+ uint32 difficulty_id = 9;
+ uint32 kill_normal_mosnter_num = 3;
+}
diff --git a/protocol/proto/CrystalLinkTeamInfo.proto b/protocol/proto/CrystalLinkTeamInfo.proto
new file mode 100644
index 00000000..f787869a
--- /dev/null
+++ b/protocol/proto/CrystalLinkTeamInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CrystalLinkAvatarInfo.proto";
+import "CrystalLinkBuffInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CrystalLinkTeamInfo {
+ repeated CrystalLinkBuffInfo buff_info_list = 2;
+ repeated CrystalLinkAvatarInfo avatar_info_list = 11;
+}
diff --git a/protocol/proto/CurVehicleInfo.proto b/protocol/proto/CurVehicleInfo.proto
new file mode 100644
index 00000000..f85e3e98
--- /dev/null
+++ b/protocol/proto/CurVehicleInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CurVehicleInfo {
+ uint32 entity_id = 1;
+ uint32 pos = 2;
+}
diff --git a/protocol/proto/CustomCommonNodeInfo.proto b/protocol/proto/CustomCommonNodeInfo.proto
new file mode 100644
index 00000000..a5577901
--- /dev/null
+++ b/protocol/proto/CustomCommonNodeInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomCommonNodeInfo {
+ int32 parent_index = 1;
+ uint32 config_id = 2;
+ string slot_identifier = 3;
+}
diff --git a/protocol/proto/CustomDungeon.proto b/protocol/proto/CustomDungeon.proto
new file mode 100644
index 00000000..d77a0003
--- /dev/null
+++ b/protocol/proto/CustomDungeon.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonRoom.proto";
+import "CustomDungeonSetting.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeon {
+ CustomDungeonSetting setting = 1;
+ repeated CustomDungeonRoom room_list = 15;
+ uint32 dungeon_id = 3;
+ uint64 dungeon_guid = 10;
+}
diff --git a/protocol/proto/CustomDungeonAbstract.proto b/protocol/proto/CustomDungeonAbstract.proto
new file mode 100644
index 00000000..90063791
--- /dev/null
+++ b/protocol/proto/CustomDungeonAbstract.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonAbstract {
+ map brick_statistics_map = 12;
+ uint32 first_publish_time = 3;
+ uint32 total_coin_num = 15;
+ uint32 last_publish_time = 6;
+ uint32 finish_room_id = 7;
+}
diff --git a/protocol/proto/CustomDungeonAbstractMuipData.proto b/protocol/proto/CustomDungeonAbstractMuipData.proto
new file mode 100644
index 00000000..f15cfb3a
--- /dev/null
+++ b/protocol/proto/CustomDungeonAbstractMuipData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonAbstractMuipData {
+ uint32 first_publish_time = 1;
+ uint32 last_publish_time = 2;
+ map brick_statistics_map = 3;
+}
diff --git a/protocol/proto/CustomDungeonBanInfo.proto b/protocol/proto/CustomDungeonBanInfo.proto
new file mode 100644
index 00000000..7d4b65ae
--- /dev/null
+++ b/protocol/proto/CustomDungeonBanInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonBanType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonBanInfo {
+ CustomDungeonBanType ban_type = 11;
+ uint32 expire_time = 6;
+ uint64 dungeon_guid = 5;
+}
diff --git a/protocol/proto/CustomDungeonBanType.proto b/protocol/proto/CustomDungeonBanType.proto
new file mode 100644
index 00000000..607e9060
--- /dev/null
+++ b/protocol/proto/CustomDungeonBanType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum CustomDungeonBanType {
+ CUSTOM_DUNGEON_BAN_TYPE_NONE = 0;
+ CUSTOM_DUNGEON_BAN_TYPE_LAYOUT = 1;
+}
diff --git a/protocol/proto/CustomDungeonBatchBriefMuipData.proto b/protocol/proto/CustomDungeonBatchBriefMuipData.proto
new file mode 100644
index 00000000..7d723bf8
--- /dev/null
+++ b/protocol/proto/CustomDungeonBatchBriefMuipData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonBriefMuipData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonBatchBriefMuipData {
+ repeated CustomDungeonBriefMuipData brief_list = 1;
+}
diff --git a/protocol/proto/CustomDungeonBattleRecordMuipData.proto b/protocol/proto/CustomDungeonBattleRecordMuipData.proto
new file mode 100644
index 00000000..6ca8742b
--- /dev/null
+++ b/protocol/proto/CustomDungeonBattleRecordMuipData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonBattleRecordMuipData {
+ uint64 dungeon_guid = 1;
+ uint32 min_cost_time = 2;
+}
diff --git a/protocol/proto/CustomDungeonBattleRecordNotify.proto b/protocol/proto/CustomDungeonBattleRecordNotify.proto
new file mode 100644
index 00000000..20f4ac84
--- /dev/null
+++ b/protocol/proto/CustomDungeonBattleRecordNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6236
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CustomDungeonBattleRecordNotify {
+ uint32 min_cost_time = 13;
+ uint64 dungeon_guid = 12;
+}
diff --git a/protocol/proto/CustomDungeonBlock.proto b/protocol/proto/CustomDungeonBlock.proto
new file mode 100644
index 00000000..0fa2fd6a
--- /dev/null
+++ b/protocol/proto/CustomDungeonBlock.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonBlock {
+ uint32 block_id = 8;
+ Vector rot = 12;
+ uint32 guid = 4;
+ Vector pos = 1;
+}
diff --git a/protocol/proto/CustomDungeonBrief.proto b/protocol/proto/CustomDungeonBrief.proto
new file mode 100644
index 00000000..a8a082fb
--- /dev/null
+++ b/protocol/proto/CustomDungeonBrief.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonAbstract.proto";
+import "CustomDungeonSetting.proto";
+import "CustomDungeonSocial.proto";
+import "CustomDungeonState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonBrief {
+ CustomDungeonSetting setting = 2;
+ bool is_psn_platform = 13;
+ CustomDungeonSocial social = 7;
+ uint64 dungeon_guid = 10;
+ uint32 last_save_time = 14;
+ repeated uint32 tag_list = 15;
+ uint32 dungeon_id = 5;
+ uint32 battle_min_cost_time = 12;
+ CustomDungeonState state = 1;
+ CustomDungeonAbstract abstract = 4;
+}
diff --git a/protocol/proto/CustomDungeonBriefMuipData.proto b/protocol/proto/CustomDungeonBriefMuipData.proto
new file mode 100644
index 00000000..a9d0a615
--- /dev/null
+++ b/protocol/proto/CustomDungeonBriefMuipData.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonAbstractMuipData.proto";
+import "CustomDungeonSettingMuipData.proto";
+import "CustomDungeonSocialMuipData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonBriefMuipData {
+ uint64 dungeon_guid = 1;
+ uint32 dungeon_id = 2;
+ string creator_nickname = 3;
+ repeated uint32 tag_list = 4;
+ CustomDungeonSettingMuipData setting = 5;
+ CustomDungeonAbstractMuipData abstract = 6;
+ CustomDungeonSocialMuipData social = 7;
+}
diff --git a/protocol/proto/CustomDungeonFinishType.proto b/protocol/proto/CustomDungeonFinishType.proto
new file mode 100644
index 00000000..830f30a3
--- /dev/null
+++ b/protocol/proto/CustomDungeonFinishType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum CustomDungeonFinishType {
+ CUSTOM_DUNGEON_FINISH_TYPE_PLAY_NORMAL = 0;
+ CUSTOM_DUNGEON_FINISH_TYPE_PLAY_TRY = 1;
+ CUSTOM_DUNGEON_FINISH_TYPE_EDIT_TRY = 2;
+ CUSTOM_DUNGEON_FINISH_TYPE_SELF_PLAY_NORMAL = 3;
+}
diff --git a/protocol/proto/CustomDungeonOfficialNotify.proto b/protocol/proto/CustomDungeonOfficialNotify.proto
new file mode 100644
index 00000000..beeab8e4
--- /dev/null
+++ b/protocol/proto/CustomDungeonOfficialNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EnterCustomDungeonType.proto";
+import "TryCustomDungeonType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6221
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CustomDungeonOfficialNotify {
+ TryCustomDungeonType try_type = 9;
+ repeated uint32 official_black_coin_list = 14;
+ EnterCustomDungeonType enter_type = 15;
+}
diff --git a/protocol/proto/CustomDungeonRecoverNotify.proto b/protocol/proto/CustomDungeonRecoverNotify.proto
new file mode 100644
index 00000000..eb7806bf
--- /dev/null
+++ b/protocol/proto/CustomDungeonRecoverNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeon.proto";
+import "EnterCustomDungeonType.proto";
+import "TryCustomDungeonType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6217
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CustomDungeonRecoverNotify {
+ EnterCustomDungeonType enter_type = 14;
+ TryCustomDungeonType try_type = 3;
+ CustomDungeon custom_dungeon = 10;
+ repeated uint32 official_black_coin_list = 12;
+}
diff --git a/protocol/proto/CustomDungeonResultInfo.proto b/protocol/proto/CustomDungeonResultInfo.proto
new file mode 100644
index 00000000..7a4f89de
--- /dev/null
+++ b/protocol/proto/CustomDungeonResultInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChallengeBrief.proto";
+import "CustomDungeonFinishType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonResultInfo {
+ bool is_liked = 12;
+ uint32 got_coin_num = 9;
+ repeated ChallengeBrief child_challenge_list = 6;
+ uint64 dungeon_guid = 3;
+ CustomDungeonFinishType finish_type = 7;
+ uint32 time_cost = 11;
+ bool is_arrive_finish = 2;
+ bool is_stored = 14;
+}
diff --git a/protocol/proto/CustomDungeonRoom.proto b/protocol/proto/CustomDungeonRoom.proto
new file mode 100644
index 00000000..9d9ad85d
--- /dev/null
+++ b/protocol/proto/CustomDungeonRoom.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonBlock.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonRoom {
+ uint32 room_id = 15;
+ repeated CustomDungeonBlock block_list = 4;
+}
diff --git a/protocol/proto/CustomDungeonSetting.proto b/protocol/proto/CustomDungeonSetting.proto
new file mode 100644
index 00000000..ab66cb82
--- /dev/null
+++ b/protocol/proto/CustomDungeonSetting.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonSetting {
+ repeated uint32 open_room_list = 1;
+ bool is_arrive_finish = 14;
+ uint32 life_num = 6;
+ uint32 start_room_id = 4;
+ bool is_forbid_skill = 3;
+ uint32 coin_limit = 10;
+ uint32 time_limit = 9;
+}
diff --git a/protocol/proto/CustomDungeonSettingMuipData.proto b/protocol/proto/CustomDungeonSettingMuipData.proto
new file mode 100644
index 00000000..f7116652
--- /dev/null
+++ b/protocol/proto/CustomDungeonSettingMuipData.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonSettingMuipData {
+ bool is_arrive_finish = 1;
+ uint32 coin_limit = 2;
+ uint32 time_limit = 3;
+ bool is_forbid_skill = 4;
+ uint32 life_num = 5;
+}
diff --git a/protocol/proto/CustomDungeonSocial.proto b/protocol/proto/CustomDungeonSocial.proto
new file mode 100644
index 00000000..98a6fdd8
--- /dev/null
+++ b/protocol/proto/CustomDungeonSocial.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonSocial {
+ uint32 win_num = 4;
+ uint32 like_num = 12;
+ uint32 play_num = 7;
+ uint32 store_num = 2;
+}
diff --git a/protocol/proto/CustomDungeonSocialMuipData.proto b/protocol/proto/CustomDungeonSocialMuipData.proto
new file mode 100644
index 00000000..b2f20e29
--- /dev/null
+++ b/protocol/proto/CustomDungeonSocialMuipData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonSocialMuipData {
+ uint32 play_num = 1;
+ uint32 like_num = 2;
+ uint32 store_num = 3;
+ uint32 win_num = 4;
+}
diff --git a/protocol/proto/CustomDungeonState.proto b/protocol/proto/CustomDungeonState.proto
new file mode 100644
index 00000000..a87d2134
--- /dev/null
+++ b/protocol/proto/CustomDungeonState.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum CustomDungeonState {
+ CUSTOM_DUNGEON_STATE_EDIT = 0;
+ CUSTOM_DUNGEON_STATE_SELF_PASS = 1;
+ CUSTOM_DUNGEON_STATE_PUBLISHED = 2;
+}
diff --git a/protocol/proto/CustomDungeonUpdateNotify.proto b/protocol/proto/CustomDungeonUpdateNotify.proto
new file mode 100644
index 00000000..8e64bded
--- /dev/null
+++ b/protocol/proto/CustomDungeonUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6223
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CustomDungeonUpdateNotify {
+ CustomDungeonBrief dungeon_brief = 12;
+}
diff --git a/protocol/proto/CustomDungeonVerify.proto b/protocol/proto/CustomDungeonVerify.proto
new file mode 100644
index 00000000..69eb412b
--- /dev/null
+++ b/protocol/proto/CustomDungeonVerify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomDungeonVerify {
+ uint64 dungeon_guid = 3;
+ uint32 uid = 15;
+ uint32 timestamp = 4;
+ string region = 11;
+ uint32 lang = 13;
+}
diff --git a/protocol/proto/CustomGadgetTreeInfo.proto b/protocol/proto/CustomGadgetTreeInfo.proto
new file mode 100644
index 00000000..0766e847
--- /dev/null
+++ b/protocol/proto/CustomGadgetTreeInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomCommonNodeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CustomGadgetTreeInfo {
+ repeated CustomCommonNodeInfo node_list = 1;
+}
diff --git a/protocol/proto/CutSceneBeginNotify.proto b/protocol/proto/CutSceneBeginNotify.proto
new file mode 100644
index 00000000..ff018170
--- /dev/null
+++ b/protocol/proto/CutSceneBeginNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CutSceneExtraParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 296
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CutSceneBeginNotify {
+ bool is_wait_others = 9;
+ uint32 cutscene_id = 14;
+ repeated CutSceneExtraParam extra_param_list = 3;
+}
diff --git a/protocol/proto/CutSceneEndNotify.proto b/protocol/proto/CutSceneEndNotify.proto
new file mode 100644
index 00000000..9bc0339b
--- /dev/null
+++ b/protocol/proto/CutSceneEndNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 215
+// EnetChannelId: 0
+// EnetIsReliable: true
+message CutSceneEndNotify {
+ int32 retcode = 5;
+ uint32 cutscene_id = 14;
+}
diff --git a/protocol/proto/CutSceneExtraParam.proto b/protocol/proto/CutSceneExtraParam.proto
new file mode 100644
index 00000000..33d56ebf
--- /dev/null
+++ b/protocol/proto/CutSceneExtraParam.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CutSceneExtraParam {
+ repeated double detail_param_list = 1;
+}
diff --git a/protocol/proto/CutSceneFinishNotify.proto b/protocol/proto/CutSceneFinishNotify.proto
new file mode 100644
index 00000000..24360e6c
--- /dev/null
+++ b/protocol/proto/CutSceneFinishNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 262
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message CutSceneFinishNotify {
+ uint32 cutscene_id = 12;
+}
diff --git a/protocol/proto/CylinderRegionSize.proto b/protocol/proto/CylinderRegionSize.proto
new file mode 100644
index 00000000..d544e20b
--- /dev/null
+++ b/protocol/proto/CylinderRegionSize.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message CylinderRegionSize {
+ float radius = 8;
+ float height = 7;
+}
diff --git a/protocol/proto/DailyDungeonEntryInfo.proto b/protocol/proto/DailyDungeonEntryInfo.proto
new file mode 100644
index 00000000..9a9940b1
--- /dev/null
+++ b/protocol/proto/DailyDungeonEntryInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DungeonEntryInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DailyDungeonEntryInfo {
+ uint32 dungeon_entry_config_id = 12;
+ uint32 dungeon_entry_id = 15;
+ DungeonEntryInfo recommend_dungeon_entry_info = 1;
+ uint32 recommend_dungeon_id = 4;
+}
diff --git a/protocol/proto/DailyTaskDataNotify.proto b/protocol/proto/DailyTaskDataNotify.proto
new file mode 100644
index 00000000..dc66e693
--- /dev/null
+++ b/protocol/proto/DailyTaskDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 158
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DailyTaskDataNotify {
+ uint32 score_reward_id = 11;
+ uint32 finished_num = 4;
+ bool is_taken_score_reward = 9;
+}
diff --git a/protocol/proto/DailyTaskFilterCityReq.proto b/protocol/proto/DailyTaskFilterCityReq.proto
new file mode 100644
index 00000000..e36aa5d5
--- /dev/null
+++ b/protocol/proto/DailyTaskFilterCityReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 111
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DailyTaskFilterCityReq {
+ uint32 city_id = 8;
+}
diff --git a/protocol/proto/DailyTaskFilterCityRsp.proto b/protocol/proto/DailyTaskFilterCityRsp.proto
new file mode 100644
index 00000000..2c2ccacc
--- /dev/null
+++ b/protocol/proto/DailyTaskFilterCityRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 144
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DailyTaskFilterCityRsp {
+ int32 retcode = 5;
+ uint32 city_id = 9;
+}
diff --git a/protocol/proto/DailyTaskInfo.proto b/protocol/proto/DailyTaskInfo.proto
new file mode 100644
index 00000000..ff72c02b
--- /dev/null
+++ b/protocol/proto/DailyTaskInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DailyTaskInfo {
+ uint32 reward_id = 3;
+ uint32 progress = 13;
+ uint32 finish_progress = 10;
+ uint32 daily_task_id = 4;
+ bool is_finished = 14;
+}
diff --git a/protocol/proto/DailyTaskProgressNotify.proto b/protocol/proto/DailyTaskProgressNotify.proto
new file mode 100644
index 00000000..7606f95f
--- /dev/null
+++ b/protocol/proto/DailyTaskProgressNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DailyTaskInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 170
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DailyTaskProgressNotify {
+ DailyTaskInfo info = 12;
+}
diff --git a/protocol/proto/DailyTaskScoreRewardNotify.proto b/protocol/proto/DailyTaskScoreRewardNotify.proto
new file mode 100644
index 00000000..8f508dec
--- /dev/null
+++ b/protocol/proto/DailyTaskScoreRewardNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 117
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DailyTaskScoreRewardNotify {
+ uint32 reward_id = 14;
+}
diff --git a/protocol/proto/DailyTaskUnlockedCitiesNotify.proto b/protocol/proto/DailyTaskUnlockedCitiesNotify.proto
new file mode 100644
index 00000000..9ae12294
--- /dev/null
+++ b/protocol/proto/DailyTaskUnlockedCitiesNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 186
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DailyTaskUnlockedCitiesNotify {
+ repeated uint32 unlocked_city_list = 12;
+}
diff --git a/protocol/proto/DataResVersionNotify.proto b/protocol/proto/DataResVersionNotify.proto
new file mode 100644
index 00000000..d205d3fa
--- /dev/null
+++ b/protocol/proto/DataResVersionNotify.proto
@@ -0,0 +1,43 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ResVersionConfig.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 167
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DataResVersionNotify {
+ string client_silence_md5 = 10;
+ string client_silence_version_suffix = 15;
+ ResVersionConfig res_version_config = 9;
+ bool is_data_need_relogin = 7;
+ DataResVersionOpType op_type = 12;
+ uint32 client_data_version = 2;
+ string client_version_suffix = 5;
+ uint32 client_silence_data_version = 1;
+ string client_md5 = 14;
+
+ enum DataResVersionOpType {
+ DATA_RES_VERSION_OP_TYPE_NONE = 0;
+ DATA_RES_VERSION_OP_TYPE_RELOGIN = 1;
+ DATA_RES_VERSION_OP_TYPE_MP_RELOGIN = 2;
+ }
+}
diff --git a/protocol/proto/DealAddFriendReq.proto b/protocol/proto/DealAddFriendReq.proto
new file mode 100644
index 00000000..a776b41a
--- /dev/null
+++ b/protocol/proto/DealAddFriendReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DealAddFriendResultType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4003
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DealAddFriendReq {
+ DealAddFriendResultType deal_add_friend_result = 12;
+ uint32 target_uid = 10;
+}
diff --git a/protocol/proto/DealAddFriendResultType.proto b/protocol/proto/DealAddFriendResultType.proto
new file mode 100644
index 00000000..924634b5
--- /dev/null
+++ b/protocol/proto/DealAddFriendResultType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum DealAddFriendResultType {
+ DEAL_ADD_FRIEND_RESULT_TYPE_REJECT = 0;
+ DEAL_ADD_FRIEND_RESULT_TYPE_ACCEPT = 1;
+}
diff --git a/protocol/proto/DealAddFriendRsp.proto b/protocol/proto/DealAddFriendRsp.proto
new file mode 100644
index 00000000..ea8b5c9c
--- /dev/null
+++ b/protocol/proto/DealAddFriendRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DealAddFriendResultType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4090
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DealAddFriendRsp {
+ int32 retcode = 1;
+ uint32 target_uid = 5;
+ DealAddFriendResultType deal_add_friend_result = 6;
+}
diff --git a/protocol/proto/DeathZoneInfo.proto b/protocol/proto/DeathZoneInfo.proto
new file mode 100644
index 00000000..28c2185c
--- /dev/null
+++ b/protocol/proto/DeathZoneInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DeathZoneInfo {
+ bool is_open = 9;
+ uint32 id = 14;
+}
diff --git a/protocol/proto/DeathZoneInfoNotify.proto b/protocol/proto/DeathZoneInfoNotify.proto
new file mode 100644
index 00000000..f1a18379
--- /dev/null
+++ b/protocol/proto/DeathZoneInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DeathZoneInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6268
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DeathZoneInfoNotify {
+ repeated DeathZoneInfo death_zone_info_list = 8;
+}
diff --git a/protocol/proto/DeathZoneObserveNotify.proto b/protocol/proto/DeathZoneObserveNotify.proto
new file mode 100644
index 00000000..a2a9a82b
--- /dev/null
+++ b/protocol/proto/DeathZoneObserveNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3475
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DeathZoneObserveNotify {
+ uint32 target_entity_id = 14;
+ uint32 source_entity_id = 12;
+}
diff --git a/protocol/proto/DebugNotify.proto b/protocol/proto/DebugNotify.proto
new file mode 100644
index 00000000..20fbcb5f
--- /dev/null
+++ b/protocol/proto/DebugNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 101
+// TargetService: 101
+// EnetChannelId: 2
+// EnetIsReliable: true
+message DebugNotify {
+ uint32 id = 1;
+ string name = 2;
+ Retcode retcode = 3;
+
+ enum Retcode {
+ RETCODE_SUCC = 0;
+ RETCODE_FAIL = 1;
+ }
+}
diff --git a/protocol/proto/DelBackupAvatarTeamReq.proto b/protocol/proto/DelBackupAvatarTeamReq.proto
new file mode 100644
index 00000000..9278eced
--- /dev/null
+++ b/protocol/proto/DelBackupAvatarTeamReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1731
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DelBackupAvatarTeamReq {
+ uint32 backup_avatar_team_id = 4;
+}
diff --git a/protocol/proto/DelBackupAvatarTeamRsp.proto b/protocol/proto/DelBackupAvatarTeamRsp.proto
new file mode 100644
index 00000000..905d0f23
--- /dev/null
+++ b/protocol/proto/DelBackupAvatarTeamRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1729
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DelBackupAvatarTeamRsp {
+ uint32 backup_avatar_team_id = 15;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/DelMailReq.proto b/protocol/proto/DelMailReq.proto
new file mode 100644
index 00000000..0902ac4f
--- /dev/null
+++ b/protocol/proto/DelMailReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DelMailReq {
+ repeated uint32 mail_id_list = 12;
+}
diff --git a/protocol/proto/DelMailRsp.proto b/protocol/proto/DelMailRsp.proto
new file mode 100644
index 00000000..d4140ae9
--- /dev/null
+++ b/protocol/proto/DelMailRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1403
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DelMailRsp {
+ int32 retcode = 11;
+ repeated uint32 mail_id_list = 5;
+}
diff --git a/protocol/proto/DelScenePlayTeamEntityNotify.proto b/protocol/proto/DelScenePlayTeamEntityNotify.proto
new file mode 100644
index 00000000..5f3a65a2
--- /dev/null
+++ b/protocol/proto/DelScenePlayTeamEntityNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3318
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DelScenePlayTeamEntityNotify {
+ repeated uint32 del_entity_id_list = 2;
+ uint32 scene_id = 4;
+}
diff --git a/protocol/proto/DelTeamEntityNotify.proto b/protocol/proto/DelTeamEntityNotify.proto
new file mode 100644
index 00000000..bd3392df
--- /dev/null
+++ b/protocol/proto/DelTeamEntityNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 302
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DelTeamEntityNotify {
+ repeated uint32 del_entity_id_list = 15;
+ uint32 scene_id = 8;
+}
diff --git a/protocol/proto/DeleteFriendNotify.proto b/protocol/proto/DeleteFriendNotify.proto
new file mode 100644
index 00000000..8e78c9d5
--- /dev/null
+++ b/protocol/proto/DeleteFriendNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4053
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DeleteFriendNotify {
+ uint32 target_uid = 12;
+}
diff --git a/protocol/proto/DeleteFriendReq.proto b/protocol/proto/DeleteFriendReq.proto
new file mode 100644
index 00000000..4267fba5
--- /dev/null
+++ b/protocol/proto/DeleteFriendReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4031
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DeleteFriendReq {
+ uint32 target_uid = 13;
+}
diff --git a/protocol/proto/DeleteFriendRsp.proto b/protocol/proto/DeleteFriendRsp.proto
new file mode 100644
index 00000000..89b1911a
--- /dev/null
+++ b/protocol/proto/DeleteFriendRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4075
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DeleteFriendRsp {
+ uint32 target_uid = 14;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/DeliveryActivityDetailInfo.proto b/protocol/proto/DeliveryActivityDetailInfo.proto
new file mode 100644
index 00000000..870a960e
--- /dev/null
+++ b/protocol/proto/DeliveryActivityDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DeliveryActivityDetailInfo {
+ uint32 day_index = 14;
+ bool is_taken_reward = 13;
+ repeated uint32 finished_delivery_quest_index = 4;
+}
diff --git a/protocol/proto/DeshretObeliskChestInfo.proto b/protocol/proto/DeshretObeliskChestInfo.proto
new file mode 100644
index 00000000..4cd576fa
--- /dev/null
+++ b/protocol/proto/DeshretObeliskChestInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DeshretObeliskChestInfo {
+ uint32 scene_id = 5;
+ Vector pos = 9;
+ uint32 group_id = 7;
+ uint32 config_id = 3;
+}
diff --git a/protocol/proto/DeshretObeliskChestInfoNotify.proto b/protocol/proto/DeshretObeliskChestInfoNotify.proto
new file mode 100644
index 00000000..336016f1
--- /dev/null
+++ b/protocol/proto/DeshretObeliskChestInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DeshretObeliskChestInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 841
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DeshretObeliskChestInfoNotify {
+ repeated DeshretObeliskChestInfo chest_info_list = 14;
+}
diff --git a/protocol/proto/DeshretObeliskGadgetInfo.proto b/protocol/proto/DeshretObeliskGadgetInfo.proto
new file mode 100644
index 00000000..39c6e751
--- /dev/null
+++ b/protocol/proto/DeshretObeliskGadgetInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DeshretObeliskGadgetInfo {
+ repeated uint32 argument_list = 1;
+}
diff --git a/protocol/proto/DestroyMassiveEntityNotify.proto b/protocol/proto/DestroyMassiveEntityNotify.proto
new file mode 100644
index 00000000..7693b061
--- /dev/null
+++ b/protocol/proto/DestroyMassiveEntityNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ClientMassiveEntity.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 358
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DestroyMassiveEntityNotify {
+ repeated ClientMassiveEntity massive_entity_list = 7;
+}
diff --git a/protocol/proto/DestroyMaterialReq.proto b/protocol/proto/DestroyMaterialReq.proto
new file mode 100644
index 00000000..f4abded4
--- /dev/null
+++ b/protocol/proto/DestroyMaterialReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MaterialInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 640
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DestroyMaterialReq {
+ repeated MaterialInfo material_list = 5;
+}
diff --git a/protocol/proto/DestroyMaterialRsp.proto b/protocol/proto/DestroyMaterialRsp.proto
new file mode 100644
index 00000000..59a65619
--- /dev/null
+++ b/protocol/proto/DestroyMaterialRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 618
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DestroyMaterialRsp {
+ repeated uint32 item_count_list = 12;
+ repeated uint32 item_id_list = 13;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/DigActivityChangeGadgetStateReq.proto b/protocol/proto/DigActivityChangeGadgetStateReq.proto
new file mode 100644
index 00000000..402a75b7
--- /dev/null
+++ b/protocol/proto/DigActivityChangeGadgetStateReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8464
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DigActivityChangeGadgetStateReq {
+ uint32 entity_id = 10;
+}
diff --git a/protocol/proto/DigActivityChangeGadgetStateRsp.proto b/protocol/proto/DigActivityChangeGadgetStateRsp.proto
new file mode 100644
index 00000000..91b473f8
--- /dev/null
+++ b/protocol/proto/DigActivityChangeGadgetStateRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8430
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DigActivityChangeGadgetStateRsp {
+ uint32 entity_id = 15;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/DigActivityDetailInfo.proto b/protocol/proto/DigActivityDetailInfo.proto
new file mode 100644
index 00000000..761b5ee6
--- /dev/null
+++ b/protocol/proto/DigActivityDetailInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DigMarkPoint.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DigActivityDetailInfo {
+ repeated uint32 stage_id_list = 15;
+ repeated DigMarkPoint dig_mark_point_list = 11;
+ uint32 stage_id = 8;
+}
diff --git a/protocol/proto/DigActivityMarkPointChangeNotify.proto b/protocol/proto/DigActivityMarkPointChangeNotify.proto
new file mode 100644
index 00000000..beee565d
--- /dev/null
+++ b/protocol/proto/DigActivityMarkPointChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DigMarkPoint.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8109
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DigActivityMarkPointChangeNotify {
+ repeated DigMarkPoint dig_mark_point_list = 11;
+}
diff --git a/protocol/proto/DigMarkPoint.proto b/protocol/proto/DigMarkPoint.proto
new file mode 100644
index 00000000..13bff38a
--- /dev/null
+++ b/protocol/proto/DigMarkPoint.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DigMarkPoint {
+ Vector pos = 1;
+ uint32 bundle_id = 13;
+ Vector rot = 3;
+}
diff --git a/protocol/proto/DisableRoguelikeTrapNotify.proto b/protocol/proto/DisableRoguelikeTrapNotify.proto
new file mode 100644
index 00000000..2e31894d
--- /dev/null
+++ b/protocol/proto/DisableRoguelikeTrapNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8259
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DisableRoguelikeTrapNotify {
+ uint32 card_id = 13;
+}
diff --git a/protocol/proto/DoGachaReq.proto b/protocol/proto/DoGachaReq.proto
new file mode 100644
index 00000000..5ca3426b
--- /dev/null
+++ b/protocol/proto/DoGachaReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1512
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DoGachaReq {
+ uint32 gacha_times = 10;
+ uint32 gacha_schedule_id = 7;
+ uint32 gacha_type = 14;
+ uint32 gacha_random = 13;
+ string gacha_tag = 4;
+}
diff --git a/protocol/proto/DoGachaRsp.proto b/protocol/proto/DoGachaRsp.proto
new file mode 100644
index 00000000..07e6a3a2
--- /dev/null
+++ b/protocol/proto/DoGachaRsp.proto
@@ -0,0 +1,47 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GachaItem.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1535
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DoGachaRsp {
+ uint32 cur_schedule_daily_gacha_times = 155;
+ uint32 cost_item_num = 10;
+ uint32 wish_max_progress = 9;
+ uint32 wish_item_id = 8;
+ int32 retcode = 13;
+ uint32 ten_cost_item_num = 3;
+ uint32 wish_progress = 2;
+ repeated GachaItem gacha_item_list = 15;
+ uint32 ten_cost_item_id = 7;
+ uint32 gacha_times = 4;
+ bool is_under_minors_restrict = 1435;
+ bool is_under_general_restrict = 1868;
+ uint32 gacha_type = 12;
+ uint32 gacha_times_limit = 1;
+ uint32 cost_item_id = 14;
+ uint32 daily_gacha_times = 1240;
+ uint32 left_gacha_times = 6;
+ uint32 new_gacha_random = 11;
+ uint32 gacha_schedule_id = 5;
+}
diff --git a/protocol/proto/DoRoguelikeDungeonCardGachaReq.proto b/protocol/proto/DoRoguelikeDungeonCardGachaReq.proto
new file mode 100644
index 00000000..4d0b6eb0
--- /dev/null
+++ b/protocol/proto/DoRoguelikeDungeonCardGachaReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8148
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DoRoguelikeDungeonCardGachaReq {
+ uint32 dungeon_id = 13;
+ uint32 cell_id = 6;
+}
diff --git a/protocol/proto/DoRoguelikeDungeonCardGachaRsp.proto b/protocol/proto/DoRoguelikeDungeonCardGachaRsp.proto
new file mode 100644
index 00000000..cc49c68e
--- /dev/null
+++ b/protocol/proto/DoRoguelikeDungeonCardGachaRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8472
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DoRoguelikeDungeonCardGachaRsp {
+ bool is_can_refresh = 8;
+ repeated uint32 card_list = 15;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/DoSetPlayerBornDataNotify.proto b/protocol/proto/DoSetPlayerBornDataNotify.proto
new file mode 100644
index 00000000..e1abdbca
--- /dev/null
+++ b/protocol/proto/DoSetPlayerBornDataNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 147
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DoSetPlayerBornDataNotify {}
diff --git a/protocol/proto/DraftGuestReplyInviteNotify.proto b/protocol/proto/DraftGuestReplyInviteNotify.proto
new file mode 100644
index 00000000..08b686e4
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyInviteNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5490
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DraftGuestReplyInviteNotify {
+ uint32 draft_id = 5;
+ bool is_agree = 9;
+ uint32 guest_uid = 10;
+}
diff --git a/protocol/proto/DraftGuestReplyInviteReq.proto b/protocol/proto/DraftGuestReplyInviteReq.proto
new file mode 100644
index 00000000..140d2303
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyInviteReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DraftGuestReplyInviteReq {
+ uint32 draft_id = 10;
+ bool is_agree = 3;
+}
diff --git a/protocol/proto/DraftGuestReplyInviteRsp.proto b/protocol/proto/DraftGuestReplyInviteRsp.proto
new file mode 100644
index 00000000..4f705620
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyInviteRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5403
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DraftGuestReplyInviteRsp {
+ uint32 draft_id = 3;
+ int32 retcode = 1;
+ bool is_agree = 10;
+}
diff --git a/protocol/proto/DraftGuestReplyTwiceConfirmNotify.proto b/protocol/proto/DraftGuestReplyTwiceConfirmNotify.proto
new file mode 100644
index 00000000..470674a6
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyTwiceConfirmNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5497
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DraftGuestReplyTwiceConfirmNotify {
+ bool is_agree = 14;
+ uint32 draft_id = 15;
+ uint32 guest_uid = 7;
+}
diff --git a/protocol/proto/DraftGuestReplyTwiceConfirmReq.proto b/protocol/proto/DraftGuestReplyTwiceConfirmReq.proto
new file mode 100644
index 00000000..ec5e8cc2
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyTwiceConfirmReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5431
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DraftGuestReplyTwiceConfirmReq {
+ bool is_agree = 15;
+ uint32 draft_id = 14;
+}
diff --git a/protocol/proto/DraftGuestReplyTwiceConfirmRsp.proto b/protocol/proto/DraftGuestReplyTwiceConfirmRsp.proto
new file mode 100644
index 00000000..4ea4728c
--- /dev/null
+++ b/protocol/proto/DraftGuestReplyTwiceConfirmRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5475
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DraftGuestReplyTwiceConfirmRsp {
+ uint32 draft_id = 5;
+ bool is_agree = 13;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/DraftInviteFailInfo.proto b/protocol/proto/DraftInviteFailInfo.proto
new file mode 100644
index 00000000..72d9cf91
--- /dev/null
+++ b/protocol/proto/DraftInviteFailInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DraftInviteFailReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DraftInviteFailInfo {
+ uint32 uid = 8;
+ DraftInviteFailReason reason = 5;
+}
diff --git a/protocol/proto/DraftInviteFailReason.proto b/protocol/proto/DraftInviteFailReason.proto
new file mode 100644
index 00000000..721099ab
--- /dev/null
+++ b/protocol/proto/DraftInviteFailReason.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum DraftInviteFailReason {
+ DRAFT_INVITE_FAIL_REASON_UNKNOWN = 0;
+ DRAFT_INVITE_FAIL_REASON_ACTIVITY_NOT_OPEN = 1;
+ DRAFT_INVITE_FAIL_REASON_ACTIVITY_PLAY_NOT_OPEN = 2;
+ DRAFT_INVITE_FAIL_REASON_SCENE_NOT_MEET = 3;
+ DRAFT_INVITE_FAIL_REASON_WORLD_NOT_MEET = 4;
+ DRAFT_INVITE_FAIL_REASON_PLAY_LIMIT_NOT_MEET = 5;
+}
diff --git a/protocol/proto/DraftInviteResultNotify.proto b/protocol/proto/DraftInviteResultNotify.proto
new file mode 100644
index 00000000..7bf5d617
--- /dev/null
+++ b/protocol/proto/DraftInviteResultNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5473
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DraftInviteResultNotify {
+ bool is_all_argee = 9;
+ uint32 draft_id = 13;
+}
diff --git a/protocol/proto/DraftOwnerInviteNotify.proto b/protocol/proto/DraftOwnerInviteNotify.proto
new file mode 100644
index 00000000..46fa68a0
--- /dev/null
+++ b/protocol/proto/DraftOwnerInviteNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5407
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DraftOwnerInviteNotify {
+ uint32 draft_id = 4;
+ uint32 invite_deadline_time = 15;
+}
diff --git a/protocol/proto/DraftOwnerStartInviteReq.proto b/protocol/proto/DraftOwnerStartInviteReq.proto
new file mode 100644
index 00000000..86b59637
--- /dev/null
+++ b/protocol/proto/DraftOwnerStartInviteReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5412
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DraftOwnerStartInviteReq {
+ uint32 draft_id = 14;
+}
diff --git a/protocol/proto/DraftOwnerStartInviteRsp.proto b/protocol/proto/DraftOwnerStartInviteRsp.proto
new file mode 100644
index 00000000..720730bc
--- /dev/null
+++ b/protocol/proto/DraftOwnerStartInviteRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DraftInviteFailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5435
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DraftOwnerStartInviteRsp {
+ repeated DraftInviteFailInfo invite_fail_info_list = 15;
+ int32 retcode = 9;
+ uint32 wrong_uid = 3;
+ uint32 draft_id = 14;
+}
diff --git a/protocol/proto/DraftOwnerTwiceConfirmNotify.proto b/protocol/proto/DraftOwnerTwiceConfirmNotify.proto
new file mode 100644
index 00000000..60a8bab2
--- /dev/null
+++ b/protocol/proto/DraftOwnerTwiceConfirmNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5499
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DraftOwnerTwiceConfirmNotify {
+ uint32 twice_confirm_deadline_time = 15;
+ uint32 draft_id = 14;
+}
diff --git a/protocol/proto/DraftTwiceConfirmResultNotify.proto b/protocol/proto/DraftTwiceConfirmResultNotify.proto
new file mode 100644
index 00000000..1691c5f1
--- /dev/null
+++ b/protocol/proto/DraftTwiceConfirmResultNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5448
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DraftTwiceConfirmResultNotify {
+ bool is_all_argee = 7;
+ uint32 draft_id = 1;
+}
diff --git a/protocol/proto/DragonSpineActivityDetailInfo.proto b/protocol/proto/DragonSpineActivityDetailInfo.proto
new file mode 100644
index 00000000..4f57d25f
--- /dev/null
+++ b/protocol/proto/DragonSpineActivityDetailInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DragonSpineChapterInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DragonSpineActivityDetailInfo {
+ bool is_content_closed = 10;
+ repeated DragonSpineChapterInfo chapter_info_list = 4;
+ uint32 weapon_enhance_level = 2;
+ uint32 content_finish_time = 15;
+ uint32 shimmering_essence = 13;
+ uint32 warm_essence = 11;
+ uint32 wondrous_essence = 7;
+}
diff --git a/protocol/proto/DragonSpineChapterFinishNotify.proto b/protocol/proto/DragonSpineChapterFinishNotify.proto
new file mode 100644
index 00000000..e6a0b14c
--- /dev/null
+++ b/protocol/proto/DragonSpineChapterFinishNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2069
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DragonSpineChapterFinishNotify {
+ uint32 schedule_id = 13;
+ uint32 chapter_id = 11;
+ uint32 weapon_enhance_level = 14;
+}
diff --git a/protocol/proto/DragonSpineChapterInfo.proto b/protocol/proto/DragonSpineChapterInfo.proto
new file mode 100644
index 00000000..555e9e86
--- /dev/null
+++ b/protocol/proto/DragonSpineChapterInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DragonSpineChapterInfo {
+ uint32 progress = 14;
+ uint32 open_time = 6;
+ bool is_open = 11;
+ uint32 chapter_id = 9;
+ uint32 finished_mission_num = 10;
+}
diff --git a/protocol/proto/DragonSpineChapterOpenNotify.proto b/protocol/proto/DragonSpineChapterOpenNotify.proto
new file mode 100644
index 00000000..c50870d9
--- /dev/null
+++ b/protocol/proto/DragonSpineChapterOpenNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2022
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DragonSpineChapterOpenNotify {
+ uint32 schedule_id = 12;
+ uint32 chapter_id = 10;
+}
diff --git a/protocol/proto/DragonSpineChapterProgressChangeNotify.proto b/protocol/proto/DragonSpineChapterProgressChangeNotify.proto
new file mode 100644
index 00000000..51a3f2b4
--- /dev/null
+++ b/protocol/proto/DragonSpineChapterProgressChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2065
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DragonSpineChapterProgressChangeNotify {
+ uint32 schedule_id = 7;
+ uint32 chapter_id = 11;
+ uint32 cur_progress = 5;
+}
diff --git a/protocol/proto/DragonSpineCoinChangeNotify.proto b/protocol/proto/DragonSpineCoinChangeNotify.proto
new file mode 100644
index 00000000..b957f51f
--- /dev/null
+++ b/protocol/proto/DragonSpineCoinChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2088
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DragonSpineCoinChangeNotify {
+ uint32 shimmering_essence = 4;
+ uint32 warm_essence = 13;
+ uint32 schedule_id = 12;
+ uint32 wondrous_essence = 11;
+}
diff --git a/protocol/proto/DropHintNotify.proto b/protocol/proto/DropHintNotify.proto
new file mode 100644
index 00000000..a9c8c07e
--- /dev/null
+++ b/protocol/proto/DropHintNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 650
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DropHintNotify {
+ Vector position = 7;
+ repeated uint32 item_id_list = 14;
+}
diff --git a/protocol/proto/DropItemReq.proto b/protocol/proto/DropItemReq.proto
new file mode 100644
index 00000000..0f1abe06
--- /dev/null
+++ b/protocol/proto/DropItemReq.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "StoreType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 699
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DropItemReq {
+ Vector pos = 11;
+ StoreType store_type = 1;
+ uint32 count = 2;
+ uint64 guid = 13;
+}
diff --git a/protocol/proto/DropItemRsp.proto b/protocol/proto/DropItemRsp.proto
new file mode 100644
index 00000000..689c6835
--- /dev/null
+++ b/protocol/proto/DropItemRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "StoreType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 631
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DropItemRsp {
+ int32 retcode = 9;
+ uint64 guid = 1;
+ StoreType store_type = 15;
+}
diff --git a/protocol/proto/DungeonCandidateTeamAvatar.proto b/protocol/proto/DungeonCandidateTeamAvatar.proto
new file mode 100644
index 00000000..9935930e
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamAvatar.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DungeonCandidateTeamAvatar {
+ uint32 player_uid = 2;
+ AvatarInfo avatar_info = 6;
+}
diff --git a/protocol/proto/DungeonCandidateTeamChangeAvatarReq.proto b/protocol/proto/DungeonCandidateTeamChangeAvatarReq.proto
new file mode 100644
index 00000000..09aa0061
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamChangeAvatarReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 956
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonCandidateTeamChangeAvatarReq {
+ repeated uint64 avatar_guid_list = 5;
+}
diff --git a/protocol/proto/DungeonCandidateTeamChangeAvatarRsp.proto b/protocol/proto/DungeonCandidateTeamChangeAvatarRsp.proto
new file mode 100644
index 00000000..cc6d03c3
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamChangeAvatarRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 942
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamChangeAvatarRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/DungeonCandidateTeamCreateReq.proto b/protocol/proto/DungeonCandidateTeamCreateReq.proto
new file mode 100644
index 00000000..6a4401e4
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamCreateReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 995
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonCandidateTeamCreateReq {
+ uint32 point_id = 7;
+ uint32 dungeon_id = 6;
+}
diff --git a/protocol/proto/DungeonCandidateTeamCreateRsp.proto b/protocol/proto/DungeonCandidateTeamCreateRsp.proto
new file mode 100644
index 00000000..579013f1
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamCreateRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 906
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamCreateRsp {
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/DungeonCandidateTeamDismissNotify.proto b/protocol/proto/DungeonCandidateTeamDismissNotify.proto
new file mode 100644
index 00000000..7acb8771
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamDismissNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DungeonCandidateTeamDismissReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 963
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamDismissNotify {
+ DungeonCandidateTeamDismissReason reason = 9;
+ uint32 player_uid = 12;
+}
diff --git a/protocol/proto/DungeonCandidateTeamDismissReason.proto b/protocol/proto/DungeonCandidateTeamDismissReason.proto
new file mode 100644
index 00000000..bbbd87db
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamDismissReason.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum DungeonCandidateTeamDismissReason {
+ DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_NORMAL = 0;
+ DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DIE = 1;
+ DUNGEON_CANDIDATE_TEAM_DISMISS_REASON_TPDR_DISCONNECT = 2;
+}
diff --git a/protocol/proto/DungeonCandidateTeamInfoNotify.proto b/protocol/proto/DungeonCandidateTeamInfoNotify.proto
new file mode 100644
index 00000000..6e49a0d3
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamInfoNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DungeonCandidateTeamAvatar.proto";
+import "DungeonCandidateTeamPlayerState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 927
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamInfoNotify {
+ map player_state_map = 10;
+ uint32 dungeon_id = 9;
+ repeated uint32 ready_player_uid = 13;
+ uint32 match_type = 2;
+ repeated DungeonCandidateTeamAvatar avatar_list = 4;
+}
diff --git a/protocol/proto/DungeonCandidateTeamInviteNotify.proto b/protocol/proto/DungeonCandidateTeamInviteNotify.proto
new file mode 100644
index 00000000..7a7660ee
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamInviteNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 994
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamInviteNotify {
+ uint32 player_uid = 5;
+ uint32 vaild_deadline_time_sec = 9;
+ uint32 dungeon_id = 6;
+}
diff --git a/protocol/proto/DungeonCandidateTeamInviteReq.proto b/protocol/proto/DungeonCandidateTeamInviteReq.proto
new file mode 100644
index 00000000..3684581c
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamInviteReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 934
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonCandidateTeamInviteReq {
+ repeated uint32 player_uids = 5;
+}
diff --git a/protocol/proto/DungeonCandidateTeamInviteRsp.proto b/protocol/proto/DungeonCandidateTeamInviteRsp.proto
new file mode 100644
index 00000000..826d719c
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamInviteRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 950
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamInviteRsp {
+ int32 retcode = 12;
+ repeated uint32 invalid_player_uids = 7;
+}
diff --git a/protocol/proto/DungeonCandidateTeamKickReq.proto b/protocol/proto/DungeonCandidateTeamKickReq.proto
new file mode 100644
index 00000000..9599efbf
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamKickReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 943
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonCandidateTeamKickReq {
+ uint32 player_uid = 9;
+}
diff --git a/protocol/proto/DungeonCandidateTeamKickRsp.proto b/protocol/proto/DungeonCandidateTeamKickRsp.proto
new file mode 100644
index 00000000..46b73ddc
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamKickRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 974
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamKickRsp {
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/DungeonCandidateTeamLeaveReq.proto b/protocol/proto/DungeonCandidateTeamLeaveReq.proto
new file mode 100644
index 00000000..a8c53403
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamLeaveReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 976
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonCandidateTeamLeaveReq {}
diff --git a/protocol/proto/DungeonCandidateTeamLeaveRsp.proto b/protocol/proto/DungeonCandidateTeamLeaveRsp.proto
new file mode 100644
index 00000000..09f3c32b
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamLeaveRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 946
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamLeaveRsp {
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/DungeonCandidateTeamPlayerLeaveNotify.proto b/protocol/proto/DungeonCandidateTeamPlayerLeaveNotify.proto
new file mode 100644
index 00000000..1354103d
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamPlayerLeaveNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DungeonCandidateTeamPlayerLeaveReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 926
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamPlayerLeaveNotify {
+ DungeonCandidateTeamPlayerLeaveReason reason = 3;
+ uint32 player_uid = 13;
+}
diff --git a/protocol/proto/DungeonCandidateTeamPlayerLeaveReason.proto b/protocol/proto/DungeonCandidateTeamPlayerLeaveReason.proto
new file mode 100644
index 00000000..6d875bc8
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamPlayerLeaveReason.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum DungeonCandidateTeamPlayerLeaveReason {
+ DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_NORMAL = 0;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_DIE = 1;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_TPLR_BE_KICK = 2;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_LEAVE_REASON_DISCONNECT = 3;
+}
diff --git a/protocol/proto/DungeonCandidateTeamPlayerState.proto b/protocol/proto/DungeonCandidateTeamPlayerState.proto
new file mode 100644
index 00000000..de3c863b
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamPlayerState.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum DungeonCandidateTeamPlayerState {
+ DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_IDLE = 0;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_CHANGING_AVATAR = 1;
+ DUNGEON_CANDIDATE_TEAM_PLAYER_STATE_READY = 2;
+}
diff --git a/protocol/proto/DungeonCandidateTeamRefuseNotify.proto b/protocol/proto/DungeonCandidateTeamRefuseNotify.proto
new file mode 100644
index 00000000..7a30eccf
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamRefuseNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 988
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamRefuseNotify {
+ uint32 player_uid = 3;
+}
diff --git a/protocol/proto/DungeonCandidateTeamReplyInviteReq.proto b/protocol/proto/DungeonCandidateTeamReplyInviteReq.proto
new file mode 100644
index 00000000..c89fea88
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamReplyInviteReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 941
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonCandidateTeamReplyInviteReq {
+ bool is_accept = 5;
+}
diff --git a/protocol/proto/DungeonCandidateTeamReplyInviteRsp.proto b/protocol/proto/DungeonCandidateTeamReplyInviteRsp.proto
new file mode 100644
index 00000000..c3b1921a
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamReplyInviteRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 949
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamReplyInviteRsp {
+ bool is_trans_point = 4;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/DungeonCandidateTeamSetChangingAvatarReq.proto b/protocol/proto/DungeonCandidateTeamSetChangingAvatarReq.proto
new file mode 100644
index 00000000..f5942fe9
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamSetChangingAvatarReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 918
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonCandidateTeamSetChangingAvatarReq {
+ bool is_changing_avatar = 12;
+}
diff --git a/protocol/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto b/protocol/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto
new file mode 100644
index 00000000..bd3f24dc
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamSetChangingAvatarRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 966
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamSetChangingAvatarRsp {
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/DungeonCandidateTeamSetReadyReq.proto b/protocol/proto/DungeonCandidateTeamSetReadyReq.proto
new file mode 100644
index 00000000..222f4dce
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamSetReadyReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 991
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonCandidateTeamSetReadyReq {
+ bool is_ready = 15;
+}
diff --git a/protocol/proto/DungeonCandidateTeamSetReadyRsp.proto b/protocol/proto/DungeonCandidateTeamSetReadyRsp.proto
new file mode 100644
index 00000000..d7b6d82a
--- /dev/null
+++ b/protocol/proto/DungeonCandidateTeamSetReadyRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 924
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonCandidateTeamSetReadyRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/DungeonChallengeBeginNotify.proto b/protocol/proto/DungeonChallengeBeginNotify.proto
new file mode 100644
index 00000000..d7b03adc
--- /dev/null
+++ b/protocol/proto/DungeonChallengeBeginNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 947
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonChallengeBeginNotify {
+ uint32 father_index = 5;
+ repeated uint32 param_list = 14;
+ uint32 challenge_index = 6;
+ uint32 challenge_id = 1;
+ uint32 group_id = 4;
+ repeated uint32 uid_list = 12;
+}
diff --git a/protocol/proto/DungeonChallengeFinishNotify.proto b/protocol/proto/DungeonChallengeFinishNotify.proto
new file mode 100644
index 00000000..e9cdd2be
--- /dev/null
+++ b/protocol/proto/DungeonChallengeFinishNotify.proto
@@ -0,0 +1,47 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChallengeFinishType.proto";
+import "ChannelerSlabLoopDungeonResultInfo.proto";
+import "CustomDungeonResultInfo.proto";
+import "EffigyChallengeDungeonResultInfo.proto";
+import "PotionDungeonResultInfo.proto";
+import "StrengthenPointData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 939
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonChallengeFinishNotify {
+ map strengthen_point_data_map = 13;
+ ChallengeFinishType finish_type = 9;
+ bool is_new_record = 10;
+ uint32 challenge_record_type = 7;
+ uint32 time_cost = 4;
+ uint32 current_value = 15;
+ bool is_success = 3;
+ uint32 challenge_index = 5;
+ oneof detail {
+ ChannelerSlabLoopDungeonResultInfo channeler_slab_loop_dungeon_result_info = 1521;
+ EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 1627;
+ PotionDungeonResultInfo potion_dungeon_result_info = 1824;
+ CustomDungeonResultInfo custom_dungeon_result_info = 1664;
+ }
+}
diff --git a/protocol/proto/DungeonDataNotify.proto b/protocol/proto/DungeonDataNotify.proto
new file mode 100644
index 00000000..f5497fe1
--- /dev/null
+++ b/protocol/proto/DungeonDataNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 982
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonDataNotify {
+ map dungeon_data_map = 1;
+}
diff --git a/protocol/proto/DungeonDieOptionReq.proto b/protocol/proto/DungeonDieOptionReq.proto
new file mode 100644
index 00000000..9633876b
--- /dev/null
+++ b/protocol/proto/DungeonDieOptionReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerDieOption.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 975
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonDieOptionReq {
+ PlayerDieOption die_option = 11;
+ bool is_quit_immediately = 14;
+}
diff --git a/protocol/proto/DungeonDieOptionRsp.proto b/protocol/proto/DungeonDieOptionRsp.proto
new file mode 100644
index 00000000..f510b274
--- /dev/null
+++ b/protocol/proto/DungeonDieOptionRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerDieOption.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 948
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonDieOptionRsp {
+ int32 retcode = 5;
+ uint32 revive_count = 10;
+ PlayerDieOption die_option = 6;
+}
diff --git a/protocol/proto/DungeonEnterPosInfo.proto b/protocol/proto/DungeonEnterPosInfo.proto
new file mode 100644
index 00000000..e31b9556
--- /dev/null
+++ b/protocol/proto/DungeonEnterPosInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DungeonEnterPosInfo {
+ uint32 quest_id = 13;
+ uint32 point_id = 6;
+}
diff --git a/protocol/proto/DungeonEntryBlockReason.proto b/protocol/proto/DungeonEntryBlockReason.proto
new file mode 100644
index 00000000..5db65099
--- /dev/null
+++ b/protocol/proto/DungeonEntryBlockReason.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum DungeonEntryBlockReason {
+ DUNGEON_ENTRY_BLOCK_REASON_NONE = 0;
+ DUNGEON_ENTRY_BLOCK_REASON_LEVEL = 1;
+ DUNGEON_ENTRY_BLOCK_REASON_QUEST = 2;
+ DUNGEON_ENTRY_BLOCK_REASON_MULIPLE = 3;
+}
diff --git a/protocol/proto/DungeonEntryCond.proto b/protocol/proto/DungeonEntryCond.proto
new file mode 100644
index 00000000..b00ed7d5
--- /dev/null
+++ b/protocol/proto/DungeonEntryCond.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DungeonEntryBlockReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DungeonEntryCond {
+ DungeonEntryBlockReason cond_reason = 7;
+ uint32 param1 = 8;
+}
diff --git a/protocol/proto/DungeonEntryInfo.proto b/protocol/proto/DungeonEntryInfo.proto
new file mode 100644
index 00000000..301008c6
--- /dev/null
+++ b/protocol/proto/DungeonEntryInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WeeklyBossResinDiscountInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DungeonEntryInfo {
+ uint32 end_time = 6;
+ uint32 dungeon_id = 5;
+ uint32 boss_chest_num = 12;
+ uint32 max_boss_chest_num = 13;
+ uint32 next_refresh_time = 11;
+ WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 9;
+ uint32 start_time = 15;
+ bool is_passed = 4;
+ uint32 left_times = 7;
+}
diff --git a/protocol/proto/DungeonEntryInfoReq.proto b/protocol/proto/DungeonEntryInfoReq.proto
new file mode 100644
index 00000000..81e01e01
--- /dev/null
+++ b/protocol/proto/DungeonEntryInfoReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Uint32Pair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 972
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonEntryInfoReq {
+ uint32 point_id = 2;
+ uint32 scene_id = 9;
+ repeated Uint32Pair scene_point_id_list = 4;
+}
diff --git a/protocol/proto/DungeonEntryInfoRsp.proto b/protocol/proto/DungeonEntryInfoRsp.proto
new file mode 100644
index 00000000..fc330306
--- /dev/null
+++ b/protocol/proto/DungeonEntryInfoRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DungeonEntryInfo.proto";
+import "DungeonEntryPointInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 998
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonEntryInfoRsp {
+ repeated DungeonEntryInfo dungeon_entry_list = 12;
+ uint32 point_id = 15;
+ repeated DungeonEntryPointInfo dungeon_entry_point_list = 4;
+ uint32 recommend_dungeon_id = 14;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/DungeonEntryPointInfo.proto b/protocol/proto/DungeonEntryPointInfo.proto
new file mode 100644
index 00000000..d633697b
--- /dev/null
+++ b/protocol/proto/DungeonEntryPointInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DungeonEntryInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DungeonEntryPointInfo {
+ uint32 scene_id = 12;
+ uint32 point_id = 6;
+ repeated DungeonEntryInfo dungeon_entry_list = 1;
+ uint32 recommend_dungeon_id = 8;
+}
diff --git a/protocol/proto/DungeonEntryToBeExploreNotify.proto b/protocol/proto/DungeonEntryToBeExploreNotify.proto
new file mode 100644
index 00000000..74c993cb
--- /dev/null
+++ b/protocol/proto/DungeonEntryToBeExploreNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3147
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonEntryToBeExploreNotify {
+ uint32 dungeon_entry_scene_point_id = 2;
+ uint32 scene_id = 4;
+ uint32 dungeon_entry_config_id = 10;
+}
diff --git a/protocol/proto/DungeonFollowNotify.proto b/protocol/proto/DungeonFollowNotify.proto
new file mode 100644
index 00000000..ed23fdb5
--- /dev/null
+++ b/protocol/proto/DungeonFollowNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 922
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonFollowNotify {
+ uint32 target_uid = 8;
+}
diff --git a/protocol/proto/DungeonGetStatueDropReq.proto b/protocol/proto/DungeonGetStatueDropReq.proto
new file mode 100644
index 00000000..fa86b6d6
--- /dev/null
+++ b/protocol/proto/DungeonGetStatueDropReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 965
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonGetStatueDropReq {}
diff --git a/protocol/proto/DungeonGetStatueDropRsp.proto b/protocol/proto/DungeonGetStatueDropRsp.proto
new file mode 100644
index 00000000..bd95330a
--- /dev/null
+++ b/protocol/proto/DungeonGetStatueDropRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 904
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonGetStatueDropRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/DungeonInterruptChallengeReq.proto b/protocol/proto/DungeonInterruptChallengeReq.proto
new file mode 100644
index 00000000..3df0b6a1
--- /dev/null
+++ b/protocol/proto/DungeonInterruptChallengeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 917
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonInterruptChallengeReq {
+ uint32 challenge_index = 14;
+ uint32 group_id = 13;
+ uint32 challenge_id = 11;
+}
diff --git a/protocol/proto/DungeonInterruptChallengeRsp.proto b/protocol/proto/DungeonInterruptChallengeRsp.proto
new file mode 100644
index 00000000..07277f81
--- /dev/null
+++ b/protocol/proto/DungeonInterruptChallengeRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 902
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonInterruptChallengeRsp {
+ int32 retcode = 1;
+ uint32 challenge_index = 2;
+ uint32 group_id = 15;
+ uint32 challenge_id = 11;
+}
diff --git a/protocol/proto/DungeonPlayerDieNotify.proto b/protocol/proto/DungeonPlayerDieNotify.proto
new file mode 100644
index 00000000..cbbaa983
--- /dev/null
+++ b/protocol/proto/DungeonPlayerDieNotify.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerDieType.proto";
+import "StrengthenPointData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 931
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonPlayerDieNotify {
+ map strengthen_point_data_map = 15;
+ uint32 wait_time = 1;
+ uint32 dungeon_id = 9;
+ uint32 murderer_entity_id = 13;
+ PlayerDieType die_type = 3;
+ uint32 revive_count = 6;
+ oneof entity {
+ uint32 monster_id = 4;
+ uint32 gadget_id = 8;
+ }
+}
diff --git a/protocol/proto/DungeonPlayerDieReq.proto b/protocol/proto/DungeonPlayerDieReq.proto
new file mode 100644
index 00000000..8a48d7ab
--- /dev/null
+++ b/protocol/proto/DungeonPlayerDieReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerDieType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 981
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonPlayerDieReq {
+ PlayerDieType die_type = 6;
+ uint32 dungeon_id = 8;
+}
diff --git a/protocol/proto/DungeonPlayerDieRsp.proto b/protocol/proto/DungeonPlayerDieRsp.proto
new file mode 100644
index 00000000..d82e4e06
--- /dev/null
+++ b/protocol/proto/DungeonPlayerDieRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 905
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonPlayerDieRsp {
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/DungeonRestartInviteNotify.proto b/protocol/proto/DungeonRestartInviteNotify.proto
new file mode 100644
index 00000000..89bbdc8a
--- /dev/null
+++ b/protocol/proto/DungeonRestartInviteNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 957
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonRestartInviteNotify {
+ uint32 player_uid = 3;
+ uint32 cd = 15;
+ uint32 point_id = 13;
+ uint32 dungeon_id = 10;
+}
diff --git a/protocol/proto/DungeonRestartInviteReplyNotify.proto b/protocol/proto/DungeonRestartInviteReplyNotify.proto
new file mode 100644
index 00000000..83e610a7
--- /dev/null
+++ b/protocol/proto/DungeonRestartInviteReplyNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 987
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonRestartInviteReplyNotify {
+ bool is_accept = 6;
+ uint32 player_uid = 9;
+}
diff --git a/protocol/proto/DungeonRestartInviteReplyReq.proto b/protocol/proto/DungeonRestartInviteReplyReq.proto
new file mode 100644
index 00000000..1bb4179f
--- /dev/null
+++ b/protocol/proto/DungeonRestartInviteReplyReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1000
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonRestartInviteReplyReq {
+ bool is_accept = 11;
+}
diff --git a/protocol/proto/DungeonRestartInviteReplyRsp.proto b/protocol/proto/DungeonRestartInviteReplyRsp.proto
new file mode 100644
index 00000000..6175ce70
--- /dev/null
+++ b/protocol/proto/DungeonRestartInviteReplyRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 916
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonRestartInviteReplyRsp {
+ bool is_accept = 10;
+ bool is_trans_point = 1;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/DungeonRestartReq.proto b/protocol/proto/DungeonRestartReq.proto
new file mode 100644
index 00000000..a025d1f1
--- /dev/null
+++ b/protocol/proto/DungeonRestartReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 961
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonRestartReq {}
diff --git a/protocol/proto/DungeonRestartResultNotify.proto b/protocol/proto/DungeonRestartResultNotify.proto
new file mode 100644
index 00000000..375fba3b
--- /dev/null
+++ b/protocol/proto/DungeonRestartResultNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 940
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonRestartResultNotify {
+ bool is_add_accpet = 9;
+}
diff --git a/protocol/proto/DungeonRestartRsp.proto b/protocol/proto/DungeonRestartRsp.proto
new file mode 100644
index 00000000..b27cb96b
--- /dev/null
+++ b/protocol/proto/DungeonRestartRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 929
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonRestartRsp {
+ uint32 dungeon_id = 15;
+ int32 retcode = 9;
+ uint32 point_id = 14;
+}
diff --git a/protocol/proto/DungeonReviseLevelNotify.proto b/protocol/proto/DungeonReviseLevelNotify.proto
new file mode 100644
index 00000000..7eedb3bd
--- /dev/null
+++ b/protocol/proto/DungeonReviseLevelNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 933
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonReviseLevelNotify {
+ uint32 scene_level = 5;
+ uint32 revise_level = 10;
+ uint32 dungeon_id = 3;
+}
diff --git a/protocol/proto/DungeonSettleExhibitionInfo.proto b/protocol/proto/DungeonSettleExhibitionInfo.proto
new file mode 100644
index 00000000..88e96a60
--- /dev/null
+++ b/protocol/proto/DungeonSettleExhibitionInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExhibitionDisplayInfo.proto";
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DungeonSettleExhibitionInfo {
+ OnlinePlayerInfo player_info = 3;
+ repeated ExhibitionDisplayInfo card_list = 13;
+}
diff --git a/protocol/proto/DungeonSettleNotify.proto b/protocol/proto/DungeonSettleNotify.proto
new file mode 100644
index 00000000..ed2e7971
--- /dev/null
+++ b/protocol/proto/DungeonSettleNotify.proto
@@ -0,0 +1,62 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChannelerSlabLoopDungeonResultInfo.proto";
+import "CrystalLinkSettleInfo.proto";
+import "DungeonSettleExhibitionInfo.proto";
+import "EffigyChallengeDungeonResultInfo.proto";
+import "EffigyChallengeV2SettleInfo.proto";
+import "InstableSpraySettleInfo.proto";
+import "ParamList.proto";
+import "RoguelikeDungeonSettleInfo.proto";
+import "StrengthenPointData.proto";
+import "SummerTimeV2DungeonSettleInfo.proto";
+import "TowerLevelEndNotify.proto";
+import "TrialAvatarFirstPassDungeonNotify.proto";
+import "WindFieldDungeonSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 999
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonSettleNotify {
+ uint32 result = 10;
+ uint32 dungeon_id = 13;
+ map strengthen_point_data_map = 14;
+ repeated DungeonSettleExhibitionInfo exhibition_info_list = 8;
+ uint32 create_player_uid = 12;
+ repeated uint32 fail_cond_list = 11;
+ uint32 use_time = 1;
+ uint32 close_time = 4;
+ bool is_success = 7;
+ map settle_show = 5;
+ oneof detail {
+ TowerLevelEndNotify tower_level_end_notify = 351;
+ TrialAvatarFirstPassDungeonNotify trial_avatar_first_pass_dungeon_notify = 635;
+ ChannelerSlabLoopDungeonResultInfo channeler_slab_loop_dungeon_result_info = 686;
+ EffigyChallengeDungeonResultInfo effigy_challenge_dungeon_result_info = 328;
+ RoguelikeDungeonSettleInfo roguelike_dungeon_settle_info = 1482;
+ CrystalLinkSettleInfo crystal_link_settle_info = 112;
+ SummerTimeV2DungeonSettleInfo summer_time_v2_dungeon_settle_info = 1882;
+ InstableSpraySettleInfo instable_spray_settle_info = 193;
+ WindFieldDungeonSettleInfo wind_field_dungeon_settle_info = 1825;
+ EffigyChallengeV2SettleInfo effigy_challenge_v2_settle_info = 1802;
+ }
+}
diff --git a/protocol/proto/DungeonShowReminderNotify.proto b/protocol/proto/DungeonShowReminderNotify.proto
new file mode 100644
index 00000000..b83cd85a
--- /dev/null
+++ b/protocol/proto/DungeonShowReminderNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 997
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonShowReminderNotify {
+ uint32 reminder_id = 9;
+}
diff --git a/protocol/proto/DungeonSlipRevivePointActivateReq.proto b/protocol/proto/DungeonSlipRevivePointActivateReq.proto
new file mode 100644
index 00000000..1bc4a1c1
--- /dev/null
+++ b/protocol/proto/DungeonSlipRevivePointActivateReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 958
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonSlipRevivePointActivateReq {
+ uint32 slip_revive_point_id = 9;
+}
diff --git a/protocol/proto/DungeonSlipRevivePointActivateRsp.proto b/protocol/proto/DungeonSlipRevivePointActivateRsp.proto
new file mode 100644
index 00000000..476db8e0
--- /dev/null
+++ b/protocol/proto/DungeonSlipRevivePointActivateRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 970
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonSlipRevivePointActivateRsp {
+ uint32 slip_revive_point_id = 14;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/DungeonWayPointActivateReq.proto b/protocol/proto/DungeonWayPointActivateReq.proto
new file mode 100644
index 00000000..901fb9e2
--- /dev/null
+++ b/protocol/proto/DungeonWayPointActivateReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 990
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message DungeonWayPointActivateReq {
+ uint32 way_point_id = 3;
+}
diff --git a/protocol/proto/DungeonWayPointActivateRsp.proto b/protocol/proto/DungeonWayPointActivateRsp.proto
new file mode 100644
index 00000000..1c261cb8
--- /dev/null
+++ b/protocol/proto/DungeonWayPointActivateRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 973
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonWayPointActivateRsp {
+ int32 retcode = 6;
+ uint32 way_point_id = 7;
+}
diff --git a/protocol/proto/DungeonWayPointNotify.proto b/protocol/proto/DungeonWayPointNotify.proto
new file mode 100644
index 00000000..40777fe2
--- /dev/null
+++ b/protocol/proto/DungeonWayPointNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 903
+// EnetChannelId: 0
+// EnetIsReliable: true
+message DungeonWayPointNotify {
+ bool is_add = 9;
+ repeated uint32 active_way_point_list = 4;
+}
diff --git a/protocol/proto/DynamicLayerNodes.proto b/protocol/proto/DynamicLayerNodes.proto
new file mode 100644
index 00000000..607c63dc
--- /dev/null
+++ b/protocol/proto/DynamicLayerNodes.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DynamicSVONode.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DynamicLayerNodes {
+ int32 level = 10;
+ repeated DynamicSVONode nodes = 6;
+}
diff --git a/protocol/proto/DynamicNodes.proto b/protocol/proto/DynamicNodes.proto
new file mode 100644
index 00000000..b50037b7
--- /dev/null
+++ b/protocol/proto/DynamicNodes.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DynamicLayerNodes.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DynamicNodes {
+ repeated DynamicLayerNodes nodes = 3;
+}
diff --git a/protocol/proto/DynamicSVONode.proto b/protocol/proto/DynamicSVONode.proto
new file mode 100644
index 00000000..e3ef916a
--- /dev/null
+++ b/protocol/proto/DynamicSVONode.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message DynamicSVONode {
+ int64 index = 8;
+ int32 area = 5;
+ Vector refer_pos = 1;
+}
diff --git a/protocol/proto/EchoNotify.proto b/protocol/proto/EchoNotify.proto
new file mode 100644
index 00000000..19c49968
--- /dev/null
+++ b/protocol/proto/EchoNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 65
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EchoNotify {
+ uint32 seq_id = 4;
+ string content = 9;
+}
diff --git a/protocol/proto/EchoShellDetailInfo.proto b/protocol/proto/EchoShellDetailInfo.proto
new file mode 100644
index 00000000..ab205738
--- /dev/null
+++ b/protocol/proto/EchoShellDetailInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SummerTimeDungeonInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EchoShellDetailInfo {
+ repeated SummerTimeDungeonInfo summer_time_dungeon_list = 8;
+ repeated uint32 shell_list = 13;
+ repeated uint32 pass_dungeon_list = 4;
+ repeated uint32 taken_reward_list = 2;
+}
diff --git a/protocol/proto/EchoShellInfo.proto b/protocol/proto/EchoShellInfo.proto
new file mode 100644
index 00000000..04018e71
--- /dev/null
+++ b/protocol/proto/EchoShellInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EchoShellInfo {
+ uint32 shell_id = 1;
+}
diff --git a/protocol/proto/EchoShellTakeRewardReq.proto b/protocol/proto/EchoShellTakeRewardReq.proto
new file mode 100644
index 00000000..c0cda203
--- /dev/null
+++ b/protocol/proto/EchoShellTakeRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8114
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EchoShellTakeRewardReq {
+ uint32 reward_id = 10;
+}
diff --git a/protocol/proto/EchoShellTakeRewardRsp.proto b/protocol/proto/EchoShellTakeRewardRsp.proto
new file mode 100644
index 00000000..9f70c574
--- /dev/null
+++ b/protocol/proto/EchoShellTakeRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8797
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EchoShellTakeRewardRsp {
+ uint32 reward_id = 6;
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/EchoShellUpdateNotify.proto b/protocol/proto/EchoShellUpdateNotify.proto
new file mode 100644
index 00000000..df51e388
--- /dev/null
+++ b/protocol/proto/EchoShellUpdateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8150
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EchoShellUpdateNotify {
+ uint32 shell_id = 1;
+}
diff --git a/protocol/proto/EffigyActivityDetailInfo.proto b/protocol/proto/EffigyActivityDetailInfo.proto
new file mode 100644
index 00000000..21a4b875
--- /dev/null
+++ b/protocol/proto/EffigyActivityDetailInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EffigyDailyInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EffigyActivityDetailInfo {
+ uint32 cur_score = 5;
+ repeated EffigyDailyInfo daily_info_list = 14;
+ uint32 last_difficulty_id = 9;
+ repeated uint32 taken_reward_index_list = 2;
+}
diff --git a/protocol/proto/EffigyChallengeDungeonResultInfo.proto b/protocol/proto/EffigyChallengeDungeonResultInfo.proto
new file mode 100644
index 00000000..94ca8641
--- /dev/null
+++ b/protocol/proto/EffigyChallengeDungeonResultInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EffigyChallengeDungeonResultInfo {
+ uint32 challenge_score = 7;
+ bool is_in_time_limit = 8;
+ uint32 challenge_id = 6;
+ bool is_success = 15;
+ uint32 challenge_max_score = 13;
+}
diff --git a/protocol/proto/EffigyChallengeInfoNotify.proto b/protocol/proto/EffigyChallengeInfoNotify.proto
new file mode 100644
index 00000000..7f039ab7
--- /dev/null
+++ b/protocol/proto/EffigyChallengeInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2090
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EffigyChallengeInfoNotify {
+ uint32 difficulty_id = 9;
+ repeated uint32 condition_id_list = 11;
+ uint32 challenge_score = 14;
+ uint32 challenge_id = 8;
+}
diff --git a/protocol/proto/EffigyChallengeResultNotify.proto b/protocol/proto/EffigyChallengeResultNotify.proto
new file mode 100644
index 00000000..11342094
--- /dev/null
+++ b/protocol/proto/EffigyChallengeResultNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2046
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EffigyChallengeResultNotify {
+ bool is_success = 5;
+ uint32 challenge_max_score = 12;
+ uint32 challenge_score = 3;
+ uint32 challenge_id = 7;
+}
diff --git a/protocol/proto/EffigyChallengeV2ChooseSkillReq.proto b/protocol/proto/EffigyChallengeV2ChooseSkillReq.proto
new file mode 100644
index 00000000..597eefbf
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2ChooseSkillReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21269
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EffigyChallengeV2ChooseSkillReq {
+ uint32 level_id = 6;
+ uint32 challenge_mode_skill_no = 7;
+}
diff --git a/protocol/proto/EffigyChallengeV2ChooseSkillRsp.proto b/protocol/proto/EffigyChallengeV2ChooseSkillRsp.proto
new file mode 100644
index 00000000..7c90a302
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2ChooseSkillRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22448
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EffigyChallengeV2ChooseSkillRsp {
+ uint32 level_id = 15;
+ int32 retcode = 9;
+ uint32 challenge_mode_skill_no = 3;
+}
diff --git a/protocol/proto/EffigyChallengeV2DetailInfo.proto b/protocol/proto/EffigyChallengeV2DetailInfo.proto
new file mode 100644
index 00000000..dcda38d5
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2DetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EffigyChallengeV2LevelData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EffigyChallengeV2DetailInfo {
+ repeated EffigyChallengeV2LevelData level_data_list = 3;
+}
diff --git a/protocol/proto/EffigyChallengeV2DungeonInfoNotify.proto b/protocol/proto/EffigyChallengeV2DungeonInfoNotify.proto
new file mode 100644
index 00000000..18a3412c
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2DungeonInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22835
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EffigyChallengeV2DungeonInfoNotify {
+ uint32 challenge_mode_difficulty = 2;
+ uint32 skill_no = 4;
+ uint32 level_id = 13;
+}
diff --git a/protocol/proto/EffigyChallengeV2EnterDungeonReq.proto b/protocol/proto/EffigyChallengeV2EnterDungeonReq.proto
new file mode 100644
index 00000000..81c8074d
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2EnterDungeonReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23489
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EffigyChallengeV2EnterDungeonReq {
+ uint32 challenge_mode_difficulty = 7;
+ uint32 level_id = 12;
+ uint32 challenge_mode_skill_no = 11;
+}
diff --git a/protocol/proto/EffigyChallengeV2EnterDungeonRsp.proto b/protocol/proto/EffigyChallengeV2EnterDungeonRsp.proto
new file mode 100644
index 00000000..d4753952
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2EnterDungeonRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24917
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EffigyChallengeV2EnterDungeonRsp {
+ uint32 challenge_mode_skill_no = 11;
+ int32 retcode = 10;
+ uint32 challenge_mode_difficulty = 14;
+ uint32 level_id = 13;
+}
diff --git a/protocol/proto/EffigyChallengeV2LevelData.proto b/protocol/proto/EffigyChallengeV2LevelData.proto
new file mode 100644
index 00000000..1c10d613
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2LevelData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EffigyChallengeV2LevelData {
+ uint32 challenge_mode_difficulty_pass = 1;
+ uint32 level_id = 5;
+ uint32 challenge_mode_last_choose_skill_no = 10;
+ uint32 best_cost_time = 12;
+ bool is_level_open = 7;
+ uint32 challenge_mode_difficulty_open = 13;
+}
diff --git a/protocol/proto/EffigyChallengeV2RestartDungeonReq.proto b/protocol/proto/EffigyChallengeV2RestartDungeonReq.proto
new file mode 100644
index 00000000..aff344a6
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2RestartDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24522
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EffigyChallengeV2RestartDungeonReq {}
diff --git a/protocol/proto/EffigyChallengeV2RestartDungeonRsp.proto b/protocol/proto/EffigyChallengeV2RestartDungeonRsp.proto
new file mode 100644
index 00000000..daa26d80
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2RestartDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23167
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EffigyChallengeV2RestartDungeonRsp {
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/EffigyChallengeV2SettleInfo.proto b/protocol/proto/EffigyChallengeV2SettleInfo.proto
new file mode 100644
index 00000000..7e7de91d
--- /dev/null
+++ b/protocol/proto/EffigyChallengeV2SettleInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EffigyChallengeV2SettleInfo {
+ bool is_challenge_highest_difficulty = 7;
+ uint32 create_dungeon_player_uid = 4;
+ uint32 challenge_mode_difficulty = 6;
+ bool is_new_record_time = 1;
+ uint32 record_time = 12;
+ uint32 first_time_finish_difficulty = 5;
+}
diff --git a/protocol/proto/EffigyDailyInfo.proto b/protocol/proto/EffigyDailyInfo.proto
new file mode 100644
index 00000000..1ecb43ea
--- /dev/null
+++ b/protocol/proto/EffigyDailyInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EffigyDailyInfo {
+ uint32 challenge_max_score = 6;
+ bool is_first_pass_reward_taken = 12;
+ uint32 challenge_total_score = 15;
+ uint32 challenge_id = 1;
+ uint32 challenge_count = 3;
+ uint32 day_index = 14;
+ uint32 begin_time = 2;
+}
diff --git a/protocol/proto/EndCameraSceneLookNotify.proto b/protocol/proto/EndCameraSceneLookNotify.proto
new file mode 100644
index 00000000..93508036
--- /dev/null
+++ b/protocol/proto/EndCameraSceneLookNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 217
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EndCameraSceneLookNotify {}
diff --git a/protocol/proto/EnterChessDungeonReq.proto b/protocol/proto/EnterChessDungeonReq.proto
new file mode 100644
index 00000000..e6bb0663
--- /dev/null
+++ b/protocol/proto/EnterChessDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8191
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterChessDungeonReq {
+ uint32 map_id = 12;
+}
diff --git a/protocol/proto/EnterChessDungeonRsp.proto b/protocol/proto/EnterChessDungeonRsp.proto
new file mode 100644
index 00000000..41bde230
--- /dev/null
+++ b/protocol/proto/EnterChessDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8592
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterChessDungeonRsp {
+ int32 retcode = 8;
+ uint32 map_id = 13;
+}
diff --git a/protocol/proto/EnterCustomDungeonReq.proto b/protocol/proto/EnterCustomDungeonReq.proto
new file mode 100644
index 00000000..df56c2f5
--- /dev/null
+++ b/protocol/proto/EnterCustomDungeonReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EnterCustomDungeonType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6226
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterCustomDungeonReq {
+ uint64 dungeon_guid = 11;
+ uint32 dungeon_id = 12;
+ EnterCustomDungeonType enter_type = 10;
+}
diff --git a/protocol/proto/EnterCustomDungeonRsp.proto b/protocol/proto/EnterCustomDungeonRsp.proto
new file mode 100644
index 00000000..4b6506f7
--- /dev/null
+++ b/protocol/proto/EnterCustomDungeonRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeon.proto";
+import "EnterCustomDungeonType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6218
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterCustomDungeonRsp {
+ CustomDungeon custom_dungeon = 14;
+ EnterCustomDungeonType enter_type = 2;
+ int32 retcode = 10;
+ map room_cost_map = 6;
+}
diff --git a/protocol/proto/EnterCustomDungeonType.proto b/protocol/proto/EnterCustomDungeonType.proto
new file mode 100644
index 00000000..9b49368f
--- /dev/null
+++ b/protocol/proto/EnterCustomDungeonType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum EnterCustomDungeonType {
+ ENTER_CUSTOM_DUNGEON_TYPE_NONE = 0;
+ ENTER_CUSTOM_DUNGEON_TYPE_EDIT = 1;
+ ENTER_CUSTOM_DUNGEON_TYPE_PLAY = 2;
+ ENTER_CUSTOM_DUNGEON_TYPE_OFFICIAL = 3;
+}
diff --git a/protocol/proto/EnterFishingReq.proto b/protocol/proto/EnterFishingReq.proto
new file mode 100644
index 00000000..b7807ffe
--- /dev/null
+++ b/protocol/proto/EnterFishingReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5826
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterFishingReq {
+ uint32 fish_pool_id = 3;
+}
diff --git a/protocol/proto/EnterFishingRsp.proto b/protocol/proto/EnterFishingRsp.proto
new file mode 100644
index 00000000..893c992f
--- /dev/null
+++ b/protocol/proto/EnterFishingRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5818
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterFishingRsp {
+ int32 retcode = 7;
+ uint32 fish_pool_id = 9;
+}
diff --git a/protocol/proto/EnterFungusFighterPlotDungeonReq.proto b/protocol/proto/EnterFungusFighterPlotDungeonReq.proto
new file mode 100644
index 00000000..1050c273
--- /dev/null
+++ b/protocol/proto/EnterFungusFighterPlotDungeonReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23053
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterFungusFighterPlotDungeonReq {
+ uint32 dungeon_id = 14;
+ repeated uint32 fungus_id_list = 8;
+}
diff --git a/protocol/proto/EnterFungusFighterPlotDungeonRsp.proto b/protocol/proto/EnterFungusFighterPlotDungeonRsp.proto
new file mode 100644
index 00000000..320843cf
--- /dev/null
+++ b/protocol/proto/EnterFungusFighterPlotDungeonRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21008
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterFungusFighterPlotDungeonRsp {
+ int32 retcode = 10;
+ uint32 dungeon_id = 15;
+ repeated uint32 fungus_id_list = 2;
+}
diff --git a/protocol/proto/EnterFungusFighterTrainingDungeonReq.proto b/protocol/proto/EnterFungusFighterTrainingDungeonReq.proto
new file mode 100644
index 00000000..53634c25
--- /dev/null
+++ b/protocol/proto/EnterFungusFighterTrainingDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23860
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterFungusFighterTrainingDungeonReq {
+ uint32 dungeon_id = 3;
+}
diff --git a/protocol/proto/EnterFungusFighterTrainingDungeonRsp.proto b/protocol/proto/EnterFungusFighterTrainingDungeonRsp.proto
new file mode 100644
index 00000000..e788ec15
--- /dev/null
+++ b/protocol/proto/EnterFungusFighterTrainingDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21593
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterFungusFighterTrainingDungeonRsp {
+ int32 retcode = 7;
+ uint32 dungeon_id = 11;
+}
diff --git a/protocol/proto/EnterIrodoriChessDungeonReq.proto b/protocol/proto/EnterIrodoriChessDungeonReq.proto
new file mode 100644
index 00000000..32c996a9
--- /dev/null
+++ b/protocol/proto/EnterIrodoriChessDungeonReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8717
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterIrodoriChessDungeonReq {
+ bool is_hard_map = 1;
+ uint32 level_id = 11;
+}
diff --git a/protocol/proto/EnterIrodoriChessDungeonRsp.proto b/protocol/proto/EnterIrodoriChessDungeonRsp.proto
new file mode 100644
index 00000000..6c916d20
--- /dev/null
+++ b/protocol/proto/EnterIrodoriChessDungeonRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8546
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterIrodoriChessDungeonRsp {
+ int32 retcode = 5;
+ bool is_hard_map = 7;
+ uint32 level_id = 13;
+}
diff --git a/protocol/proto/EnterMechanicusDungeonReq.proto b/protocol/proto/EnterMechanicusDungeonReq.proto
new file mode 100644
index 00000000..58a9f9ed
--- /dev/null
+++ b/protocol/proto/EnterMechanicusDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3931
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterMechanicusDungeonReq {
+ uint32 difficult_level = 7;
+}
diff --git a/protocol/proto/EnterMechanicusDungeonRsp.proto b/protocol/proto/EnterMechanicusDungeonRsp.proto
new file mode 100644
index 00000000..ad8c647d
--- /dev/null
+++ b/protocol/proto/EnterMechanicusDungeonRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3975
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterMechanicusDungeonRsp {
+ uint32 wrong_uid = 12;
+ uint32 difficult_level = 13;
+ int32 retcode = 6;
+ uint32 dungeon_id = 11;
+}
diff --git a/protocol/proto/EnterRogueDiaryDungeonReq.proto b/protocol/proto/EnterRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..1bd49ff6
--- /dev/null
+++ b/protocol/proto/EnterRogueDiaryDungeonReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryAvatar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8943
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterRogueDiaryDungeonReq {
+ repeated uint32 chosen_card_list = 9;
+ repeated RogueDiaryAvatar chosen_avatar_list = 11;
+}
diff --git a/protocol/proto/EnterRogueDiaryDungeonRsp.proto b/protocol/proto/EnterRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..10c077aa
--- /dev/null
+++ b/protocol/proto/EnterRogueDiaryDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8352
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterRogueDiaryDungeonRsp {
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/EnterRoguelikeDungeonNotify.proto b/protocol/proto/EnterRoguelikeDungeonNotify.proto
new file mode 100644
index 00000000..9bb70098
--- /dev/null
+++ b/protocol/proto/EnterRoguelikeDungeonNotify.proto
@@ -0,0 +1,45 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueCellInfo.proto";
+import "RoguelikeRuneRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8652
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterRoguelikeDungeonNotify {
+ bool is_mist_clear = 14;
+ uint32 dungeon_weight_config_id = 2;
+ repeated RoguelikeRuneRecord rune_record_list = 6;
+ repeated uint64 onstage_avatar_guid_list = 9;
+ bool is_first_enter = 205;
+ repeated uint32 explored_cell_list = 3;
+ map cell_info_map = 11;
+ uint32 dungeon_id = 1;
+ uint32 refresh_cost_item_count = 1999;
+ float bonus_resource_prop = 13;
+ uint32 revise_monster_level = 1541;
+ uint32 stage_id = 15;
+ repeated uint64 backstage_avatar_guid_list = 10;
+ uint32 cur_cell_id = 12;
+ uint32 refresh_cost_item_id = 7;
+ uint32 cur_level = 8;
+}
diff --git a/protocol/proto/EnterSceneDoneReq.proto b/protocol/proto/EnterSceneDoneReq.proto
new file mode 100644
index 00000000..cef4878f
--- /dev/null
+++ b/protocol/proto/EnterSceneDoneReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 277
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterSceneDoneReq {
+ uint32 enter_scene_token = 11;
+}
diff --git a/protocol/proto/EnterSceneDoneRsp.proto b/protocol/proto/EnterSceneDoneRsp.proto
new file mode 100644
index 00000000..b03d5d53
--- /dev/null
+++ b/protocol/proto/EnterSceneDoneRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 237
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterSceneDoneRsp {
+ uint32 enter_scene_token = 15;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/EnterScenePeerNotify.proto b/protocol/proto/EnterScenePeerNotify.proto
new file mode 100644
index 00000000..cf7b64e2
--- /dev/null
+++ b/protocol/proto/EnterScenePeerNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 252
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterScenePeerNotify {
+ uint32 dest_scene_id = 12;
+ uint32 enter_scene_token = 11;
+ uint32 host_peer_id = 14;
+ uint32 peer_id = 1;
+}
diff --git a/protocol/proto/EnterSceneReadyReq.proto b/protocol/proto/EnterSceneReadyReq.proto
new file mode 100644
index 00000000..fd0e7593
--- /dev/null
+++ b/protocol/proto/EnterSceneReadyReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 208
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterSceneReadyReq {
+ uint32 enter_scene_token = 9;
+}
diff --git a/protocol/proto/EnterSceneReadyRsp.proto b/protocol/proto/EnterSceneReadyRsp.proto
new file mode 100644
index 00000000..0a9fd4b0
--- /dev/null
+++ b/protocol/proto/EnterSceneReadyRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 209
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterSceneReadyRsp {
+ uint32 enter_scene_token = 1;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/EnterSceneWeatherAreaNotify.proto b/protocol/proto/EnterSceneWeatherAreaNotify.proto
new file mode 100644
index 00000000..f5785d3a
--- /dev/null
+++ b/protocol/proto/EnterSceneWeatherAreaNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 256
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterSceneWeatherAreaNotify {
+ uint32 weather_gadget_id = 13;
+}
diff --git a/protocol/proto/EnterTransPointRegionNotify.proto b/protocol/proto/EnterTransPointRegionNotify.proto
new file mode 100644
index 00000000..821e0ec8
--- /dev/null
+++ b/protocol/proto/EnterTransPointRegionNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 205
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterTransPointRegionNotify {
+ uint32 scene_id = 8;
+ uint32 point_id = 6;
+}
diff --git a/protocol/proto/EnterTrialAvatarActivityDungeonReq.proto b/protocol/proto/EnterTrialAvatarActivityDungeonReq.proto
new file mode 100644
index 00000000..6f191945
--- /dev/null
+++ b/protocol/proto/EnterTrialAvatarActivityDungeonReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2118
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterTrialAvatarActivityDungeonReq {
+ uint32 enter_point_id = 10;
+ uint32 trial_avatar_index_id = 5;
+ uint32 activity_id = 14;
+}
diff --git a/protocol/proto/EnterTrialAvatarActivityDungeonRsp.proto b/protocol/proto/EnterTrialAvatarActivityDungeonRsp.proto
new file mode 100644
index 00000000..5c6ad120
--- /dev/null
+++ b/protocol/proto/EnterTrialAvatarActivityDungeonRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2183
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterTrialAvatarActivityDungeonRsp {
+ int32 retcode = 11;
+ uint32 trial_avatar_index_id = 13;
+ uint32 activity_id = 10;
+}
diff --git a/protocol/proto/EnterType.proto b/protocol/proto/EnterType.proto
new file mode 100644
index 00000000..4300806f
--- /dev/null
+++ b/protocol/proto/EnterType.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum EnterType {
+ ENTER_TYPE_NONE = 0;
+ ENTER_TYPE_SELF = 1;
+ ENTER_TYPE_GOTO = 2;
+ ENTER_TYPE_JUMP = 3;
+ ENTER_TYPE_OTHER = 4;
+ ENTER_TYPE_BACK = 5;
+ ENTER_TYPE_DUNGEON = 6;
+ ENTER_TYPE_DUNGEON_REPLAY = 7;
+ ENTER_TYPE_GOTO_BY_PORTAL = 8;
+ ENTER_TYPE_SELF_HOME = 9;
+ ENTER_TYPE_OTHER_HOME = 10;
+ ENTER_TYPE_GOTO_RECREATE = 11;
+}
diff --git a/protocol/proto/EnterWorldAreaReq.proto b/protocol/proto/EnterWorldAreaReq.proto
new file mode 100644
index 00000000..8e3778bd
--- /dev/null
+++ b/protocol/proto/EnterWorldAreaReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 250
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EnterWorldAreaReq {
+ uint32 area_type = 8;
+ uint32 area_id = 1;
+}
diff --git a/protocol/proto/EnterWorldAreaRsp.proto b/protocol/proto/EnterWorldAreaRsp.proto
new file mode 100644
index 00000000..a02ac34e
--- /dev/null
+++ b/protocol/proto/EnterWorldAreaRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 243
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EnterWorldAreaRsp {
+ uint32 area_type = 1;
+ uint32 area_id = 7;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/EntityAbilityInvokeEntry.proto b/protocol/proto/EntityAbilityInvokeEntry.proto
new file mode 100644
index 00000000..400332a4
--- /dev/null
+++ b/protocol/proto/EntityAbilityInvokeEntry.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityInvokeEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EntityAbilityInvokeEntry {
+ uint32 entity_id = 8;
+ repeated AbilityInvokeEntry invokes = 1;
+}
diff --git a/protocol/proto/EntityAiKillSelfNotify.proto b/protocol/proto/EntityAiKillSelfNotify.proto
new file mode 100644
index 00000000..35bf2b2e
--- /dev/null
+++ b/protocol/proto/EntityAiKillSelfNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 340
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EntityAiKillSelfNotify {
+ uint32 entity_id = 12;
+}
diff --git a/protocol/proto/EntityAiSyncNotify.proto b/protocol/proto/EntityAiSyncNotify.proto
new file mode 100644
index 00000000..9b12958c
--- /dev/null
+++ b/protocol/proto/EntityAiSyncNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AiSyncInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 400
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EntityAiSyncNotify {
+ repeated uint32 local_avatar_alerted_monster_list = 15;
+ repeated AiSyncInfo info_list = 1;
+}
diff --git a/protocol/proto/EntityAuthorityChangeNotify.proto b/protocol/proto/EntityAuthorityChangeNotify.proto
new file mode 100644
index 00000000..90f71b9d
--- /dev/null
+++ b/protocol/proto/EntityAuthorityChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AuthorityChange.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 394
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EntityAuthorityChangeNotify {
+ repeated AuthorityChange authority_change_list = 15;
+}
diff --git a/protocol/proto/EntityAuthorityInfo.proto b/protocol/proto/EntityAuthorityInfo.proto
new file mode 100644
index 00000000..7cf9d879
--- /dev/null
+++ b/protocol/proto/EntityAuthorityInfo.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilitySyncStateInfo.proto";
+import "AnimatorParameterValueInfoPair.proto";
+import "EntityClientExtraInfo.proto";
+import "EntityRendererChangedInfo.proto";
+import "SceneEntityAiInfo.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EntityAuthorityInfo {
+ AbilitySyncStateInfo ability_info = 1;
+ EntityRendererChangedInfo renderer_changed_info = 2;
+ SceneEntityAiInfo ai_info = 3;
+ Vector born_pos = 4;
+ repeated AnimatorParameterValueInfoPair pose_para_list = 5;
+ EntityClientExtraInfo client_extra_info = 6;
+}
diff --git a/protocol/proto/EntityClientData.proto b/protocol/proto/EntityClientData.proto
new file mode 100644
index 00000000..22d73d8d
--- /dev/null
+++ b/protocol/proto/EntityClientData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EntityClientData {
+ uint32 wind_change_scene_time = 1;
+ float windmill_sync_angle = 2;
+ int32 wind_change_target_level = 3;
+}
diff --git a/protocol/proto/EntityClientExtraInfo.proto b/protocol/proto/EntityClientExtraInfo.proto
new file mode 100644
index 00000000..a2180c98
--- /dev/null
+++ b/protocol/proto/EntityClientExtraInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EntityClientExtraInfo {
+ Vector skill_anchor_position = 1;
+}
diff --git a/protocol/proto/EntityConfigHashEntry.proto b/protocol/proto/EntityConfigHashEntry.proto
new file mode 100644
index 00000000..0ad16027
--- /dev/null
+++ b/protocol/proto/EntityConfigHashEntry.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EntityConfigHashEntry {
+ uint32 job_id = 13;
+ int32 hash_value = 6;
+ uint32 entity_id = 11;
+}
diff --git a/protocol/proto/EntityConfigHashNotify.proto b/protocol/proto/EntityConfigHashNotify.proto
new file mode 100644
index 00000000..13557a94
--- /dev/null
+++ b/protocol/proto/EntityConfigHashNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EntityConfigHashEntry.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3189
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EntityConfigHashNotify {
+ repeated EntityConfigHashEntry ability_entry_list = 3;
+ repeated EntityConfigHashEntry avatar_entry_list = 15;
+ repeated EntityConfigHashEntry combat_entry_list = 8;
+}
diff --git a/protocol/proto/EntityEnvironmentInfo.proto b/protocol/proto/EntityEnvironmentInfo.proto
new file mode 100644
index 00000000..c74a804c
--- /dev/null
+++ b/protocol/proto/EntityEnvironmentInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EntityEnvironmentInfo {
+ uint32 json_climate_type = 1;
+ uint32 climate_area_id = 2;
+}
diff --git a/protocol/proto/EntityFightPropChangeReasonNotify.proto b/protocol/proto/EntityFightPropChangeReasonNotify.proto
new file mode 100644
index 00000000..000f1ba6
--- /dev/null
+++ b/protocol/proto/EntityFightPropChangeReasonNotify.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChangeEnergyReason.proto";
+import "ChangeHpReason.proto";
+import "PropChangeReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1203
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EntityFightPropChangeReasonNotify {
+ repeated uint32 param_list = 10;
+ float prop_delta = 1;
+ ChangeHpReason change_hp_reason = 14;
+ PropChangeReason reason = 6;
+ uint32 entity_id = 5;
+ ChangeEnergyReason change_energy_reson = 15;
+ uint32 prop_type = 13;
+}
diff --git a/protocol/proto/EntityFightPropNotify.proto b/protocol/proto/EntityFightPropNotify.proto
new file mode 100644
index 00000000..06b37991
--- /dev/null
+++ b/protocol/proto/EntityFightPropNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1212
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EntityFightPropNotify {
+ uint32 entity_id = 4;
+ map fight_prop_map = 8;
+}
diff --git a/protocol/proto/EntityFightPropUpdateNotify.proto b/protocol/proto/EntityFightPropUpdateNotify.proto
new file mode 100644
index 00000000..497c6540
--- /dev/null
+++ b/protocol/proto/EntityFightPropUpdateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1235
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EntityFightPropUpdateNotify {
+ map fight_prop_map = 15;
+ uint32 entity_id = 13;
+}
diff --git a/protocol/proto/EntityForceSyncReq.proto b/protocol/proto/EntityForceSyncReq.proto
new file mode 100644
index 00000000..c33335e4
--- /dev/null
+++ b/protocol/proto/EntityForceSyncReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MotionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 274
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EntityForceSyncReq {
+ uint32 room_id = 1;
+ MotionInfo motion_info = 11;
+ uint32 entity_id = 13;
+ uint32 scene_time = 12;
+}
diff --git a/protocol/proto/EntityForceSyncRsp.proto b/protocol/proto/EntityForceSyncRsp.proto
new file mode 100644
index 00000000..7c73e597
--- /dev/null
+++ b/protocol/proto/EntityForceSyncRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MotionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 276
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EntityForceSyncRsp {
+ uint32 scene_time = 14;
+ uint32 entity_id = 6;
+ MotionInfo fail_motion = 8;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/EntityJumpNotify.proto b/protocol/proto/EntityJumpNotify.proto
new file mode 100644
index 00000000..9e55bbc5
--- /dev/null
+++ b/protocol/proto/EntityJumpNotify.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 222
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EntityJumpNotify {
+ Type jump_type = 9;
+ Vector rot = 8;
+ Vector pos = 10;
+ uint32 entity_id = 12;
+
+ enum Type {
+ TYPE_NULL = 0;
+ TYPE_ACTIVE = 1;
+ TYPE_PASSIVE = 2;
+ }
+}
diff --git a/protocol/proto/EntityMoveFailInfo.proto b/protocol/proto/EntityMoveFailInfo.proto
new file mode 100644
index 00000000..88f32305
--- /dev/null
+++ b/protocol/proto/EntityMoveFailInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MotionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EntityMoveFailInfo {
+ int32 retcode = 12;
+ uint32 scene_time = 9;
+ MotionInfo fail_motion = 14;
+ uint32 reliable_seq = 4;
+ uint32 entity_id = 10;
+}
diff --git a/protocol/proto/EntityMoveInfo.proto b/protocol/proto/EntityMoveInfo.proto
new file mode 100644
index 00000000..71447875
--- /dev/null
+++ b/protocol/proto/EntityMoveInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MotionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EntityMoveInfo {
+ uint32 entity_id = 1;
+ MotionInfo motion_info = 2;
+ uint32 scene_time = 3;
+ uint32 reliable_seq = 4;
+ bool is_reliable = 5;
+}
diff --git a/protocol/proto/EntityMoveRoomNotify.proto b/protocol/proto/EntityMoveRoomNotify.proto
new file mode 100644
index 00000000..66e48fe8
--- /dev/null
+++ b/protocol/proto/EntityMoveRoomNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3178
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EntityMoveRoomNotify {
+ uint32 entity_id = 11;
+ uint32 dest_room_id = 9;
+}
diff --git a/protocol/proto/EntityPropNotify.proto b/protocol/proto/EntityPropNotify.proto
new file mode 100644
index 00000000..a650bb51
--- /dev/null
+++ b/protocol/proto/EntityPropNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PropValue.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1272
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EntityPropNotify {
+ map prop_map = 1;
+ uint32 entity_id = 14;
+}
diff --git a/protocol/proto/EntityRendererChangedInfo.proto b/protocol/proto/EntityRendererChangedInfo.proto
new file mode 100644
index 00000000..c4579247
--- /dev/null
+++ b/protocol/proto/EntityRendererChangedInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EntityRendererChangedInfo {
+ map changed_renderers = 1;
+ uint32 visibility_count = 2;
+ bool is_cached = 3;
+}
diff --git a/protocol/proto/EntityTagChangeNotify.proto b/protocol/proto/EntityTagChangeNotify.proto
new file mode 100644
index 00000000..e55d2ccd
--- /dev/null
+++ b/protocol/proto/EntityTagChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3316
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EntityTagChangeNotify {
+ string tag = 2;
+ uint32 entity_id = 8;
+ bool is_add = 10;
+}
diff --git a/protocol/proto/Equip.proto b/protocol/proto/Equip.proto
new file mode 100644
index 00000000..726c40a5
--- /dev/null
+++ b/protocol/proto/Equip.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Reliquary.proto";
+import "Weapon.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Equip {
+ bool is_locked = 3;
+ oneof detail {
+ Reliquary reliquary = 1;
+ Weapon weapon = 2;
+ }
+}
diff --git a/protocol/proto/EquipParam.proto b/protocol/proto/EquipParam.proto
new file mode 100644
index 00000000..db90d5de
--- /dev/null
+++ b/protocol/proto/EquipParam.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EquipParam {
+ uint32 item_id = 1;
+ uint32 item_num = 2;
+ uint32 item_level = 3;
+ uint32 promote_level = 4;
+}
diff --git a/protocol/proto/EquipParamList.proto b/protocol/proto/EquipParamList.proto
new file mode 100644
index 00000000..adcfa5ee
--- /dev/null
+++ b/protocol/proto/EquipParamList.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EquipParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EquipParamList {
+ repeated EquipParam item_list = 1;
+}
diff --git a/protocol/proto/EquipRoguelikeRuneReq.proto b/protocol/proto/EquipRoguelikeRuneReq.proto
new file mode 100644
index 00000000..340cc890
--- /dev/null
+++ b/protocol/proto/EquipRoguelikeRuneReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8306
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EquipRoguelikeRuneReq {
+ repeated uint32 rune_list = 3;
+}
diff --git a/protocol/proto/EquipRoguelikeRuneRsp.proto b/protocol/proto/EquipRoguelikeRuneRsp.proto
new file mode 100644
index 00000000..a14bb2d0
--- /dev/null
+++ b/protocol/proto/EquipRoguelikeRuneRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8705
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EquipRoguelikeRuneRsp {
+ int32 retcode = 14;
+ repeated uint32 rune_list = 1;
+}
diff --git a/protocol/proto/EventTriggerType.proto b/protocol/proto/EventTriggerType.proto
new file mode 100644
index 00000000..0ecf65ba
--- /dev/null
+++ b/protocol/proto/EventTriggerType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum EventTriggerType {
+ EVENT_TRIGGER_TYPE_NONE = 0;
+ EVENT_TRIGGER_TYPE_ENTER_FORCE = 1;
+}
diff --git a/protocol/proto/EvtAiSyncCombatThreatInfoNotify.proto b/protocol/proto/EvtAiSyncCombatThreatInfoNotify.proto
new file mode 100644
index 00000000..5c7fac56
--- /dev/null
+++ b/protocol/proto/EvtAiSyncCombatThreatInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AiThreatInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 329
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAiSyncCombatThreatInfoNotify {
+ map combat_threat_info_map = 8;
+}
diff --git a/protocol/proto/EvtAiSyncSkillCdNotify.proto b/protocol/proto/EvtAiSyncSkillCdNotify.proto
new file mode 100644
index 00000000..544db99f
--- /dev/null
+++ b/protocol/proto/EvtAiSyncSkillCdNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AiSkillCdInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 376
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAiSyncSkillCdNotify {
+ map ai_cd_map = 7;
+}
diff --git a/protocol/proto/EvtAnimatorParameterInfo.proto b/protocol/proto/EvtAnimatorParameterInfo.proto
new file mode 100644
index 00000000..42cd8aec
--- /dev/null
+++ b/protocol/proto/EvtAnimatorParameterInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AnimatorParameterValueInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtAnimatorParameterInfo {
+ uint32 entity_id = 4;
+ bool is_server_cache = 5;
+ AnimatorParameterValueInfo value = 7;
+ int32 name_id = 15;
+}
diff --git a/protocol/proto/EvtAnimatorParameterNotify.proto b/protocol/proto/EvtAnimatorParameterNotify.proto
new file mode 100644
index 00000000..b692b45d
--- /dev/null
+++ b/protocol/proto/EvtAnimatorParameterNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EvtAnimatorParameterInfo.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 398
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAnimatorParameterNotify {
+ EvtAnimatorParameterInfo animator_param_info = 12;
+ ForwardType forward_type = 14;
+}
diff --git a/protocol/proto/EvtAnimatorStateChangedInfo.proto b/protocol/proto/EvtAnimatorStateChangedInfo.proto
new file mode 100644
index 00000000..6926a6fa
--- /dev/null
+++ b/protocol/proto/EvtAnimatorStateChangedInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtAnimatorStateChangedInfo {
+ int32 face_angle_compact = 14;
+ uint32 to_state_hash = 5;
+ uint32 normalized_time_compact = 9;
+ uint32 layer = 2;
+ Vector pos = 13;
+ float fade_duration = 3;
+ bool force_sync = 1;
+ uint32 entity_id = 15;
+ bool handle_animator_state_immediately = 7;
+}
diff --git a/protocol/proto/EvtAnimatorStateChangedNotify.proto b/protocol/proto/EvtAnimatorStateChangedNotify.proto
new file mode 100644
index 00000000..6f1f3603
--- /dev/null
+++ b/protocol/proto/EvtAnimatorStateChangedNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EvtAnimatorStateChangedInfo.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 331
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAnimatorStateChangedNotify {
+ ForwardType forward_type = 3;
+ EvtAnimatorStateChangedInfo evt_animator_state_changed_info = 10;
+}
diff --git a/protocol/proto/EvtAvatarEnterFocusNotify.proto b/protocol/proto/EvtAvatarEnterFocusNotify.proto
new file mode 100644
index 00000000..89866c8c
--- /dev/null
+++ b/protocol/proto/EvtAvatarEnterFocusNotify.proto
@@ -0,0 +1,43 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 304
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAvatarEnterFocusNotify {
+ uint32 entity_id = 1;
+ bool can_move = 10;
+ bool enter_holding_focus_shoot = 13;
+ bool disable_aim_layer = 6;
+ bool use_auto_focus = 5;
+ bool fast_focus = 3;
+ bool show_cross_hair = 12;
+ bool enter_normal_focus_shoot = 14;
+ ForwardType forward_type = 8;
+ Vector focus_forward = 7;
+ bool disable_anim = 9;
+ bool use_focus_sticky = 15;
+ bool use_gyro = 11;
+}
diff --git a/protocol/proto/EvtAvatarExitFocusNotify.proto b/protocol/proto/EvtAvatarExitFocusNotify.proto
new file mode 100644
index 00000000..f7f85bd1
--- /dev/null
+++ b/protocol/proto/EvtAvatarExitFocusNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 393
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAvatarExitFocusNotify {
+ Vector finish_forward = 12;
+ ForwardType forward_type = 11;
+ uint32 entity_id = 14;
+}
diff --git a/protocol/proto/EvtAvatarLockChairReq.proto b/protocol/proto/EvtAvatarLockChairReq.proto
new file mode 100644
index 00000000..7e47f526
--- /dev/null
+++ b/protocol/proto/EvtAvatarLockChairReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 318
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAvatarLockChairReq {
+ uint64 chair_id = 5;
+ Vector position = 8;
+}
diff --git a/protocol/proto/EvtAvatarLockChairRsp.proto b/protocol/proto/EvtAvatarLockChairRsp.proto
new file mode 100644
index 00000000..53d22a12
--- /dev/null
+++ b/protocol/proto/EvtAvatarLockChairRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 366
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EvtAvatarLockChairRsp {
+ uint64 chair_id = 14;
+ uint32 entity_id = 15;
+ Vector position = 4;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/EvtAvatarSitDownNotify.proto b/protocol/proto/EvtAvatarSitDownNotify.proto
new file mode 100644
index 00000000..2c06e412
--- /dev/null
+++ b/protocol/proto/EvtAvatarSitDownNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 324
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAvatarSitDownNotify {
+ Vector position = 9;
+ uint32 entity_id = 4;
+ uint64 chair_id = 6;
+}
diff --git a/protocol/proto/EvtAvatarStandUpNotify.proto b/protocol/proto/EvtAvatarStandUpNotify.proto
new file mode 100644
index 00000000..a15c352b
--- /dev/null
+++ b/protocol/proto/EvtAvatarStandUpNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 356
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAvatarStandUpNotify {
+ uint64 chair_id = 11;
+ int32 perform_id = 6;
+ int32 direction = 1;
+ uint32 entity_id = 9;
+}
diff --git a/protocol/proto/EvtAvatarUpdateFocusNotify.proto b/protocol/proto/EvtAvatarUpdateFocusNotify.proto
new file mode 100644
index 00000000..77e9c33c
--- /dev/null
+++ b/protocol/proto/EvtAvatarUpdateFocusNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 327
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtAvatarUpdateFocusNotify {
+ ForwardType forward_type = 7;
+ Vector focus_forward = 11;
+ uint32 entity_id = 10;
+}
diff --git a/protocol/proto/EvtBeingHealedNotify.proto b/protocol/proto/EvtBeingHealedNotify.proto
new file mode 100644
index 00000000..ebd2309e
--- /dev/null
+++ b/protocol/proto/EvtBeingHealedNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 333
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EvtBeingHealedNotify {
+ uint32 target_id = 1;
+ float real_heal_amount = 5;
+ uint32 source_id = 13;
+ float heal_amount = 4;
+}
diff --git a/protocol/proto/EvtBeingHitInfo.proto b/protocol/proto/EvtBeingHitInfo.proto
new file mode 100644
index 00000000..c1ca5a74
--- /dev/null
+++ b/protocol/proto/EvtBeingHitInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AttackResult.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtBeingHitInfo {
+ uint32 peer_id = 6;
+ AttackResult attack_result = 7;
+ uint32 frame_num = 4;
+}
diff --git a/protocol/proto/EvtBeingHitNotify.proto b/protocol/proto/EvtBeingHitNotify.proto
new file mode 100644
index 00000000..ad94a8bb
--- /dev/null
+++ b/protocol/proto/EvtBeingHitNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EvtBeingHitInfo.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 372
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtBeingHitNotify {
+ ForwardType forward_type = 6;
+ EvtBeingHitInfo being_hit_info = 3;
+}
diff --git a/protocol/proto/EvtBeingHitsCombineNotify.proto b/protocol/proto/EvtBeingHitsCombineNotify.proto
new file mode 100644
index 00000000..a864ead3
--- /dev/null
+++ b/protocol/proto/EvtBeingHitsCombineNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EvtBeingHitInfo.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 346
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtBeingHitsCombineNotify {
+ ForwardType forward_type = 11;
+ repeated EvtBeingHitInfo evt_being_hit_info_list = 7;
+}
diff --git a/protocol/proto/EvtBulletDeactiveNotify.proto b/protocol/proto/EvtBulletDeactiveNotify.proto
new file mode 100644
index 00000000..40b77de0
--- /dev/null
+++ b/protocol/proto/EvtBulletDeactiveNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 397
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtBulletDeactiveNotify {
+ ForwardType forward_type = 6;
+ uint32 entity_id = 9;
+ Vector disappear_pos = 4;
+}
diff --git a/protocol/proto/EvtBulletHitNotify.proto b/protocol/proto/EvtBulletHitNotify.proto
new file mode 100644
index 00000000..c4cdf952
--- /dev/null
+++ b/protocol/proto/EvtBulletHitNotify.proto
@@ -0,0 +1,40 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+import "HitColliderType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 348
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtBulletHitNotify {
+ uint32 single_bullet_id = 8;
+ Vector hit_point = 15;
+ Vector hit_normal = 11;
+ int32 hit_box_index = 9;
+ uint32 hit_entity_id = 3;
+ uint32 entity_id = 5;
+ uint32 forward_peer = 7;
+ ForwardType forward_type = 2;
+ HitColliderType hit_collider_type = 6;
+}
diff --git a/protocol/proto/EvtBulletMoveNotify.proto b/protocol/proto/EvtBulletMoveNotify.proto
new file mode 100644
index 00000000..9ebef005
--- /dev/null
+++ b/protocol/proto/EvtBulletMoveNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 365
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtBulletMoveNotify {
+ ForwardType forward_type = 14;
+ Vector cur_pos = 1;
+ uint32 entity_id = 11;
+}
diff --git a/protocol/proto/EvtCombatForceSetPosInfo.proto b/protocol/proto/EvtCombatForceSetPosInfo.proto
new file mode 100644
index 00000000..3c46495e
--- /dev/null
+++ b/protocol/proto/EvtCombatForceSetPosInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtCombatForceSetPosInfo {
+ uint32 ice_id = 9;
+ uint32 collider_entity_id = 10;
+ uint32 entity_id = 6;
+ Vector target_pos = 1;
+}
diff --git a/protocol/proto/EvtCombatSteerMotionInfo.proto b/protocol/proto/EvtCombatSteerMotionInfo.proto
new file mode 100644
index 00000000..ed4a3e8c
--- /dev/null
+++ b/protocol/proto/EvtCombatSteerMotionInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtCombatSteerMotionInfo {
+ Vector pos = 12;
+ Vector velocity = 10;
+ uint32 entity_id = 4;
+ Vector face_dir = 1;
+}
diff --git a/protocol/proto/EvtCompensatePosDiffInfo.proto b/protocol/proto/EvtCompensatePosDiffInfo.proto
new file mode 100644
index 00000000..5b5bad4f
--- /dev/null
+++ b/protocol/proto/EvtCompensatePosDiffInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtCompensatePosDiffInfo {
+ Vector cur_pos = 14;
+ uint32 entity_id = 11;
+ int32 face_angle_compact = 10;
+ uint32 cur_hash = 4;
+ uint32 normalized_time_compact = 3;
+}
diff --git a/protocol/proto/EvtCostStaminaNotify.proto b/protocol/proto/EvtCostStaminaNotify.proto
new file mode 100644
index 00000000..cc3c612b
--- /dev/null
+++ b/protocol/proto/EvtCostStaminaNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 373
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtCostStaminaNotify {
+ uint32 skill_id = 6;
+ float cost_stamina = 11;
+}
diff --git a/protocol/proto/EvtCreateGadgetNotify.proto b/protocol/proto/EvtCreateGadgetNotify.proto
new file mode 100644
index 00000000..94b352b5
--- /dev/null
+++ b/protocol/proto/EvtCreateGadgetNotify.proto
@@ -0,0 +1,49 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 307
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtCreateGadgetNotify {
+ bool is_async_load = 8;
+ uint32 camp_type = 5;
+ bool sight_group_with_owner = 10;
+ repeated uint32 target_entity_id_list = 889;
+ ForwardType forward_type = 12;
+ uint32 entity_id = 2;
+ uint32 target_entity_id = 3;
+ uint32 camp_id = 15;
+ uint64 guid = 6;
+ Vector init_euler_angles = 13;
+ uint32 target_lock_point_index = 11;
+ repeated uint32 target_lock_point_index_list = 1920;
+ Vector init_pos = 4;
+ uint32 owner_entity_id = 9;
+ uint32 room_id = 7;
+ bool is_peer_id_from_player = 25;
+ uint32 prop_owner_entity_id = 1;
+ bool is_true_life_time_by_owner = 379;
+ uint32 config_id = 14;
+}
diff --git a/protocol/proto/EvtDestroyGadgetNotify.proto b/protocol/proto/EvtDestroyGadgetNotify.proto
new file mode 100644
index 00000000..00f46c06
--- /dev/null
+++ b/protocol/proto/EvtDestroyGadgetNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 321
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtDestroyGadgetNotify {
+ ForwardType forward_type = 5;
+ uint32 entity_id = 3;
+}
diff --git a/protocol/proto/EvtDestroyServerGadgetNotify.proto b/protocol/proto/EvtDestroyServerGadgetNotify.proto
new file mode 100644
index 00000000..b844513e
--- /dev/null
+++ b/protocol/proto/EvtDestroyServerGadgetNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 387
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtDestroyServerGadgetNotify {
+ uint32 entity_id = 7;
+}
diff --git a/protocol/proto/EvtDoSkillSuccNotify.proto b/protocol/proto/EvtDoSkillSuccNotify.proto
new file mode 100644
index 00000000..3219b06b
--- /dev/null
+++ b/protocol/proto/EvtDoSkillSuccNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 335
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtDoSkillSuccNotify {
+ uint32 caster_id = 13;
+ ForwardType forward_type = 10;
+ Vector forward = 15;
+ uint32 skill_id = 7;
+}
diff --git a/protocol/proto/EvtEntityRenderersChangedNotify.proto b/protocol/proto/EvtEntityRenderersChangedNotify.proto
new file mode 100644
index 00000000..57bcee16
--- /dev/null
+++ b/protocol/proto/EvtEntityRenderersChangedNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EntityRendererChangedInfo.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 343
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtEntityRenderersChangedNotify {
+ ForwardType forward_type = 8;
+ bool is_server_cache = 3;
+ EntityRendererChangedInfo renderer_changed_info = 5;
+ uint32 entity_id = 15;
+}
diff --git a/protocol/proto/EvtEntityStartDieEndNotify.proto b/protocol/proto/EvtEntityStartDieEndNotify.proto
new file mode 100644
index 00000000..49271b7c
--- /dev/null
+++ b/protocol/proto/EvtEntityStartDieEndNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 381
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtEntityStartDieEndNotify {
+ bool immediately = 15;
+ uint32 die_state_flag = 12;
+ uint32 entity_id = 8;
+ ForwardType forward_type = 11;
+}
diff --git a/protocol/proto/EvtFaceToDirInfo.proto b/protocol/proto/EvtFaceToDirInfo.proto
new file mode 100644
index 00000000..f6e750ed
--- /dev/null
+++ b/protocol/proto/EvtFaceToDirInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtFaceToDirInfo {
+ uint32 entity_id = 12;
+ Vector face_dir = 14;
+}
diff --git a/protocol/proto/EvtFaceToDirNotify.proto b/protocol/proto/EvtFaceToDirNotify.proto
new file mode 100644
index 00000000..145e6385
--- /dev/null
+++ b/protocol/proto/EvtFaceToDirNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EvtFaceToDirInfo.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 390
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtFaceToDirNotify {
+ ForwardType forward_type = 13;
+ EvtFaceToDirInfo evt_face_to_dir_info = 5;
+}
diff --git a/protocol/proto/EvtFaceToEntityNotify.proto b/protocol/proto/EvtFaceToEntityNotify.proto
new file mode 100644
index 00000000..96555402
--- /dev/null
+++ b/protocol/proto/EvtFaceToEntityNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 303
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtFaceToEntityNotify {
+ uint32 face_entity_id = 5;
+ ForwardType forward_type = 9;
+ uint32 entity_id = 1;
+}
diff --git a/protocol/proto/EvtFixedRushMove.proto b/protocol/proto/EvtFixedRushMove.proto
new file mode 100644
index 00000000..f704e1c1
--- /dev/null
+++ b/protocol/proto/EvtFixedRushMove.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtFixedRushMove {
+ uint32 entity_id = 15;
+ float speed = 3;
+ bool need_set_is_in_air = 7;
+ repeated uint32 animator_state_id_list = 2;
+ Vector target_pos = 9;
+ bool check_animator_state_on_exit_only = 6;
+ string override_collider = 13;
+}
diff --git a/protocol/proto/EvtGrapplingHookMove.proto b/protocol/proto/EvtGrapplingHookMove.proto
new file mode 100644
index 00000000..0392a898
--- /dev/null
+++ b/protocol/proto/EvtGrapplingHookMove.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtGrapplingHookMove {
+ float acceleration = 1;
+ repeated uint32 animator_state_id_list = 2;
+ uint32 entity_id = 3;
+ bool need_set_is_in_air = 13;
+ float speed = 12;
+ float max_speed = 8;
+ bool check_animator_state_on_exit_only = 11;
+ string override_collider = 14;
+ Vector target_pos = 10;
+}
diff --git a/protocol/proto/EvtHittingOtherInfo.proto b/protocol/proto/EvtHittingOtherInfo.proto
new file mode 100644
index 00000000..5434fa2e
--- /dev/null
+++ b/protocol/proto/EvtHittingOtherInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AttackResult.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtHittingOtherInfo {
+ AttackResult attack_result = 2;
+ uint32 peer_id = 8;
+}
diff --git a/protocol/proto/EvtLightCoreMove.proto b/protocol/proto/EvtLightCoreMove.proto
new file mode 100644
index 00000000..ec699bf2
--- /dev/null
+++ b/protocol/proto/EvtLightCoreMove.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtLightCoreMove {
+ Vector target_pos = 15;
+ float acelerate = 11;
+ uint32 entity_id = 5;
+ float max_absorb_time = 10;
+ float speed = 14;
+}
diff --git a/protocol/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto b/protocol/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto
new file mode 100644
index 00000000..13c3c330
--- /dev/null
+++ b/protocol/proto/EvtLocalGadgetOwnerLeaveSceneNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 384
+// EnetChannelId: 0
+// EnetIsReliable: true
+message EvtLocalGadgetOwnerLeaveSceneNotify {
+ uint32 entity_id = 10;
+}
diff --git a/protocol/proto/EvtMonsterDoBlink.proto b/protocol/proto/EvtMonsterDoBlink.proto
new file mode 100644
index 00000000..20035825
--- /dev/null
+++ b/protocol/proto/EvtMonsterDoBlink.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtMonsterDoBlink {
+ Vector target_rot = 3;
+ Vector target_pos = 7;
+ uint32 entity_id = 2;
+}
diff --git a/protocol/proto/EvtMotionInfoDuringSteerAttack.proto b/protocol/proto/EvtMotionInfoDuringSteerAttack.proto
new file mode 100644
index 00000000..3096b2c3
--- /dev/null
+++ b/protocol/proto/EvtMotionInfoDuringSteerAttack.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtMotionInfoDuringSteerAttack {
+ Vector face_dir = 4;
+ Vector velocity = 3;
+ Vector pos = 1;
+ uint32 entity_id = 6;
+}
diff --git a/protocol/proto/EvtRushMoveInfo.proto b/protocol/proto/EvtRushMoveInfo.proto
new file mode 100644
index 00000000..87c03e05
--- /dev/null
+++ b/protocol/proto/EvtRushMoveInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtRushMoveInfo {
+ int32 state_name_hash = 11;
+ Vector rush_to_pos = 9;
+ Vector rush_attack_target_pos = 8;
+ uint32 entity_id = 4;
+ float time_range = 15;
+ Vector velocity = 6;
+ Vector pos = 2;
+ int32 face_angle_compact = 10;
+}
diff --git a/protocol/proto/EvtRushMoveNotify.proto b/protocol/proto/EvtRushMoveNotify.proto
new file mode 100644
index 00000000..c3c2e1ab
--- /dev/null
+++ b/protocol/proto/EvtRushMoveNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EvtRushMoveInfo.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 375
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtRushMoveNotify {
+ ForwardType forward_type = 1;
+ EvtRushMoveInfo evt_rush_move_info = 15;
+}
diff --git a/protocol/proto/EvtSetAttackTargetInfo.proto b/protocol/proto/EvtSetAttackTargetInfo.proto
new file mode 100644
index 00000000..1ba48fd5
--- /dev/null
+++ b/protocol/proto/EvtSetAttackTargetInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtSetAttackTargetInfo {
+ uint32 entity_id = 11;
+ uint32 select_point_index = 6;
+ uint32 attack_target_id = 7;
+}
diff --git a/protocol/proto/EvtSetAttackTargetNotify.proto b/protocol/proto/EvtSetAttackTargetNotify.proto
new file mode 100644
index 00000000..ed562212
--- /dev/null
+++ b/protocol/proto/EvtSetAttackTargetNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EvtSetAttackTargetInfo.proto";
+import "ForwardType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 399
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message EvtSetAttackTargetNotify {
+ ForwardType forward_type = 1;
+ EvtSetAttackTargetInfo evt_set_attack_target_info = 11;
+}
diff --git a/protocol/proto/EvtSyncEntityPositionInfo.proto b/protocol/proto/EvtSyncEntityPositionInfo.proto
new file mode 100644
index 00000000..52d49437
--- /dev/null
+++ b/protocol/proto/EvtSyncEntityPositionInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtSyncEntityPositionInfo {
+ uint32 entity_id = 10;
+ uint32 normalized_time_compact = 13;
+ uint32 state_hash = 8;
+ int32 face_angle_compact = 7;
+ Vector pos = 15;
+}
diff --git a/protocol/proto/EvtSyncSkillAnchorPosition.proto b/protocol/proto/EvtSyncSkillAnchorPosition.proto
new file mode 100644
index 00000000..3d176f57
--- /dev/null
+++ b/protocol/proto/EvtSyncSkillAnchorPosition.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtSyncSkillAnchorPosition {
+ uint32 entity_id = 2;
+ Vector skill_anchor_position = 13;
+}
diff --git a/protocol/proto/EvtSyncTransform.proto b/protocol/proto/EvtSyncTransform.proto
new file mode 100644
index 00000000..eb6dcdd9
--- /dev/null
+++ b/protocol/proto/EvtSyncTransform.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message EvtSyncTransform {
+ uint32 entity_id = 15;
+ Vector entity_pos = 6;
+ Vector entity_rot = 1;
+}
diff --git a/protocol/proto/ExclusiveRuleInfo.proto b/protocol/proto/ExclusiveRuleInfo.proto
new file mode 100644
index 00000000..8ca8f191
--- /dev/null
+++ b/protocol/proto/ExclusiveRuleInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ExclusiveRuleInfo {
+ repeated uint32 object_id_list = 1;
+ uint32 rule_type = 10;
+}
diff --git a/protocol/proto/ExclusiveRuleNotify.proto b/protocol/proto/ExclusiveRuleNotify.proto
new file mode 100644
index 00000000..c0ad75d6
--- /dev/null
+++ b/protocol/proto/ExclusiveRuleNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExclusiveRuleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 101
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExclusiveRuleNotify {
+ repeated ExclusiveRuleInfo rule_info_list = 5;
+}
diff --git a/protocol/proto/ExecuteGadgetLuaReq.proto b/protocol/proto/ExecuteGadgetLuaReq.proto
new file mode 100644
index 00000000..df1a87be
--- /dev/null
+++ b/protocol/proto/ExecuteGadgetLuaReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 269
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ExecuteGadgetLuaReq {
+ uint32 source_entity_id = 12;
+ int32 param3 = 1;
+ int32 param1 = 5;
+ int32 param2 = 14;
+}
diff --git a/protocol/proto/ExecuteGadgetLuaRsp.proto b/protocol/proto/ExecuteGadgetLuaRsp.proto
new file mode 100644
index 00000000..2bc2eff7
--- /dev/null
+++ b/protocol/proto/ExecuteGadgetLuaRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 210
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExecuteGadgetLuaRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/ExecuteGroupTriggerReq.proto b/protocol/proto/ExecuteGroupTriggerReq.proto
new file mode 100644
index 00000000..971394ba
--- /dev/null
+++ b/protocol/proto/ExecuteGroupTriggerReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 257
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ExecuteGroupTriggerReq {
+ string source_name = 15;
+ uint32 target_entity_id = 12;
+ int32 param2 = 8;
+ uint32 source_entity_id = 4;
+ int32 param3 = 10;
+ int32 param1 = 9;
+}
diff --git a/protocol/proto/ExecuteGroupTriggerRsp.proto b/protocol/proto/ExecuteGroupTriggerRsp.proto
new file mode 100644
index 00000000..1bf53718
--- /dev/null
+++ b/protocol/proto/ExecuteGroupTriggerRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 300
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExecuteGroupTriggerRsp {
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/ExhibitionDisplayInfo.proto b/protocol/proto/ExhibitionDisplayInfo.proto
new file mode 100644
index 00000000..36e34df8
--- /dev/null
+++ b/protocol/proto/ExhibitionDisplayInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ExhibitionDisplayInfo {
+ uint32 id = 1;
+ uint32 param = 2;
+ uint32 detail_param = 3;
+}
diff --git a/protocol/proto/ExitCustomDungeonTryReq.proto b/protocol/proto/ExitCustomDungeonTryReq.proto
new file mode 100644
index 00000000..f94cb7f0
--- /dev/null
+++ b/protocol/proto/ExitCustomDungeonTryReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6247
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ExitCustomDungeonTryReq {}
diff --git a/protocol/proto/ExitCustomDungeonTryRsp.proto b/protocol/proto/ExitCustomDungeonTryRsp.proto
new file mode 100644
index 00000000..9068ff93
--- /dev/null
+++ b/protocol/proto/ExitCustomDungeonTryRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6237
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExitCustomDungeonTryRsp {
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/ExitFishingReq.proto b/protocol/proto/ExitFishingReq.proto
new file mode 100644
index 00000000..6e0206b2
--- /dev/null
+++ b/protocol/proto/ExitFishingReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5814
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ExitFishingReq {}
diff --git a/protocol/proto/ExitFishingRsp.proto b/protocol/proto/ExitFishingRsp.proto
new file mode 100644
index 00000000..b3d2408d
--- /dev/null
+++ b/protocol/proto/ExitFishingRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5847
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExitFishingRsp {
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/ExitSceneWeatherAreaNotify.proto b/protocol/proto/ExitSceneWeatherAreaNotify.proto
new file mode 100644
index 00000000..ffc2ab53
--- /dev/null
+++ b/protocol/proto/ExitSceneWeatherAreaNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 242
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ExitSceneWeatherAreaNotify {
+ uint32 weather_gadget_id = 2;
+}
diff --git a/protocol/proto/ExitTransPointRegionNotify.proto b/protocol/proto/ExitTransPointRegionNotify.proto
new file mode 100644
index 00000000..08e30093
--- /dev/null
+++ b/protocol/proto/ExitTransPointRegionNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 282
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ExitTransPointRegionNotify {
+ uint32 point_id = 1;
+ uint32 scene_id = 7;
+}
diff --git a/protocol/proto/ExpeditionActivityDetailInfo.proto b/protocol/proto/ExpeditionActivityDetailInfo.proto
new file mode 100644
index 00000000..01b0d6a2
--- /dev/null
+++ b/protocol/proto/ExpeditionActivityDetailInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExpeditionChallengeInfo.proto";
+import "ExpeditionPathInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ExpeditionActivityDetailInfo {
+ uint32 cur_challenge_id = 5;
+ repeated ExpeditionChallengeInfo challenge_info_list = 10;
+ uint32 expedition_count = 2;
+ uint32 content_close_time = 4;
+ bool is_content_closed = 8;
+ repeated ExpeditionPathInfo path_info_list = 15;
+}
diff --git a/protocol/proto/ExpeditionAssistInfo.proto b/protocol/proto/ExpeditionAssistInfo.proto
new file mode 100644
index 00000000..d476bc84
--- /dev/null
+++ b/protocol/proto/ExpeditionAssistInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ExpeditionAssistInfo {
+ string online_id = 14;
+ uint32 assist_time = 1;
+ uint32 costume_id = 6;
+ string target_nick_name = 4;
+ uint32 avatar_id = 12;
+}
diff --git a/protocol/proto/ExpeditionChallengeEnterRegionNotify.proto b/protocol/proto/ExpeditionChallengeEnterRegionNotify.proto
new file mode 100644
index 00000000..3de85664
--- /dev/null
+++ b/protocol/proto/ExpeditionChallengeEnterRegionNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2154
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExpeditionChallengeEnterRegionNotify {
+ uint32 id = 5;
+ bool is_puzzle_finished = 10;
+}
diff --git a/protocol/proto/ExpeditionChallengeFinishedNotify.proto b/protocol/proto/ExpeditionChallengeFinishedNotify.proto
new file mode 100644
index 00000000..a1dd3a2a
--- /dev/null
+++ b/protocol/proto/ExpeditionChallengeFinishedNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2091
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExpeditionChallengeFinishedNotify {
+ uint32 id = 13;
+}
diff --git a/protocol/proto/ExpeditionChallengeInfo.proto b/protocol/proto/ExpeditionChallengeInfo.proto
new file mode 100644
index 00000000..4ece404d
--- /dev/null
+++ b/protocol/proto/ExpeditionChallengeInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ExpeditionChallengeInfo {
+ bool is_finished = 5;
+ uint32 id = 11;
+ uint32 open_time = 9;
+}
diff --git a/protocol/proto/ExpeditionPathInfo.proto b/protocol/proto/ExpeditionPathInfo.proto
new file mode 100644
index 00000000..37691fd6
--- /dev/null
+++ b/protocol/proto/ExpeditionPathInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExpeditionState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ExpeditionPathInfo {
+ uint32 mark_id = 12;
+ uint32 start_time = 9;
+ uint32 assist_avatar_id = 7;
+ float bonus_probability = 4;
+ ExpeditionState state = 15;
+ repeated uint32 avatar_id_list = 2;
+ uint32 assist_costume_id = 5;
+ uint32 path_id = 8;
+ uint32 challenge_id = 11;
+ uint32 assist_uid = 10;
+}
diff --git a/protocol/proto/ExpeditionRecallReq.proto b/protocol/proto/ExpeditionRecallReq.proto
new file mode 100644
index 00000000..4602a53b
--- /dev/null
+++ b/protocol/proto/ExpeditionRecallReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2131
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ExpeditionRecallReq {
+ uint32 path_id = 13;
+}
diff --git a/protocol/proto/ExpeditionRecallRsp.proto b/protocol/proto/ExpeditionRecallRsp.proto
new file mode 100644
index 00000000..b192ae92
--- /dev/null
+++ b/protocol/proto/ExpeditionRecallRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2129
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExpeditionRecallRsp {
+ uint32 path_id = 1;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/ExpeditionStartReq.proto b/protocol/proto/ExpeditionStartReq.proto
new file mode 100644
index 00000000..fd91d540
--- /dev/null
+++ b/protocol/proto/ExpeditionStartReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2087
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ExpeditionStartReq {
+ repeated uint32 avatar_id_list = 1;
+ uint32 assist_uid = 5;
+ uint32 assist_avatar_id = 8;
+ uint32 path_id = 7;
+}
diff --git a/protocol/proto/ExpeditionStartRsp.proto b/protocol/proto/ExpeditionStartRsp.proto
new file mode 100644
index 00000000..c5272101
--- /dev/null
+++ b/protocol/proto/ExpeditionStartRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2135
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExpeditionStartRsp {
+ uint32 assist_uid = 1;
+ uint32 path_id = 7;
+ repeated uint32 avatar_id_list = 4;
+ int32 retcode = 12;
+ uint32 assist_avatar_id = 2;
+}
diff --git a/protocol/proto/ExpeditionState.proto b/protocol/proto/ExpeditionState.proto
new file mode 100644
index 00000000..ea1fffee
--- /dev/null
+++ b/protocol/proto/ExpeditionState.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ExpeditionState {
+ EXPEDITION_STATE_NONE = 0;
+ EXPEDITION_STATE_STARTED = 1;
+ EXPEDITION_STATE_FINISHED = 2;
+ EXPEDITION_STATE_REWARDED = 3;
+ EXPEDITION_STATE_LOCKED = 4;
+}
diff --git a/protocol/proto/ExpeditionTakeRewardReq.proto b/protocol/proto/ExpeditionTakeRewardReq.proto
new file mode 100644
index 00000000..dd0b2cd5
--- /dev/null
+++ b/protocol/proto/ExpeditionTakeRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2149
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ExpeditionTakeRewardReq {
+ uint32 path_id = 3;
+}
diff --git a/protocol/proto/ExpeditionTakeRewardRsp.proto b/protocol/proto/ExpeditionTakeRewardRsp.proto
new file mode 100644
index 00000000..fe404481
--- /dev/null
+++ b/protocol/proto/ExpeditionTakeRewardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2080
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ExpeditionTakeRewardRsp {
+ int32 retcode = 13;
+ bool is_bonus = 11;
+ uint32 reward_level = 1;
+ uint32 path_id = 9;
+}
diff --git a/protocol/proto/FallPlayerBrief.proto b/protocol/proto/FallPlayerBrief.proto
new file mode 100644
index 00000000..b8a6de92
--- /dev/null
+++ b/protocol/proto/FallPlayerBrief.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FallPlayerBrief {
+ uint32 uid = 13;
+ bool is_ground = 5;
+ uint32 score = 10;
+}
diff --git a/protocol/proto/FallPlayerInfo.proto b/protocol/proto/FallPlayerInfo.proto
new file mode 100644
index 00000000..18c0af6c
--- /dev/null
+++ b/protocol/proto/FallPlayerInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FallPlayerInfo {
+ uint32 time_cost = 11;
+ uint32 uid = 9;
+ map ball_catch_count_map = 6;
+ uint32 cur_score = 7;
+ bool is_ground = 15;
+}
diff --git a/protocol/proto/FallSettleInfo.proto b/protocol/proto/FallSettleInfo.proto
new file mode 100644
index 00000000..28d3d6cc
--- /dev/null
+++ b/protocol/proto/FallSettleInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FallSettleInfo {
+ uint32 catch_count = 15;
+ OnlinePlayerInfo player_info = 13;
+ uint32 uid = 14;
+ map flower_ring_catch_count_map = 3;
+ uint32 remain_time = 10;
+ uint32 final_score = 1;
+}
diff --git a/protocol/proto/FeatureBlockInfo.proto b/protocol/proto/FeatureBlockInfo.proto
new file mode 100644
index 00000000..d382fedb
--- /dev/null
+++ b/protocol/proto/FeatureBlockInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FeatureBlockInfo {
+ uint32 feature_type = 1;
+ uint32 end_time = 2;
+}
diff --git a/protocol/proto/FetterData.proto b/protocol/proto/FetterData.proto
new file mode 100644
index 00000000..40ac7aa7
--- /dev/null
+++ b/protocol/proto/FetterData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FetterData {
+ uint32 fetter_id = 1;
+ uint32 fetter_state = 2;
+ repeated uint32 cond_index_list = 3;
+}
diff --git a/protocol/proto/FightPropPair.proto b/protocol/proto/FightPropPair.proto
new file mode 100644
index 00000000..b3c62258
--- /dev/null
+++ b/protocol/proto/FightPropPair.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FightPropPair {
+ uint32 prop_type = 1;
+ float prop_value = 2;
+}
diff --git a/protocol/proto/FindHilichurlAcceptQuestNotify.proto b/protocol/proto/FindHilichurlAcceptQuestNotify.proto
new file mode 100644
index 00000000..96c31c5c
--- /dev/null
+++ b/protocol/proto/FindHilichurlAcceptQuestNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8659
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FindHilichurlAcceptQuestNotify {}
diff --git a/protocol/proto/FindHilichurlDayContentInfo.proto b/protocol/proto/FindHilichurlDayContentInfo.proto
new file mode 100644
index 00000000..70877b5f
--- /dev/null
+++ b/protocol/proto/FindHilichurlDayContentInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FindHilichurlDayContentInfo {
+ uint32 start_time = 1;
+}
diff --git a/protocol/proto/FindHilichurlDetailInfo.proto b/protocol/proto/FindHilichurlDetailInfo.proto
new file mode 100644
index 00000000..1cc6a610
--- /dev/null
+++ b/protocol/proto/FindHilichurlDetailInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FindHilichurlDayContentInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FindHilichurlDetailInfo {
+ repeated FindHilichurlDayContentInfo day_content_info_list = 1;
+ uint32 min_open_player_level = 12;
+ bool is_end_quest_accept = 7;
+ uint32 content_close_time = 6;
+ bool is_content_closed = 9;
+ uint32 player_day_index = 4;
+ uint32 day_index = 15;
+}
diff --git a/protocol/proto/FindHilichurlFinishSecondQuestNotify.proto b/protocol/proto/FindHilichurlFinishSecondQuestNotify.proto
new file mode 100644
index 00000000..b0b99574
--- /dev/null
+++ b/protocol/proto/FindHilichurlFinishSecondQuestNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8901
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FindHilichurlFinishSecondQuestNotify {
+ uint32 day_index = 11;
+}
diff --git a/protocol/proto/FinishDeliveryNotify.proto b/protocol/proto/FinishDeliveryNotify.proto
new file mode 100644
index 00000000..6a4615de
--- /dev/null
+++ b/protocol/proto/FinishDeliveryNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2089
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FinishDeliveryNotify {
+ uint32 finished_quest_index = 1;
+ uint32 schedule_id = 10;
+ uint32 day_index = 12;
+}
diff --git a/protocol/proto/FinishLanternProjectionReq.proto b/protocol/proto/FinishLanternProjectionReq.proto
new file mode 100644
index 00000000..5ddc0cb9
--- /dev/null
+++ b/protocol/proto/FinishLanternProjectionReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8704
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FinishLanternProjectionReq {
+ uint32 finish_time = 3;
+ uint32 level_id = 11;
+}
diff --git a/protocol/proto/FinishLanternProjectionRsp.proto b/protocol/proto/FinishLanternProjectionRsp.proto
new file mode 100644
index 00000000..a3b7447b
--- /dev/null
+++ b/protocol/proto/FinishLanternProjectionRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8713
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FinishLanternProjectionRsp {
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/FinishMainCoopReq.proto b/protocol/proto/FinishMainCoopReq.proto
new file mode 100644
index 00000000..ee62102e
--- /dev/null
+++ b/protocol/proto/FinishMainCoopReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1952
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FinishMainCoopReq {
+ uint32 id = 10;
+ uint32 ending_save_point_id = 1;
+}
diff --git a/protocol/proto/FinishMainCoopRsp.proto b/protocol/proto/FinishMainCoopRsp.proto
new file mode 100644
index 00000000..6dc97626
--- /dev/null
+++ b/protocol/proto/FinishMainCoopRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1981
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FinishMainCoopRsp {
+ uint32 id = 2;
+ uint32 ending_save_point_id = 6;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/FinishedParentQuestNotify.proto b/protocol/proto/FinishedParentQuestNotify.proto
new file mode 100644
index 00000000..409a8d4a
--- /dev/null
+++ b/protocol/proto/FinishedParentQuestNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ParentQuest.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 435
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FinishedParentQuestNotify {
+ repeated ParentQuest parent_quest_list = 2;
+}
diff --git a/protocol/proto/FinishedParentQuestUpdateNotify.proto b/protocol/proto/FinishedParentQuestUpdateNotify.proto
new file mode 100644
index 00000000..4daf6c5c
--- /dev/null
+++ b/protocol/proto/FinishedParentQuestUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ParentQuest.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 407
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FinishedParentQuestUpdateNotify {
+ repeated ParentQuest parent_quest_list = 9;
+}
diff --git a/protocol/proto/FinishedTalkIdListNotify.proto b/protocol/proto/FinishedTalkIdListNotify.proto
new file mode 100644
index 00000000..3b9108d0
--- /dev/null
+++ b/protocol/proto/FinishedTalkIdListNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 573
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FinishedTalkIdListNotify {
+ repeated uint32 finished_talk_id_list = 1;
+}
diff --git a/protocol/proto/FireworksLaunchDataNotify.proto b/protocol/proto/FireworksLaunchDataNotify.proto
new file mode 100644
index 00000000..83c72016
--- /dev/null
+++ b/protocol/proto/FireworksLaunchDataNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FireworksLaunchSchemeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5928
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FireworksLaunchDataNotify {
+ repeated FireworksLaunchSchemeData scheme_data_list = 12;
+ uint32 last_use_scheme_id = 4;
+}
diff --git a/protocol/proto/FireworksLaunchParam.proto b/protocol/proto/FireworksLaunchParam.proto
new file mode 100644
index 00000000..6078f2cf
--- /dev/null
+++ b/protocol/proto/FireworksLaunchParam.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FireworksLaunchParamType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FireworksLaunchParam {
+ int32 value = 5;
+ FireworksLaunchParamType type = 4;
+}
diff --git a/protocol/proto/FireworksLaunchParamType.proto b/protocol/proto/FireworksLaunchParamType.proto
new file mode 100644
index 00000000..1a30d6fd
--- /dev/null
+++ b/protocol/proto/FireworksLaunchParamType.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum FireworksLaunchParamType {
+ FIREWORKS_LAUNCH_PARAM_TYPE_NONE = 0;
+ FIREWORKS_LAUNCH_PARAM_TYPE_REPEAT = 1;
+ FIREWORKS_LAUNCH_PARAM_TYPE_INTEVAL = 2;
+ FIREWORKS_LAUNCH_PARAM_TYPE_DELAY = 3;
+ FIREWORKS_LAUNCH_PARAM_TYPE_ROUND_INTEVAL = 4;
+ FIREWORKS_LAUNCH_PARAM_TYPE_MAX = 5;
+}
diff --git a/protocol/proto/FireworksLaunchSchemeData.proto b/protocol/proto/FireworksLaunchSchemeData.proto
new file mode 100644
index 00000000..2b3fa864
--- /dev/null
+++ b/protocol/proto/FireworksLaunchSchemeData.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FireworksLaunchParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FireworksLaunchSchemeData {
+ uint32 scheme_id = 3;
+ repeated uint32 fireworks_id_list = 2;
+ repeated FireworksLaunchParam launch_param_list = 7;
+}
diff --git a/protocol/proto/FireworksReformData.proto b/protocol/proto/FireworksReformData.proto
new file mode 100644
index 00000000..68a20c9b
--- /dev/null
+++ b/protocol/proto/FireworksReformData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FireworksReformParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FireworksReformData {
+ uint32 id = 13;
+ repeated FireworksReformParam reform_param_list = 10;
+}
diff --git a/protocol/proto/FireworksReformDataNotify.proto b/protocol/proto/FireworksReformDataNotify.proto
new file mode 100644
index 00000000..ae7e8cf2
--- /dev/null
+++ b/protocol/proto/FireworksReformDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FireworksReformData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6033
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FireworksReformDataNotify {
+ repeated FireworksReformData fireworks_reform_data_list = 6;
+}
diff --git a/protocol/proto/FireworksReformParam.proto b/protocol/proto/FireworksReformParam.proto
new file mode 100644
index 00000000..152cf40e
--- /dev/null
+++ b/protocol/proto/FireworksReformParam.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FireworksReformParamType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FireworksReformParam {
+ FireworksReformParamType type = 8;
+ int32 value = 4;
+}
diff --git a/protocol/proto/FireworksReformParamType.proto b/protocol/proto/FireworksReformParamType.proto
new file mode 100644
index 00000000..8f45f543
--- /dev/null
+++ b/protocol/proto/FireworksReformParamType.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum FireworksReformParamType {
+ FIREWORKS_REFORM_PARAM_TYPE_NONE = 0;
+ FIREWORKS_REFORM_PARAM_TYPE_COLOR = 1;
+ FIREWORKS_REFORM_PARAM_TYPE_HEIGHT = 2;
+ FIREWORKS_REFORM_PARAM_TYPE_SIZE = 3;
+ FIREWORKS_REFORM_PARAM_TYPE_DENSITY = 4;
+ FIREWORKS_REFORM_PARAM_TYPE_ROTATION = 5;
+}
diff --git a/protocol/proto/FishAttractNotify.proto b/protocol/proto/FishAttractNotify.proto
new file mode 100644
index 00000000..d50d2895
--- /dev/null
+++ b/protocol/proto/FishAttractNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5837
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishAttractNotify {
+ repeated uint32 fish_id_list = 3;
+ Vector pos = 9;
+ uint32 uid = 2;
+}
diff --git a/protocol/proto/FishBaitGoneNotify.proto b/protocol/proto/FishBaitGoneNotify.proto
new file mode 100644
index 00000000..1a654886
--- /dev/null
+++ b/protocol/proto/FishBaitGoneNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5823
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishBaitGoneNotify {
+ uint32 uid = 8;
+}
diff --git a/protocol/proto/FishBattleBeginReq.proto b/protocol/proto/FishBattleBeginReq.proto
new file mode 100644
index 00000000..df05010a
--- /dev/null
+++ b/protocol/proto/FishBattleBeginReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5820
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FishBattleBeginReq {}
diff --git a/protocol/proto/FishBattleBeginRsp.proto b/protocol/proto/FishBattleBeginRsp.proto
new file mode 100644
index 00000000..3734459f
--- /dev/null
+++ b/protocol/proto/FishBattleBeginRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5845
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishBattleBeginRsp {
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/FishBattleEndReq.proto b/protocol/proto/FishBattleEndReq.proto
new file mode 100644
index 00000000..0feda7f3
--- /dev/null
+++ b/protocol/proto/FishBattleEndReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FishBattleResult.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5841
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FishBattleEndReq {
+ uint32 max_bonus_time = 3;
+ FishBattleResult battle_result = 10;
+ bool is_always_bonus = 11;
+}
diff --git a/protocol/proto/FishBattleEndRsp.proto b/protocol/proto/FishBattleEndRsp.proto
new file mode 100644
index 00000000..68b7b039
--- /dev/null
+++ b/protocol/proto/FishBattleEndRsp.proto
@@ -0,0 +1,43 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FishBattleResult.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5842
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishBattleEndRsp {
+ bool is_got_reward = 10;
+ repeated ItemParam reward_item_list = 11;
+ repeated ItemParam talent_item_list = 13;
+ repeated ItemParam drop_item_list = 9;
+ int32 retcode = 7;
+ FishNoRewardReason no_reward_reason = 14;
+ FishBattleResult battle_result = 6;
+
+ enum FishNoRewardReason {
+ FISH_NO_REWARD_REASON_NONE = 0;
+ FISH_NO_REWARD_REASON_ACTIVITY_LIMIT = 1;
+ FISH_NO_REWARD_REASON_BAG_LIMIT = 2;
+ FISH_NO_REWARD_REASON_POOL_LIMIT = 3;
+ }
+}
diff --git a/protocol/proto/FishBattleResult.proto b/protocol/proto/FishBattleResult.proto
new file mode 100644
index 00000000..24d3e894
--- /dev/null
+++ b/protocol/proto/FishBattleResult.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum FishBattleResult {
+ FISH_BATTLE_RESULT_NONE = 0;
+ FISH_BATTLE_RESULT_SUCC = 1;
+ FISH_BATTLE_RESULT_FAIL = 2;
+ FISH_BATTLE_RESULT_TIMEOUT = 3;
+ FISH_BATTLE_RESULT_CANCEL = 4;
+ FISH_BATTLE_RESULT_EXIT = 5;
+}
diff --git a/protocol/proto/FishBiteReq.proto b/protocol/proto/FishBiteReq.proto
new file mode 100644
index 00000000..c6d2f590
--- /dev/null
+++ b/protocol/proto/FishBiteReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5844
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FishBiteReq {}
diff --git a/protocol/proto/FishBiteRsp.proto b/protocol/proto/FishBiteRsp.proto
new file mode 100644
index 00000000..d787dc50
--- /dev/null
+++ b/protocol/proto/FishBiteRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5849
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishBiteRsp {
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/FishCastRodReq.proto b/protocol/proto/FishCastRodReq.proto
new file mode 100644
index 00000000..9a08b59b
--- /dev/null
+++ b/protocol/proto/FishCastRodReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5802
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FishCastRodReq {
+ uint32 bait_id = 14;
+ uint32 rod_id = 4;
+ uint32 rod_entity_id = 7;
+ Vector pos = 12;
+}
diff --git a/protocol/proto/FishCastRodRsp.proto b/protocol/proto/FishCastRodRsp.proto
new file mode 100644
index 00000000..245834bd
--- /dev/null
+++ b/protocol/proto/FishCastRodRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5831
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishCastRodRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/FishChosenNotify.proto b/protocol/proto/FishChosenNotify.proto
new file mode 100644
index 00000000..c40b72c2
--- /dev/null
+++ b/protocol/proto/FishChosenNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5829
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishChosenNotify {
+ uint32 fish_id = 12;
+}
diff --git a/protocol/proto/FishEscapeNotify.proto b/protocol/proto/FishEscapeNotify.proto
new file mode 100644
index 00000000..54410b83
--- /dev/null
+++ b/protocol/proto/FishEscapeNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FishEscapeReason.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5822
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishEscapeNotify {
+ FishEscapeReason reason = 4;
+ Vector pos = 7;
+ uint32 uid = 14;
+ repeated uint32 fish_id_list = 6;
+}
diff --git a/protocol/proto/FishEscapeReason.proto b/protocol/proto/FishEscapeReason.proto
new file mode 100644
index 00000000..215014da
--- /dev/null
+++ b/protocol/proto/FishEscapeReason.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum FishEscapeReason {
+ FISH_ESCAPE_REASON_FISN_ESCAPE_NONE = 0;
+ FISH_ESCAPE_REASON_SHOCKED = 1;
+ FISH_ESCAPE_REASON_UNHOOK = 2;
+}
diff --git a/protocol/proto/FishInfo.proto b/protocol/proto/FishInfo.proto
new file mode 100644
index 00000000..aade0a4b
--- /dev/null
+++ b/protocol/proto/FishInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FishInfo {
+ uint32 free_count = 11;
+ uint32 into_bag_count = 12;
+}
diff --git a/protocol/proto/FishPoolDataNotify.proto b/protocol/proto/FishPoolDataNotify.proto
new file mode 100644
index 00000000..db99c533
--- /dev/null
+++ b/protocol/proto/FishPoolDataNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5848
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishPoolDataNotify {
+ uint32 entity_id = 6;
+ uint32 today_fish_num = 2;
+}
diff --git a/protocol/proto/FishPoolInfo.proto b/protocol/proto/FishPoolInfo.proto
new file mode 100644
index 00000000..6052e951
--- /dev/null
+++ b/protocol/proto/FishPoolInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FishPoolInfo {
+ uint32 pool_id = 1;
+ repeated uint32 fish_area_list = 2;
+ uint32 today_fish_num = 3;
+}
diff --git a/protocol/proto/FishingGallerySettleInfo.proto b/protocol/proto/FishingGallerySettleInfo.proto
new file mode 100644
index 00000000..dbf28db9
--- /dev/null
+++ b/protocol/proto/FishingGallerySettleInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FishInfo.proto";
+import "FishingScore.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FishingGallerySettleInfo {
+ map fish_map = 11;
+ repeated FishingScore fishing_score_list = 15;
+}
diff --git a/protocol/proto/FishingGallerySettleNotify.proto b/protocol/proto/FishingGallerySettleNotify.proto
new file mode 100644
index 00000000..31cb84f6
--- /dev/null
+++ b/protocol/proto/FishingGallerySettleNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FishingGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8780
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FishingGallerySettleNotify {
+ uint32 gallery_id = 6;
+ uint32 level_id = 15;
+ FishingGallerySettleInfo settle_info = 13;
+}
diff --git a/protocol/proto/FishingScore.proto b/protocol/proto/FishingScore.proto
new file mode 100644
index 00000000..5a77adf6
--- /dev/null
+++ b/protocol/proto/FishingScore.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FishingScore {
+ uint32 fishing_score = 2;
+ bool is_new_record = 4;
+}
diff --git a/protocol/proto/FishtankFishInfo.proto b/protocol/proto/FishtankFishInfo.proto
new file mode 100644
index 00000000..e714255b
--- /dev/null
+++ b/protocol/proto/FishtankFishInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FishtankFishInfo {
+ float fish_distance_from_water = 1;
+ float fish_scale = 2;
+ float initial_rotation_y = 3;
+}
diff --git a/protocol/proto/FleurFairActivityDetailInfo.proto b/protocol/proto/FleurFairActivityDetailInfo.proto
new file mode 100644
index 00000000..ae6ce1e4
--- /dev/null
+++ b/protocol/proto/FleurFairActivityDetailInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FleurFairChapterInfo.proto";
+import "FleurFairDungeonSectionInfo.proto";
+import "FleurFairMinigameInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairActivityDetailInfo {
+ bool is_content_closed = 4;
+ uint32 dungeon_punish_over_time = 6;
+ uint32 content_close_time = 15;
+ uint32 obtained_token = 13;
+ repeated FleurFairChapterInfo chapter_info_list = 14;
+ map minigame_info_map = 9;
+ map dungeon_section_info_map = 3;
+ bool is_dungeon_unlocked = 11;
+}
diff --git a/protocol/proto/FleurFairBalloonInfo.proto b/protocol/proto/FleurFairBalloonInfo.proto
new file mode 100644
index 00000000..b97b520b
--- /dev/null
+++ b/protocol/proto/FleurFairBalloonInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairBalloonInfo {
+ uint32 best_score = 4;
+}
diff --git a/protocol/proto/FleurFairBalloonSettleInfo.proto b/protocol/proto/FleurFairBalloonSettleInfo.proto
new file mode 100644
index 00000000..242142d1
--- /dev/null
+++ b/protocol/proto/FleurFairBalloonSettleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BalloonSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairBalloonSettleInfo {
+ BalloonSettleInfo settle_info = 10;
+ bool is_new_record = 7;
+}
diff --git a/protocol/proto/FleurFairBalloonSettleNotify.proto b/protocol/proto/FleurFairBalloonSettleNotify.proto
new file mode 100644
index 00000000..0abc2658
--- /dev/null
+++ b/protocol/proto/FleurFairBalloonSettleNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FleurFairBalloonSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2099
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FleurFairBalloonSettleNotify {
+ uint32 minigame_id = 9;
+ map settle_info_map = 15;
+}
diff --git a/protocol/proto/FleurFairBossSettleInfo.proto b/protocol/proto/FleurFairBossSettleInfo.proto
new file mode 100644
index 00000000..07eeae43
--- /dev/null
+++ b/protocol/proto/FleurFairBossSettleInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FleurFairPlayerStatInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairBossSettleInfo {
+ uint32 reward_token_num = 15;
+ repeated FleurFairPlayerStatInfo stat_info_list = 1;
+ bool is_success = 10;
+ uint32 energy = 12;
+ uint32 cost_time = 8;
+}
diff --git a/protocol/proto/FleurFairBuffEnergyNotify.proto b/protocol/proto/FleurFairBuffEnergyNotify.proto
new file mode 100644
index 00000000..bd790cad
--- /dev/null
+++ b/protocol/proto/FleurFairBuffEnergyNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5324
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FleurFairBuffEnergyNotify {
+ uint32 energy = 4;
+}
diff --git a/protocol/proto/FleurFairChapterInfo.proto b/protocol/proto/FleurFairChapterInfo.proto
new file mode 100644
index 00000000..7f8502c9
--- /dev/null
+++ b/protocol/proto/FleurFairChapterInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairChapterInfo {
+ uint32 open_time = 15;
+ uint32 chapter_id = 11;
+}
diff --git a/protocol/proto/FleurFairDungeonSectionInfo.proto b/protocol/proto/FleurFairDungeonSectionInfo.proto
new file mode 100644
index 00000000..a9d06855
--- /dev/null
+++ b/protocol/proto/FleurFairDungeonSectionInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairDungeonSectionInfo {
+ uint32 section_id = 10;
+ uint32 open_time = 13;
+ bool is_open = 1;
+}
diff --git a/protocol/proto/FleurFairFallInfo.proto b/protocol/proto/FleurFairFallInfo.proto
new file mode 100644
index 00000000..3efec27b
--- /dev/null
+++ b/protocol/proto/FleurFairFallInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairFallInfo {
+ uint32 best_score = 10;
+}
diff --git a/protocol/proto/FleurFairFallSettleInfo.proto b/protocol/proto/FleurFairFallSettleInfo.proto
new file mode 100644
index 00000000..6ff65eb5
--- /dev/null
+++ b/protocol/proto/FleurFairFallSettleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FallSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairFallSettleInfo {
+ FallSettleInfo settle_info = 4;
+ bool is_new_record = 10;
+}
diff --git a/protocol/proto/FleurFairFallSettleNotify.proto b/protocol/proto/FleurFairFallSettleNotify.proto
new file mode 100644
index 00000000..a277dd39
--- /dev/null
+++ b/protocol/proto/FleurFairFallSettleNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FleurFairFallSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2017
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FleurFairFallSettleNotify {
+ uint32 minigame_id = 15;
+ map settle_info_map = 11;
+}
diff --git a/protocol/proto/FleurFairFinishGalleryStageNotify.proto b/protocol/proto/FleurFairFinishGalleryStageNotify.proto
new file mode 100644
index 00000000..ace98a7b
--- /dev/null
+++ b/protocol/proto/FleurFairFinishGalleryStageNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5342
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FleurFairFinishGalleryStageNotify {}
diff --git a/protocol/proto/FleurFairGallerySettleInfo.proto b/protocol/proto/FleurFairGallerySettleInfo.proto
new file mode 100644
index 00000000..4aacb792
--- /dev/null
+++ b/protocol/proto/FleurFairGallerySettleInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairGallerySettleInfo {
+ uint32 energy = 2;
+ uint32 gallery_stage_index = 11;
+ map energy_stat_map = 6;
+ uint32 gallery_stage_count = 9;
+ bool is_success = 1;
+}
diff --git a/protocol/proto/FleurFairMinigameInfo.proto b/protocol/proto/FleurFairMinigameInfo.proto
new file mode 100644
index 00000000..64ce1e70
--- /dev/null
+++ b/protocol/proto/FleurFairMinigameInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FleurFairBalloonInfo.proto";
+import "FleurFairFallInfo.proto";
+import "FleurFairMusicGameInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairMinigameInfo {
+ uint32 minigame_id = 13;
+ bool is_open = 8;
+ uint32 open_time = 15;
+ oneof detail {
+ FleurFairBalloonInfo balloon_info = 12;
+ FleurFairFallInfo fall_info = 11;
+ FleurFairMusicGameInfo music_info = 9;
+ }
+}
diff --git a/protocol/proto/FleurFairMusicGameInfo.proto b/protocol/proto/FleurFairMusicGameInfo.proto
new file mode 100644
index 00000000..d492da8a
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FleurFairMusicRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairMusicGameInfo {
+ map music_record_map = 10;
+}
diff --git a/protocol/proto/FleurFairMusicGameSettleReq.proto b/protocol/proto/FleurFairMusicGameSettleReq.proto
new file mode 100644
index 00000000..537eab5f
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameSettleReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2194
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FleurFairMusicGameSettleReq {
+ uint32 score = 3;
+ uint32 combo = 6;
+ uint32 correct_hit = 10;
+ uint32 music_basic_id = 11;
+}
diff --git a/protocol/proto/FleurFairMusicGameSettleRsp.proto b/protocol/proto/FleurFairMusicGameSettleRsp.proto
new file mode 100644
index 00000000..daf848d7
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameSettleRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2113
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FleurFairMusicGameSettleRsp {
+ bool is_unlock_next_level = 4;
+ bool is_new_record = 12;
+ int32 retcode = 5;
+ uint32 music_basic_id = 9;
+}
diff --git a/protocol/proto/FleurFairMusicGameStartReq.proto b/protocol/proto/FleurFairMusicGameStartReq.proto
new file mode 100644
index 00000000..b13f06ed
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameStartReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2167
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FleurFairMusicGameStartReq {
+ uint32 music_basic_id = 2;
+}
diff --git a/protocol/proto/FleurFairMusicGameStartRsp.proto b/protocol/proto/FleurFairMusicGameStartRsp.proto
new file mode 100644
index 00000000..b4b905ae
--- /dev/null
+++ b/protocol/proto/FleurFairMusicGameStartRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2079
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FleurFairMusicGameStartRsp {
+ int32 retcode = 3;
+ uint32 music_basic_id = 7;
+}
diff --git a/protocol/proto/FleurFairMusicRecord.proto b/protocol/proto/FleurFairMusicRecord.proto
new file mode 100644
index 00000000..8a7c8752
--- /dev/null
+++ b/protocol/proto/FleurFairMusicRecord.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairMusicRecord {
+ uint32 max_combo = 1;
+ uint32 max_score = 11;
+ bool is_unlock = 12;
+}
diff --git a/protocol/proto/FleurFairPlayerStatInfo.proto b/protocol/proto/FleurFairPlayerStatInfo.proto
new file mode 100644
index 00000000..989ed98d
--- /dev/null
+++ b/protocol/proto/FleurFairPlayerStatInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FleurFairPlayerStatInfo {
+ string online_id = 11;
+ uint32 uid = 8;
+ ProfilePicture profile_picture = 1;
+ uint32 stat_id = 3;
+ uint32 head_image = 6;
+ string nick_name = 15;
+ int32 param = 5;
+}
diff --git a/protocol/proto/FleurFairReplayMiniGameReq.proto b/protocol/proto/FleurFairReplayMiniGameReq.proto
new file mode 100644
index 00000000..c76d14c8
--- /dev/null
+++ b/protocol/proto/FleurFairReplayMiniGameReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2181
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FleurFairReplayMiniGameReq {
+ uint32 minigame_id = 5;
+}
diff --git a/protocol/proto/FleurFairReplayMiniGameRsp.proto b/protocol/proto/FleurFairReplayMiniGameRsp.proto
new file mode 100644
index 00000000..6204df1a
--- /dev/null
+++ b/protocol/proto/FleurFairReplayMiniGameRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2052
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FleurFairReplayMiniGameRsp {
+ int32 retcode = 14;
+ uint32 minigame_id = 8;
+}
diff --git a/protocol/proto/FleurFairStageSettleNotify.proto b/protocol/proto/FleurFairStageSettleNotify.proto
new file mode 100644
index 00000000..62fa1fd3
--- /dev/null
+++ b/protocol/proto/FleurFairStageSettleNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FleurFairBossSettleInfo.proto";
+import "FleurFairGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5356
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FleurFairStageSettleNotify {
+ uint32 stage_type = 10;
+ oneof detail {
+ FleurFairGallerySettleInfo gallery_settle_info = 13;
+ FleurFairBossSettleInfo boss_settle_info = 14;
+ }
+}
diff --git a/protocol/proto/FlightActivityDetailInfo.proto b/protocol/proto/FlightActivityDetailInfo.proto
new file mode 100644
index 00000000..0e73f18b
--- /dev/null
+++ b/protocol/proto/FlightActivityDetailInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FlightDailyRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FlightActivityDetailInfo {
+ uint32 preview_reward_id = 15;
+ uint32 min_open_player_level = 11;
+ repeated FlightDailyRecord daily_record_list = 1;
+}
diff --git a/protocol/proto/FlightActivityRestartReq.proto b/protocol/proto/FlightActivityRestartReq.proto
new file mode 100644
index 00000000..560809e0
--- /dev/null
+++ b/protocol/proto/FlightActivityRestartReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2037
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FlightActivityRestartReq {
+ uint32 group_id = 4;
+ uint32 schedule_id = 10;
+}
diff --git a/protocol/proto/FlightActivityRestartRsp.proto b/protocol/proto/FlightActivityRestartRsp.proto
new file mode 100644
index 00000000..48bf8a28
--- /dev/null
+++ b/protocol/proto/FlightActivityRestartRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2165
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FlightActivityRestartRsp {
+ uint32 group_id = 11;
+ uint32 schedule_id = 10;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/FlightActivitySettleNotify.proto b/protocol/proto/FlightActivitySettleNotify.proto
new file mode 100644
index 00000000..ece083ad
--- /dev/null
+++ b/protocol/proto/FlightActivitySettleNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2195
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FlightActivitySettleNotify {
+ bool is_new_record = 1;
+ uint32 medal_level = 6;
+ uint32 left_time = 13;
+ uint32 collect_num = 9;
+ uint32 total_num = 5;
+ uint32 group_id = 8;
+ uint32 score = 10;
+ bool is_success = 4;
+}
diff --git a/protocol/proto/FlightDailyRecord.proto b/protocol/proto/FlightDailyRecord.proto
new file mode 100644
index 00000000..b4cab663
--- /dev/null
+++ b/protocol/proto/FlightDailyRecord.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FlightDailyRecord {
+ uint32 group_id = 4;
+ bool is_touched = 1;
+ repeated uint32 watcher_id_list = 11;
+ uint32 best_score = 7;
+ uint32 start_time = 3;
+}
diff --git a/protocol/proto/FocusAvatarReq.proto b/protocol/proto/FocusAvatarReq.proto
new file mode 100644
index 00000000..9bf2a945
--- /dev/null
+++ b/protocol/proto/FocusAvatarReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1654
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FocusAvatarReq {
+ uint64 avatar_guid = 1;
+ bool is_focus = 8;
+}
diff --git a/protocol/proto/FocusAvatarRsp.proto b/protocol/proto/FocusAvatarRsp.proto
new file mode 100644
index 00000000..a15f7490
--- /dev/null
+++ b/protocol/proto/FocusAvatarRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1681
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FocusAvatarRsp {
+ int32 retcode = 5;
+ bool is_focus = 11;
+ uint64 avatar_guid = 4;
+}
diff --git a/protocol/proto/ForceAddPlayerFriendReq.proto b/protocol/proto/ForceAddPlayerFriendReq.proto
new file mode 100644
index 00000000..18f36fe6
--- /dev/null
+++ b/protocol/proto/ForceAddPlayerFriendReq.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4057
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ForceAddPlayerFriendReq {
+ uint32 target_uid = 15;
+}
diff --git a/protocol/proto/ForceAddPlayerFriendRsp.proto b/protocol/proto/ForceAddPlayerFriendRsp.proto
new file mode 100644
index 00000000..cf23e876
--- /dev/null
+++ b/protocol/proto/ForceAddPlayerFriendRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4100
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ForceAddPlayerFriendRsp {
+ int32 retcode = 5;
+ FriendBrief target_friend_brief = 2;
+ uint32 target_uid = 9;
+}
diff --git a/protocol/proto/ForceDragAvatarNotify.proto b/protocol/proto/ForceDragAvatarNotify.proto
new file mode 100644
index 00000000..0d1a2d76
--- /dev/null
+++ b/protocol/proto/ForceDragAvatarNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MotionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3235
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ForceDragAvatarNotify {
+ uint32 scene_time = 3;
+ uint64 delta_time_ms = 1;
+ uint32 entity_id = 2;
+ MotionInfo motion_info = 10;
+ bool is_first_valid = 8;
+ uint64 last_move_time_ms = 12;
+}
diff --git a/protocol/proto/ForceDragBackTransferNotify.proto b/protocol/proto/ForceDragBackTransferNotify.proto
new file mode 100644
index 00000000..d0ef9e1d
--- /dev/null
+++ b/protocol/proto/ForceDragBackTransferNotify.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3145
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ForceDragBackTransferNotify {}
diff --git a/protocol/proto/ForceUpdateInfo.proto b/protocol/proto/ForceUpdateInfo.proto
new file mode 100644
index 00000000..9515262f
--- /dev/null
+++ b/protocol/proto/ForceUpdateInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ForceUpdateInfo {
+ string force_update_url = 1;
+}
diff --git a/protocol/proto/ForgeDataNotify.proto b/protocol/proto/ForgeDataNotify.proto
new file mode 100644
index 00000000..76d791af
--- /dev/null
+++ b/protocol/proto/ForgeDataNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForgeQueueData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 680
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ForgeDataNotify {
+ repeated uint32 forge_id_list = 5;
+ map forge_queue_map = 8;
+ uint32 max_queue_num = 14;
+}
diff --git a/protocol/proto/ForgeFormulaDataNotify.proto b/protocol/proto/ForgeFormulaDataNotify.proto
new file mode 100644
index 00000000..3f6939cd
--- /dev/null
+++ b/protocol/proto/ForgeFormulaDataNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 689
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ForgeFormulaDataNotify {
+ bool is_locked = 15;
+ uint32 forge_id = 13;
+}
diff --git a/protocol/proto/ForgeGetQueueDataReq.proto b/protocol/proto/ForgeGetQueueDataReq.proto
new file mode 100644
index 00000000..0587d4c7
--- /dev/null
+++ b/protocol/proto/ForgeGetQueueDataReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 646
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ForgeGetQueueDataReq {}
diff --git a/protocol/proto/ForgeGetQueueDataRsp.proto b/protocol/proto/ForgeGetQueueDataRsp.proto
new file mode 100644
index 00000000..50825c96
--- /dev/null
+++ b/protocol/proto/ForgeGetQueueDataRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForgeQueueData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 641
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ForgeGetQueueDataRsp {
+ map forge_queue_map = 2;
+ int32 retcode = 15;
+ uint32 max_queue_num = 6;
+}
diff --git a/protocol/proto/ForgeQueueData.proto b/protocol/proto/ForgeQueueData.proto
new file mode 100644
index 00000000..073b82eb
--- /dev/null
+++ b/protocol/proto/ForgeQueueData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ForgeQueueData {
+ uint32 finish_count = 13;
+ uint32 total_finish_timestamp = 14;
+ uint32 avatar_id = 7;
+ uint32 queue_id = 1;
+ uint32 unfinish_count = 10;
+ uint32 next_finish_timestamp = 11;
+ uint32 forge_id = 15;
+}
diff --git a/protocol/proto/ForgeQueueDataNotify.proto b/protocol/proto/ForgeQueueDataNotify.proto
new file mode 100644
index 00000000..a20420ec
--- /dev/null
+++ b/protocol/proto/ForgeQueueDataNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForgeQueueData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 676
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ForgeQueueDataNotify {
+ map forge_queue_map = 7;
+ repeated uint32 removed_forge_queue_list = 6;
+}
diff --git a/protocol/proto/ForgeQueueManipulateReq.proto b/protocol/proto/ForgeQueueManipulateReq.proto
new file mode 100644
index 00000000..cb85832a
--- /dev/null
+++ b/protocol/proto/ForgeQueueManipulateReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForgeQueueManipulateType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 624
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ForgeQueueManipulateReq {
+ uint32 forge_queue_id = 5;
+ ForgeQueueManipulateType manipulate_type = 13;
+}
diff --git a/protocol/proto/ForgeQueueManipulateRsp.proto b/protocol/proto/ForgeQueueManipulateRsp.proto
new file mode 100644
index 00000000..8c147318
--- /dev/null
+++ b/protocol/proto/ForgeQueueManipulateRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForgeQueueManipulateType.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 656
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ForgeQueueManipulateRsp {
+ ForgeQueueManipulateType manipulate_type = 4;
+ repeated ItemParam extra_output_item_list = 13;
+ repeated ItemParam return_item_list = 10;
+ int32 retcode = 1;
+ repeated ItemParam output_item_list = 9;
+}
diff --git a/protocol/proto/ForgeQueueManipulateType.proto b/protocol/proto/ForgeQueueManipulateType.proto
new file mode 100644
index 00000000..fc2f8a18
--- /dev/null
+++ b/protocol/proto/ForgeQueueManipulateType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ForgeQueueManipulateType {
+ FORGE_QUEUE_MANIPULATE_TYPE_RECEIVE_OUTPUT = 0;
+ FORGE_QUEUE_MANIPULATE_TYPE_STOP_FORGE = 1;
+}
diff --git a/protocol/proto/ForgeStartReq.proto b/protocol/proto/ForgeStartReq.proto
new file mode 100644
index 00000000..f6696755
--- /dev/null
+++ b/protocol/proto/ForgeStartReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 649
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ForgeStartReq {
+ uint32 avatar_id = 7;
+ uint32 forge_id = 4;
+ uint32 forge_count = 6;
+}
diff --git a/protocol/proto/ForgeStartRsp.proto b/protocol/proto/ForgeStartRsp.proto
new file mode 100644
index 00000000..c73ef7b7
--- /dev/null
+++ b/protocol/proto/ForgeStartRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 691
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ForgeStartRsp {
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/ForwardType.proto b/protocol/proto/ForwardType.proto
new file mode 100644
index 00000000..9ca967e4
--- /dev/null
+++ b/protocol/proto/ForwardType.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ForwardType {
+ FORWARD_TYPE_LOCAL = 0;
+ FORWARD_TYPE_TO_ALL = 1;
+ FORWARD_TYPE_TO_ALL_EXCEPT_CUR = 2;
+ FORWARD_TYPE_TO_HOST = 3;
+ FORWARD_TYPE_TO_ALL_GUEST = 4;
+ FORWARD_TYPE_TO_PEER = 5;
+ FORWARD_TYPE_TO_PEERS = 6;
+ FORWARD_TYPE_ONLY_SERVER = 7;
+ FORWARD_TYPE_TO_ALL_EXIST_EXCEPT_CUR = 8;
+}
diff --git a/protocol/proto/FoundationInfo.proto b/protocol/proto/FoundationInfo.proto
new file mode 100644
index 00000000..dabbd147
--- /dev/null
+++ b/protocol/proto/FoundationInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FoundationStatus.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FoundationInfo {
+ FoundationStatus status = 1;
+ repeated uint32 uid_list = 2;
+ uint32 current_building_id = 3;
+ uint32 begin_build_time_ms = 4;
+}
diff --git a/protocol/proto/FoundationNotify.proto b/protocol/proto/FoundationNotify.proto
new file mode 100644
index 00000000..e2d2c879
--- /dev/null
+++ b/protocol/proto/FoundationNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FoundationInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 847
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FoundationNotify {
+ FoundationInfo info = 7;
+ uint32 gadget_entity_id = 9;
+}
diff --git a/protocol/proto/FoundationOpType.proto b/protocol/proto/FoundationOpType.proto
new file mode 100644
index 00000000..e28a3f20
--- /dev/null
+++ b/protocol/proto/FoundationOpType.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum FoundationOpType {
+ FOUNDATION_OP_TYPE_NONE = 0;
+ FOUNDATION_OP_TYPE_BUILD = 1;
+ FOUNDATION_OP_TYPE_DEMOLITION = 2;
+ FOUNDATION_OP_TYPE_REBUILD = 3;
+ FOUNDATION_OP_TYPE_ROTATE = 4;
+ FOUNDATION_OP_TYPE_LOCK = 5;
+ FOUNDATION_OP_TYPE_UNLOCK = 6;
+}
diff --git a/protocol/proto/FoundationReq.proto b/protocol/proto/FoundationReq.proto
new file mode 100644
index 00000000..9ef0639e
--- /dev/null
+++ b/protocol/proto/FoundationReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FoundationOpType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 805
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FoundationReq {
+ uint32 gadget_entity_id = 14;
+ uint32 point_config_id = 12;
+ uint32 building_id = 13;
+ FoundationOpType op_type = 10;
+}
diff --git a/protocol/proto/FoundationRsp.proto b/protocol/proto/FoundationRsp.proto
new file mode 100644
index 00000000..aeda6e71
--- /dev/null
+++ b/protocol/proto/FoundationRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FoundationOpType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 882
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FoundationRsp {
+ FoundationOpType op_type = 13;
+ uint32 gadget_entity_id = 10;
+ uint32 building_id = 11;
+ uint32 point_config_id = 12;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/FoundationStatus.proto b/protocol/proto/FoundationStatus.proto
new file mode 100644
index 00000000..09d8dcc4
--- /dev/null
+++ b/protocol/proto/FoundationStatus.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum FoundationStatus {
+ FOUNDATION_STATUS_NONE = 0;
+ FOUNDATION_STATUS_INIT = 1;
+ FOUNDATION_STATUS_BUILDING = 2;
+ FOUNDATION_STATUS_BUILT = 3;
+}
diff --git a/protocol/proto/FriendBrief.proto b/protocol/proto/FriendBrief.proto
new file mode 100644
index 00000000..2c360e63
--- /dev/null
+++ b/protocol/proto/FriendBrief.proto
@@ -0,0 +1,51 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendEnterHomeOption.proto";
+import "FriendOnlineState.proto";
+import "PlatformType.proto";
+import "ProfilePicture.proto";
+import "SocialShowAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FriendBrief {
+ uint32 uid = 1;
+ string nickname = 2;
+ uint32 level = 3;
+ uint32 avatar_id = 4;
+ uint32 world_level = 5;
+ string signature = 6;
+ FriendOnlineState online_state = 7;
+ uint32 param = 8;
+ bool is_mp_mode_available = 10;
+ string online_id = 11;
+ uint32 last_active_time = 12;
+ uint32 name_card_id = 13;
+ uint32 mp_player_num = 14;
+ bool is_chat_no_disturb = 15;
+ uint32 chat_sequence = 16;
+ string remark_name = 17;
+ repeated SocialShowAvatarInfo show_avatar_info_list = 22;
+ FriendEnterHomeOption friend_enter_home_option = 23;
+ ProfilePicture profile_picture = 24;
+ bool is_game_source = 25;
+ bool is_psn_source = 26;
+ PlatformType platform_type = 27;
+}
diff --git a/protocol/proto/FriendEnterHomeOption.proto b/protocol/proto/FriendEnterHomeOption.proto
new file mode 100644
index 00000000..c146c1dc
--- /dev/null
+++ b/protocol/proto/FriendEnterHomeOption.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum FriendEnterHomeOption {
+ FRIEND_ENTER_HOME_OPTION_NEED_CONFIRM = 0;
+ FRIEND_ENTER_HOME_OPTION_REFUSE = 1;
+ FRIEND_ENTER_HOME_OPTION_DIRECT = 2;
+}
diff --git a/protocol/proto/FriendInfoChangeNotify.proto b/protocol/proto/FriendInfoChangeNotify.proto
new file mode 100644
index 00000000..f4d6ebdb
--- /dev/null
+++ b/protocol/proto/FriendInfoChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4032
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FriendInfoChangeNotify {
+ uint32 uid = 1;
+ string online_id = 9;
+}
diff --git a/protocol/proto/FriendOnlineState.proto b/protocol/proto/FriendOnlineState.proto
new file mode 100644
index 00000000..d9b67768
--- /dev/null
+++ b/protocol/proto/FriendOnlineState.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum FriendOnlineState {
+ FRIEND_ONLINE_STATE_FREIEND_DISCONNECT = 0;
+ FRIEND_ONLINE_STATE_ONLINE = 1;
+}
diff --git a/protocol/proto/FungusCaptureSettleNotify.proto b/protocol/proto/FungusCaptureSettleNotify.proto
new file mode 100644
index 00000000..3639eea4
--- /dev/null
+++ b/protocol/proto/FungusCaptureSettleNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5506
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusCaptureSettleNotify {
+ bool is_success = 2;
+}
diff --git a/protocol/proto/FungusCultivateReq.proto b/protocol/proto/FungusCultivateReq.proto
new file mode 100644
index 00000000..1e987a67
--- /dev/null
+++ b/protocol/proto/FungusCultivateReq.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21749
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FungusCultivateReq {
+ uint32 cultivate_id = 8;
+ uint32 copy_step = 7;
+ uint32 exchange_step = 11;
+ uint32 cultivate_step = 13;
+ uint32 rotate_step = 15;
+ uint32 undo_step = 6;
+ uint32 time = 2;
+ uint32 place_step = 10;
+}
diff --git a/protocol/proto/FungusCultivateRsp.proto b/protocol/proto/FungusCultivateRsp.proto
new file mode 100644
index 00000000..cdce755e
--- /dev/null
+++ b/protocol/proto/FungusCultivateRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23532
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusCultivateRsp {
+ uint32 cultivate_id = 4;
+ bool is_new_record = 13;
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/FungusDetail.proto b/protocol/proto/FungusDetail.proto
new file mode 100644
index 00000000..d249491f
--- /dev/null
+++ b/protocol/proto/FungusDetail.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FungusDetail {
+ bool is_cultivate = 5;
+ uint32 capture_order = 6;
+ uint32 name_id = 14;
+ uint32 min_cultivate_step = 1;
+ uint32 fungus_id = 9;
+}
diff --git a/protocol/proto/FungusFighterClearTrainingRuntimeDataReq.proto b/protocol/proto/FungusFighterClearTrainingRuntimeDataReq.proto
new file mode 100644
index 00000000..e7450703
--- /dev/null
+++ b/protocol/proto/FungusFighterClearTrainingRuntimeDataReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24137
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FungusFighterClearTrainingRuntimeDataReq {
+ uint32 dungeon_id = 6;
+}
diff --git a/protocol/proto/FungusFighterClearTrainingRuntimeDataRsp.proto b/protocol/proto/FungusFighterClearTrainingRuntimeDataRsp.proto
new file mode 100644
index 00000000..3acf19c4
--- /dev/null
+++ b/protocol/proto/FungusFighterClearTrainingRuntimeDataRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22991
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusFighterClearTrainingRuntimeDataRsp {
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/FungusFighterDetailInfo.proto b/protocol/proto/FungusFighterDetailInfo.proto
new file mode 100644
index 00000000..ce5ce489
--- /dev/null
+++ b/protocol/proto/FungusFighterDetailInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FungusDetail.proto";
+import "FungusPlotStageDetail.proto";
+import "FungusTrainingDungeonDetail.proto";
+import "FungusTrainingProgressDetail.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FungusFighterDetailInfo {
+ repeated FungusPlotStageDetail plot_stage_detail_list = 6;
+ repeated FungusDetail fungus_detail_list = 4;
+ repeated uint32 unlock_camp_id_list = 12;
+ repeated FungusTrainingProgressDetail training_dungeon_progress_detail_list = 3;
+ repeated FungusTrainingDungeonDetail training_dungeon_detail_list = 15;
+ repeated uint32 finish_camp_id_list = 1;
+ repeated uint32 unlock_cultivate_id_list = 8;
+}
diff --git a/protocol/proto/FungusFighterMonsterDetail.proto b/protocol/proto/FungusFighterMonsterDetail.proto
new file mode 100644
index 00000000..8f39bbbc
--- /dev/null
+++ b/protocol/proto/FungusFighterMonsterDetail.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FungusFighterMonsterDetail {
+ uint32 fungus_id = 2;
+ float cur_hp_percentage = 7;
+ bool is_alive = 9;
+}
diff --git a/protocol/proto/FungusFighterPlotInfoNotify.proto b/protocol/proto/FungusFighterPlotInfoNotify.proto
new file mode 100644
index 00000000..b481a4c1
--- /dev/null
+++ b/protocol/proto/FungusFighterPlotInfoNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22174
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusFighterPlotInfoNotify {
+ repeated uint32 fungus_id_list = 11;
+ uint32 dungeon_id = 4;
+}
diff --git a/protocol/proto/FungusFighterRestartTraningDungeonReq.proto b/protocol/proto/FungusFighterRestartTraningDungeonReq.proto
new file mode 100644
index 00000000..21476537
--- /dev/null
+++ b/protocol/proto/FungusFighterRestartTraningDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23980
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FungusFighterRestartTraningDungeonReq {}
diff --git a/protocol/proto/FungusFighterRestartTraningDungeonRsp.proto b/protocol/proto/FungusFighterRestartTraningDungeonRsp.proto
new file mode 100644
index 00000000..904f98e0
--- /dev/null
+++ b/protocol/proto/FungusFighterRestartTraningDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22890
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusFighterRestartTraningDungeonRsp {
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/FungusFighterRuntimeDataNotify.proto b/protocol/proto/FungusFighterRuntimeDataNotify.proto
new file mode 100644
index 00000000..78246cbd
--- /dev/null
+++ b/protocol/proto/FungusFighterRuntimeDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FungusTrainingProgressDetail.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24674
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusFighterRuntimeDataNotify {
+ FungusTrainingProgressDetail progress_detail = 7;
+}
diff --git a/protocol/proto/FungusFighterTrainingGallerySettleNotify.proto b/protocol/proto/FungusFighterTrainingGallerySettleNotify.proto
new file mode 100644
index 00000000..bbe96067
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingGallerySettleNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23931
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusFighterTrainingGallerySettleNotify {
+ bool is_new_record = 14;
+ uint32 total_used_time = 4;
+ GalleryStopReason reason = 5;
+ uint32 dead_fungus_num = 1;
+ uint32 settle_round = 15;
+ bool is_final_settle = 10;
+ uint32 gadget_life_percentage = 11;
+ uint32 final_score = 9;
+}
diff --git a/protocol/proto/FungusFighterTrainingInfoNotify.proto b/protocol/proto/FungusFighterTrainingInfoNotify.proto
new file mode 100644
index 00000000..4b4b9cad
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingInfoNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5595
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusFighterTrainingInfoNotify {
+ uint32 buff_start_time = 3;
+ uint32 max_skill_count = 7;
+ uint32 max_monster_count = 8;
+ uint32 buff_id = 14;
+ uint32 buff_last_time = 4;
+ uint32 rest_skill_count = 6;
+ uint32 killed_monster_count = 15;
+}
diff --git a/protocol/proto/FungusFighterTrainingSelectFungusReq.proto b/protocol/proto/FungusFighterTrainingSelectFungusReq.proto
new file mode 100644
index 00000000..736d3b07
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingSelectFungusReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23903
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FungusFighterTrainingSelectFungusReq {
+ repeated uint32 backup_fungus_id_list = 11;
+ repeated uint32 fight_fungus_id_list = 7;
+}
diff --git a/protocol/proto/FungusFighterTrainingSelectFungusRsp.proto b/protocol/proto/FungusFighterTrainingSelectFungusRsp.proto
new file mode 100644
index 00000000..c3e81212
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingSelectFungusRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21570
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusFighterTrainingSelectFungusRsp {
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/FungusFighterTrainingSettleInfo.proto b/protocol/proto/FungusFighterTrainingSettleInfo.proto
new file mode 100644
index 00000000..a26a4827
--- /dev/null
+++ b/protocol/proto/FungusFighterTrainingSettleInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FungusFighterTrainingSettleInfo {
+ uint32 used_time = 15;
+ GalleryStopReason reason = 3;
+ string transaction = 1;
+}
diff --git a/protocol/proto/FungusFighterUseBackupFungusReq.proto b/protocol/proto/FungusFighterUseBackupFungusReq.proto
new file mode 100644
index 00000000..374f8c69
--- /dev/null
+++ b/protocol/proto/FungusFighterUseBackupFungusReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21266
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FungusFighterUseBackupFungusReq {
+ repeated uint32 backup_fungus_id_list = 1;
+}
diff --git a/protocol/proto/FungusFighterUseBackupFungusRsp.proto b/protocol/proto/FungusFighterUseBackupFungusRsp.proto
new file mode 100644
index 00000000..f76b5bc0
--- /dev/null
+++ b/protocol/proto/FungusFighterUseBackupFungusRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23428
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusFighterUseBackupFungusRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/FungusPlotStageDetail.proto b/protocol/proto/FungusPlotStageDetail.proto
new file mode 100644
index 00000000..dc5bd10d
--- /dev/null
+++ b/protocol/proto/FungusPlotStageDetail.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FungusPlotStageDetail {
+ bool is_open = 3;
+ uint32 stage_id = 15;
+}
diff --git a/protocol/proto/FungusRenameReq.proto b/protocol/proto/FungusRenameReq.proto
new file mode 100644
index 00000000..4416fb40
--- /dev/null
+++ b/protocol/proto/FungusRenameReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22006
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FungusRenameReq {
+ uint32 name_id = 1;
+ uint32 fungus_id = 11;
+}
diff --git a/protocol/proto/FungusRenameRsp.proto b/protocol/proto/FungusRenameRsp.proto
new file mode 100644
index 00000000..b88eb52a
--- /dev/null
+++ b/protocol/proto/FungusRenameRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20066
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FungusRenameRsp {
+ int32 retcode = 5;
+ uint32 fungus_id = 15;
+ uint32 name_id = 12;
+}
diff --git a/protocol/proto/FungusTrainingDungeonDetail.proto b/protocol/proto/FungusTrainingDungeonDetail.proto
new file mode 100644
index 00000000..86396235
--- /dev/null
+++ b/protocol/proto/FungusTrainingDungeonDetail.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FungusTrainingDungeonDetail {
+ bool is_open = 13;
+ uint32 dungeon_id = 12;
+ uint32 best_score = 9;
+}
diff --git a/protocol/proto/FungusTrainingMonsterPreviewDetail.proto b/protocol/proto/FungusTrainingMonsterPreviewDetail.proto
new file mode 100644
index 00000000..426d4948
--- /dev/null
+++ b/protocol/proto/FungusTrainingMonsterPreviewDetail.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FungusTrainingMonsterPreviewDetail {
+ uint32 monster_id = 8;
+ uint32 level = 10;
+ repeated uint32 affix_list = 7;
+}
diff --git a/protocol/proto/FungusTrainingPoolPreviewDetail.proto b/protocol/proto/FungusTrainingPoolPreviewDetail.proto
new file mode 100644
index 00000000..19d65bdc
--- /dev/null
+++ b/protocol/proto/FungusTrainingPoolPreviewDetail.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FungusTrainingMonsterPreviewDetail.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FungusTrainingPoolPreviewDetail {
+ uint32 pool_id = 8;
+ repeated FungusTrainingMonsterPreviewDetail monster_preview_detail_list = 6;
+}
diff --git a/protocol/proto/FungusTrainingProgressDetail.proto b/protocol/proto/FungusTrainingProgressDetail.proto
new file mode 100644
index 00000000..0bd9dd48
--- /dev/null
+++ b/protocol/proto/FungusTrainingProgressDetail.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FungusFighterMonsterDetail.proto";
+import "FungusTrainingPoolPreviewDetail.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FungusTrainingProgressDetail {
+ uint32 cur_round = 9;
+ uint32 dungeon_id = 10;
+ repeated FungusTrainingPoolPreviewDetail monster_pool_preview_list = 5;
+ repeated FungusFighterMonsterDetail monster_detail_list = 6;
+ uint32 total_used_time = 7;
+ repeated uint32 backup_monster_list = 4;
+ repeated uint32 choosen_monster_list = 8;
+}
diff --git a/protocol/proto/FunitureMakeMakeInfoChangeNotify.proto b/protocol/proto/FunitureMakeMakeInfoChangeNotify.proto
new file mode 100644
index 00000000..9a9f0099
--- /dev/null
+++ b/protocol/proto/FunitureMakeMakeInfoChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FurnitureMakeMakeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4898
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FunitureMakeMakeInfoChangeNotify {
+ FurnitureMakeMakeInfo make_info = 1;
+}
diff --git a/protocol/proto/Furniture.proto b/protocol/proto/Furniture.proto
new file mode 100644
index 00000000..dd22f7b1
--- /dev/null
+++ b/protocol/proto/Furniture.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Furniture {
+ uint32 count = 1;
+}
diff --git a/protocol/proto/FurnitureCurModuleArrangeCountNotify.proto b/protocol/proto/FurnitureCurModuleArrangeCountNotify.proto
new file mode 100644
index 00000000..a5f0b7bf
--- /dev/null
+++ b/protocol/proto/FurnitureCurModuleArrangeCountNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Uint32Pair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4498
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FurnitureCurModuleArrangeCountNotify {
+ repeated Uint32Pair furniture_arrange_count_list = 13;
+}
diff --git a/protocol/proto/FurnitureMakeBeHelpedData.proto b/protocol/proto/FurnitureMakeBeHelpedData.proto
new file mode 100644
index 00000000..c2c0e97c
--- /dev/null
+++ b/protocol/proto/FurnitureMakeBeHelpedData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FurnitureMakeBeHelpedData {
+ fixed32 time = 12;
+ uint32 icon = 11;
+ uint32 uid = 7;
+ string player_name = 10;
+ ProfilePicture profile_picture = 1;
+}
diff --git a/protocol/proto/FurnitureMakeBeHelpedNotify.proto b/protocol/proto/FurnitureMakeBeHelpedNotify.proto
new file mode 100644
index 00000000..742e0884
--- /dev/null
+++ b/protocol/proto/FurnitureMakeBeHelpedNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FurnitureMakeBeHelpedData.proto";
+import "FurnitureMakeSlot.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4578
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FurnitureMakeBeHelpedNotify {
+ FurnitureMakeSlot furniture_make_slot = 7;
+ FurnitureMakeBeHelpedData furniture_make_helped_data = 2;
+}
diff --git a/protocol/proto/FurnitureMakeCancelReq.proto b/protocol/proto/FurnitureMakeCancelReq.proto
new file mode 100644
index 00000000..58bc69bf
--- /dev/null
+++ b/protocol/proto/FurnitureMakeCancelReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4555
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FurnitureMakeCancelReq {
+ uint32 index = 4;
+ uint32 make_id = 15;
+}
diff --git a/protocol/proto/FurnitureMakeCancelRsp.proto b/protocol/proto/FurnitureMakeCancelRsp.proto
new file mode 100644
index 00000000..f0abe1b9
--- /dev/null
+++ b/protocol/proto/FurnitureMakeCancelRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FurnitureMakeSlot.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4683
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FurnitureMakeCancelRsp {
+ int32 retcode = 3;
+ uint32 make_id = 2;
+ FurnitureMakeSlot furniture_make_slot = 15;
+}
diff --git a/protocol/proto/FurnitureMakeData.proto b/protocol/proto/FurnitureMakeData.proto
new file mode 100644
index 00000000..a2c6eeca
--- /dev/null
+++ b/protocol/proto/FurnitureMakeData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FurnitureMakeData {
+ uint32 index = 15;
+ uint32 dur_time = 1;
+ fixed32 begin_time = 11;
+ fixed32 accelerate_time = 6;
+ uint32 avatar_id = 2;
+ uint32 make_id = 5;
+}
diff --git a/protocol/proto/FurnitureMakeFinishNotify.proto b/protocol/proto/FurnitureMakeFinishNotify.proto
new file mode 100644
index 00000000..bdbd055c
--- /dev/null
+++ b/protocol/proto/FurnitureMakeFinishNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4841
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FurnitureMakeFinishNotify {}
diff --git a/protocol/proto/FurnitureMakeHelpData.proto b/protocol/proto/FurnitureMakeHelpData.proto
new file mode 100644
index 00000000..c7160b22
--- /dev/null
+++ b/protocol/proto/FurnitureMakeHelpData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FurnitureMakeHelpData {
+ uint32 times = 2;
+ uint32 uid = 13;
+}
diff --git a/protocol/proto/FurnitureMakeHelpReq.proto b/protocol/proto/FurnitureMakeHelpReq.proto
new file mode 100644
index 00000000..ec9a8379
--- /dev/null
+++ b/protocol/proto/FurnitureMakeHelpReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4865
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FurnitureMakeHelpReq {}
diff --git a/protocol/proto/FurnitureMakeHelpRsp.proto b/protocol/proto/FurnitureMakeHelpRsp.proto
new file mode 100644
index 00000000..eaf31309
--- /dev/null
+++ b/protocol/proto/FurnitureMakeHelpRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FurnitureMakeHelpData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4756
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FurnitureMakeHelpRsp {
+ int32 retcode = 10;
+ repeated FurnitureMakeHelpData help_data_list = 6;
+}
diff --git a/protocol/proto/FurnitureMakeMakeInfo.proto b/protocol/proto/FurnitureMakeMakeInfo.proto
new file mode 100644
index 00000000..6da47591
--- /dev/null
+++ b/protocol/proto/FurnitureMakeMakeInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FurnitureMakeMakeInfo {
+ uint32 furniture_id = 13;
+ uint32 make_count = 9;
+}
diff --git a/protocol/proto/FurnitureMakeReq.proto b/protocol/proto/FurnitureMakeReq.proto
new file mode 100644
index 00000000..83ae5854
--- /dev/null
+++ b/protocol/proto/FurnitureMakeReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4477
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FurnitureMakeReq {}
diff --git a/protocol/proto/FurnitureMakeRsp.proto b/protocol/proto/FurnitureMakeRsp.proto
new file mode 100644
index 00000000..25551e32
--- /dev/null
+++ b/protocol/proto/FurnitureMakeRsp.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FurnitureMakeBeHelpedData.proto";
+import "FurnitureMakeHelpData.proto";
+import "FurnitureMakeMakeInfo.proto";
+import "FurnitureMakeSlot.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4782
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FurnitureMakeRsp {
+ repeated FurnitureMakeBeHelpedData helped_data_list = 13;
+ repeated FurnitureMakeMakeInfo make_info_list = 4;
+ FurnitureMakeSlot furniture_make_slot = 1;
+ int32 retcode = 3;
+ repeated FurnitureMakeHelpData help_data_list = 2;
+}
diff --git a/protocol/proto/FurnitureMakeSlot.proto b/protocol/proto/FurnitureMakeSlot.proto
new file mode 100644
index 00000000..91a30866
--- /dev/null
+++ b/protocol/proto/FurnitureMakeSlot.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FurnitureMakeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message FurnitureMakeSlot {
+ repeated FurnitureMakeData furniture_make_data_list = 14;
+}
diff --git a/protocol/proto/FurnitureMakeStartReq.proto b/protocol/proto/FurnitureMakeStartReq.proto
new file mode 100644
index 00000000..cac4cf7d
--- /dev/null
+++ b/protocol/proto/FurnitureMakeStartReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4633
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message FurnitureMakeStartReq {
+ uint32 avatar_id = 9;
+ uint32 make_id = 1;
+}
diff --git a/protocol/proto/FurnitureMakeStartRsp.proto b/protocol/proto/FurnitureMakeStartRsp.proto
new file mode 100644
index 00000000..46e274e7
--- /dev/null
+++ b/protocol/proto/FurnitureMakeStartRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FurnitureMakeSlot.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4729
+// EnetChannelId: 0
+// EnetIsReliable: true
+message FurnitureMakeStartRsp {
+ FurnitureMakeSlot furniture_make_slot = 5;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/GCGApplyInviteBattleNotify.proto b/protocol/proto/GCGApplyInviteBattleNotify.proto
new file mode 100644
index 00000000..3169b9a4
--- /dev/null
+++ b/protocol/proto/GCGApplyInviteBattleNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7820
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGApplyInviteBattleNotify {
+ bool is_agree = 14;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/GCGApplyInviteBattleReq.proto b/protocol/proto/GCGApplyInviteBattleReq.proto
new file mode 100644
index 00000000..759c7eb8
--- /dev/null
+++ b/protocol/proto/GCGApplyInviteBattleReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7730
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGApplyInviteBattleReq {
+ bool is_agree = 9;
+}
diff --git a/protocol/proto/GCGApplyInviteBattleRsp.proto b/protocol/proto/GCGApplyInviteBattleRsp.proto
new file mode 100644
index 00000000..008f62d5
--- /dev/null
+++ b/protocol/proto/GCGApplyInviteBattleRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7304
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGApplyInviteBattleRsp {
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/GCGAskDuelReq.proto b/protocol/proto/GCGAskDuelReq.proto
new file mode 100644
index 00000000..5bd17c7e
--- /dev/null
+++ b/protocol/proto/GCGAskDuelReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7237
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGAskDuelReq {}
diff --git a/protocol/proto/GCGAskDuelRsp.proto b/protocol/proto/GCGAskDuelRsp.proto
new file mode 100644
index 00000000..44ef39a9
--- /dev/null
+++ b/protocol/proto/GCGAskDuelRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGDuel.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7869
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGAskDuelRsp {
+ int32 retcode = 3;
+ GCGDuel duel = 13;
+}
diff --git a/protocol/proto/GCGAttackCostInfo.proto b/protocol/proto/GCGAttackCostInfo.proto
new file mode 100644
index 00000000..1afe1b6b
--- /dev/null
+++ b/protocol/proto/GCGAttackCostInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGAttackCostInfo {
+ uint32 skill_id = 8;
+ map cost_map = 3;
+}
diff --git a/protocol/proto/GCGBasicDataNotify.proto b/protocol/proto/GCGBasicDataNotify.proto
new file mode 100644
index 00000000..9cc862e6
--- /dev/null
+++ b/protocol/proto/GCGBasicDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7319
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGBasicDataNotify {
+ uint32 level = 9;
+ uint32 exp = 4;
+ repeated uint32 level_reward_taken_list = 12;
+}
diff --git a/protocol/proto/GCGBossChallengeData.proto b/protocol/proto/GCGBossChallengeData.proto
new file mode 100644
index 00000000..aed9c768
--- /dev/null
+++ b/protocol/proto/GCGBossChallengeData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGBossChallengeData {
+ uint32 id = 9;
+ repeated uint32 unlock_level_id_list = 14;
+}
diff --git a/protocol/proto/GCGBossChallengeUpdateNotify.proto b/protocol/proto/GCGBossChallengeUpdateNotify.proto
new file mode 100644
index 00000000..b249a67b
--- /dev/null
+++ b/protocol/proto/GCGBossChallengeUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGBossChallengeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7073
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGBossChallengeUpdateNotify {
+ GCGBossChallengeData boss_challenge = 11;
+}
diff --git a/protocol/proto/GCGCard.proto b/protocol/proto/GCGCard.proto
new file mode 100644
index 00000000..4db5bea3
--- /dev/null
+++ b/protocol/proto/GCGCard.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGToken.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGCard {
+ uint32 guid = 15;
+ repeated GCGToken token_list = 2;
+ bool is_show = 14;
+ uint32 controller_id = 7;
+ uint32 id = 6;
+ repeated uint32 tag_list = 3;
+ uint32 face_type = 5;
+}
diff --git a/protocol/proto/GCGChallengeData.proto b/protocol/proto/GCGChallengeData.proto
new file mode 100644
index 00000000..59c3f0d1
--- /dev/null
+++ b/protocol/proto/GCGChallengeData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGChallengeData {
+ uint32 challenge_id = 1;
+ uint32 challenge_type = 2;
+ repeated uint32 param_list = 3;
+ uint32 progress = 4;
+}
diff --git a/protocol/proto/GCGChallengeUpdateNotify.proto b/protocol/proto/GCGChallengeUpdateNotify.proto
new file mode 100644
index 00000000..68e02c9a
--- /dev/null
+++ b/protocol/proto/GCGChallengeUpdateNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGDuelChallenge.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7268
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGChallengeUpdateNotify {
+ uint32 server_seq = 12;
+ GCGDuelChallenge challenge = 13;
+}
diff --git a/protocol/proto/GCGClientPerformType.proto b/protocol/proto/GCGClientPerformType.proto
new file mode 100644
index 00000000..74c5317d
--- /dev/null
+++ b/protocol/proto/GCGClientPerformType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGClientPerformType {
+ GCG_CLIENT_PERFORM_TYPE_INVALID = 0;
+ GCG_CLIENT_PERFORM_TYPE_CARD_EXCHANGE = 1;
+}
diff --git a/protocol/proto/GCGClientSettleReq.proto b/protocol/proto/GCGClientSettleReq.proto
new file mode 100644
index 00000000..eaacd7e5
--- /dev/null
+++ b/protocol/proto/GCGClientSettleReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7506
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGClientSettleReq {}
diff --git a/protocol/proto/GCGClientSettleRsp.proto b/protocol/proto/GCGClientSettleRsp.proto
new file mode 100644
index 00000000..f5319749
--- /dev/null
+++ b/protocol/proto/GCGClientSettleRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7105
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGClientSettleRsp {
+ uint32 close_time = 4;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/GCGControllerShowInfo.proto b/protocol/proto/GCGControllerShowInfo.proto
new file mode 100644
index 00000000..eccc5182
--- /dev/null
+++ b/protocol/proto/GCGControllerShowInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGControllerShowInfo {
+ ProfilePicture profile_picture = 11;
+ string nick_name = 14;
+ uint32 controller_id = 9;
+}
diff --git a/protocol/proto/GCGCostReviseInfo.proto b/protocol/proto/GCGCostReviseInfo.proto
new file mode 100644
index 00000000..baf9a633
--- /dev/null
+++ b/protocol/proto/GCGCostReviseInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGAttackCostInfo.proto";
+import "GCGPlayCardCostInfo.proto";
+import "GCGSelectOnStageCostInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGCostReviseInfo {
+ bool is_can_attack = 4;
+ repeated uint32 can_use_hand_card_id_list = 11;
+ repeated GCGPlayCardCostInfo play_card_cost_list = 5;
+ repeated GCGSelectOnStageCostInfo select_on_stage_cost_list = 10;
+ repeated GCGAttackCostInfo attack_cost_list = 2;
+}
diff --git a/protocol/proto/GCGDSCardBackUnlockNotify.proto b/protocol/proto/GCGDSCardBackUnlockNotify.proto
new file mode 100644
index 00000000..d586e0c9
--- /dev/null
+++ b/protocol/proto/GCGDSCardBackUnlockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7265
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSCardBackUnlockNotify {
+ uint32 card_back_id = 6;
+}
diff --git a/protocol/proto/GCGDSCardData.proto b/protocol/proto/GCGDSCardData.proto
new file mode 100644
index 00000000..5dd1d0e2
--- /dev/null
+++ b/protocol/proto/GCGDSCardData.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGDSCardData {
+ uint32 card_id = 14;
+ repeated uint32 unlock_face_type_list = 9;
+ uint32 num = 12;
+ uint32 proficiency = 8;
+ uint32 face_type = 6;
+}
diff --git a/protocol/proto/GCGDSCardFaceUnlockNotify.proto b/protocol/proto/GCGDSCardFaceUnlockNotify.proto
new file mode 100644
index 00000000..da7e0759
--- /dev/null
+++ b/protocol/proto/GCGDSCardFaceUnlockNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7049
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSCardFaceUnlockNotify {
+ uint32 card_id = 13;
+ uint32 face_type = 1;
+}
diff --git a/protocol/proto/GCGDSCardNumChangeNotify.proto b/protocol/proto/GCGDSCardNumChangeNotify.proto
new file mode 100644
index 00000000..57ad5cd1
--- /dev/null
+++ b/protocol/proto/GCGDSCardNumChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7358
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSCardNumChangeNotify {
+ uint32 card_id = 4;
+ uint32 num = 10;
+}
diff --git a/protocol/proto/GCGDSCardProficiencyNotify.proto b/protocol/proto/GCGDSCardProficiencyNotify.proto
new file mode 100644
index 00000000..2ae43f4b
--- /dev/null
+++ b/protocol/proto/GCGDSCardProficiencyNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7680
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSCardProficiencyNotify {
+ uint32 proficiency = 2;
+ uint32 card_id = 12;
+}
diff --git a/protocol/proto/GCGDSChangeCardBackReq.proto b/protocol/proto/GCGDSChangeCardBackReq.proto
new file mode 100644
index 00000000..3f839c4d
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCardBackReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7292
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGDSChangeCardBackReq {
+ uint32 deck_id = 10;
+ uint32 card_back_id = 12;
+}
diff --git a/protocol/proto/GCGDSChangeCardBackRsp.proto b/protocol/proto/GCGDSChangeCardBackRsp.proto
new file mode 100644
index 00000000..d33500a6
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCardBackRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7044
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSChangeCardBackRsp {
+ int32 retcode = 15;
+ uint32 card_back_id = 6;
+ uint32 deck_id = 5;
+}
diff --git a/protocol/proto/GCGDSChangeCardFaceReq.proto b/protocol/proto/GCGDSChangeCardFaceReq.proto
new file mode 100644
index 00000000..f024fe50
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCardFaceReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7169
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGDSChangeCardFaceReq {
+ uint32 face_type = 6;
+ uint32 card_id = 3;
+}
diff --git a/protocol/proto/GCGDSChangeCardFaceRsp.proto b/protocol/proto/GCGDSChangeCardFaceRsp.proto
new file mode 100644
index 00000000..3b96a10e
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCardFaceRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7331
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSChangeCardFaceRsp {
+ uint32 face_type = 8;
+ uint32 card_id = 4;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/GCGDSChangeCurDeckReq.proto b/protocol/proto/GCGDSChangeCurDeckReq.proto
new file mode 100644
index 00000000..6eab2072
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCurDeckReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7131
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGDSChangeCurDeckReq {
+ uint32 deck_id = 3;
+}
diff --git a/protocol/proto/GCGDSChangeCurDeckRsp.proto b/protocol/proto/GCGDSChangeCurDeckRsp.proto
new file mode 100644
index 00000000..29bcdb01
--- /dev/null
+++ b/protocol/proto/GCGDSChangeCurDeckRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7301
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSChangeCurDeckRsp {
+ int32 retcode = 8;
+ uint32 deck_id = 14;
+}
diff --git a/protocol/proto/GCGDSChangeDeckNameReq.proto b/protocol/proto/GCGDSChangeDeckNameReq.proto
new file mode 100644
index 00000000..558c9294
--- /dev/null
+++ b/protocol/proto/GCGDSChangeDeckNameReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7432
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGDSChangeDeckNameReq {
+ uint32 deck_id = 13;
+ string name = 7;
+}
diff --git a/protocol/proto/GCGDSChangeDeckNameRsp.proto b/protocol/proto/GCGDSChangeDeckNameRsp.proto
new file mode 100644
index 00000000..61cbfed5
--- /dev/null
+++ b/protocol/proto/GCGDSChangeDeckNameRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7916
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSChangeDeckNameRsp {
+ uint32 deck_id = 13;
+ int32 retcode = 14;
+ string name = 1;
+}
diff --git a/protocol/proto/GCGDSChangeFieldReq.proto b/protocol/proto/GCGDSChangeFieldReq.proto
new file mode 100644
index 00000000..a85ec6b5
--- /dev/null
+++ b/protocol/proto/GCGDSChangeFieldReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7541
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGDSChangeFieldReq {
+ uint32 field_id = 6;
+ uint32 deck_id = 11;
+}
diff --git a/protocol/proto/GCGDSChangeFieldRsp.proto b/protocol/proto/GCGDSChangeFieldRsp.proto
new file mode 100644
index 00000000..0fcc44d4
--- /dev/null
+++ b/protocol/proto/GCGDSChangeFieldRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7444
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSChangeFieldRsp {
+ int32 retcode = 1;
+ uint32 field_id = 3;
+ uint32 deck_id = 2;
+}
diff --git a/protocol/proto/GCGDSCurDeckChangeNotify.proto b/protocol/proto/GCGDSCurDeckChangeNotify.proto
new file mode 100644
index 00000000..d46ce053
--- /dev/null
+++ b/protocol/proto/GCGDSCurDeckChangeNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7796
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSCurDeckChangeNotify {
+ uint32 deck_id = 6;
+}
diff --git a/protocol/proto/GCGDSDataNotify.proto b/protocol/proto/GCGDSDataNotify.proto
new file mode 100644
index 00000000..8b1beb9a
--- /dev/null
+++ b/protocol/proto/GCGDSDataNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGDSCardData.proto";
+import "GCGDSDeckData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7122
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSDataNotify {
+ repeated GCGDSDeckData deck_list = 4;
+ repeated uint32 unlock_card_back_id_list = 5;
+ repeated uint32 unlock_field_id_list = 6;
+ uint32 cur_deck_id = 10;
+ repeated GCGDSCardData card_list = 3;
+ repeated uint32 unlock_deck_id_list = 1;
+}
diff --git a/protocol/proto/GCGDSDeckData.proto b/protocol/proto/GCGDSDeckData.proto
new file mode 100644
index 00000000..6e196a00
--- /dev/null
+++ b/protocol/proto/GCGDSDeckData.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGDSDeckData {
+ repeated uint32 card_list = 1;
+ uint32 card_back_id = 15;
+ repeated uint32 character_card_list = 10;
+ string name = 5;
+ uint32 id = 3;
+ fixed32 create_time = 13;
+ bool is_valid = 4;
+ uint32 field_id = 7;
+}
diff --git a/protocol/proto/GCGDSDeckSaveReq.proto b/protocol/proto/GCGDSDeckSaveReq.proto
new file mode 100644
index 00000000..2ebc51fc
--- /dev/null
+++ b/protocol/proto/GCGDSDeckSaveReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7104
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGDSDeckSaveReq {
+ uint32 deck_id = 1;
+ repeated uint32 card_list = 4;
+ repeated uint32 character_card_list = 9;
+ string name = 14;
+}
diff --git a/protocol/proto/GCGDSDeckSaveRsp.proto b/protocol/proto/GCGDSDeckSaveRsp.proto
new file mode 100644
index 00000000..fd4f8c20
--- /dev/null
+++ b/protocol/proto/GCGDSDeckSaveRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7269
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSDeckSaveRsp {
+ fixed32 create_time = 14;
+ uint32 deck_id = 11;
+ int32 retcode = 8;
+ bool is_valid = 4;
+}
diff --git a/protocol/proto/GCGDSDeckUnlockNotify.proto b/protocol/proto/GCGDSDeckUnlockNotify.proto
new file mode 100644
index 00000000..9aa647d6
--- /dev/null
+++ b/protocol/proto/GCGDSDeckUnlockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7732
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSDeckUnlockNotify {
+ uint32 deck_id = 15;
+}
diff --git a/protocol/proto/GCGDSDeleteDeckReq.proto b/protocol/proto/GCGDSDeleteDeckReq.proto
new file mode 100644
index 00000000..97b131b1
--- /dev/null
+++ b/protocol/proto/GCGDSDeleteDeckReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7988
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGDSDeleteDeckReq {
+ uint32 deck_id = 15;
+}
diff --git a/protocol/proto/GCGDSDeleteDeckRsp.proto b/protocol/proto/GCGDSDeleteDeckRsp.proto
new file mode 100644
index 00000000..21518eb3
--- /dev/null
+++ b/protocol/proto/GCGDSDeleteDeckRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7524
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSDeleteDeckRsp {
+ int32 retcode = 14;
+ uint32 deck_id = 7;
+}
diff --git a/protocol/proto/GCGDSFieldUnlockNotify.proto b/protocol/proto/GCGDSFieldUnlockNotify.proto
new file mode 100644
index 00000000..0d052c65
--- /dev/null
+++ b/protocol/proto/GCGDSFieldUnlockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7333
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGDSFieldUnlockNotify {
+ uint32 field_id = 1;
+}
diff --git a/protocol/proto/GCGDamageDetail.proto b/protocol/proto/GCGDamageDetail.proto
new file mode 100644
index 00000000..0a761851
--- /dev/null
+++ b/protocol/proto/GCGDamageDetail.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGDamageDetail {
+ uint32 skill_id = 10;
+ uint32 card_guid = 7;
+}
diff --git a/protocol/proto/GCGDiceSideType.proto b/protocol/proto/GCGDiceSideType.proto
new file mode 100644
index 00000000..91f26377
--- /dev/null
+++ b/protocol/proto/GCGDiceSideType.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGDiceSideType {
+ GCG_DICE_SIDE_TYPE_INVALID = 0;
+ GCG_DICE_SIDE_TYPE_CRYO = 1;
+ GCG_DICE_SIDE_TYPE_HYDRO = 2;
+ GCG_DICE_SIDE_TYPE_PYRO = 3;
+ GCG_DICE_SIDE_TYPE_ELECTRO = 4;
+ GCG_DICE_SIDE_TYPE_GEO = 5;
+ GCG_DICE_SIDE_TYPE_DENDRO = 6;
+ GCG_DICE_SIDE_TYPE_ANEMO = 7;
+ GCG_DICE_SIDE_TYPE_PAIMON = 8;
+}
diff --git a/protocol/proto/GCGDuel.proto b/protocol/proto/GCGDuel.proto
new file mode 100644
index 00000000..9d1f1437
--- /dev/null
+++ b/protocol/proto/GCGDuel.proto
@@ -0,0 +1,47 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGCard.proto";
+import "GCGControllerShowInfo.proto";
+import "GCGCostReviseInfo.proto";
+import "GCGDuelChallenge.proto";
+import "GCGGameBusinessType.proto";
+import "GCGPVEIntention.proto";
+import "GCGPhase.proto";
+import "GCGPlayerField.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGDuel {
+ uint32 server_seq = 3;
+ repeated GCGPlayerField field_list = 7;
+ GCGGameBusinessType business_type = 14;
+ repeated GCGDuelChallenge challenge_list = 5;
+ uint32 game_id = 11;
+ uint32 controller_id = 13;
+ uint32 round = 15;
+ uint32 cur_controller_id = 12;
+ repeated GCGPVEIntention intetion_list = 1;
+ GCGCostReviseInfo cost_revise = 10;
+ repeated uint32 card_id_list = 4;
+ repeated GCGCard card_list = 9;
+ repeated GCGControllerShowInfo show_info_list = 6;
+ uint32 game_type = 2;
+ GCGPhase phase = 8;
+}
diff --git a/protocol/proto/GCGDuelChallenge.proto b/protocol/proto/GCGDuelChallenge.proto
new file mode 100644
index 00000000..c895f51a
--- /dev/null
+++ b/protocol/proto/GCGDuelChallenge.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGDuelChallenge {
+ uint32 total_progress = 7;
+ uint32 challenge_id = 10;
+ uint32 cur_progress = 12;
+}
diff --git a/protocol/proto/GCGDuelExtra.proto b/protocol/proto/GCGDuelExtra.proto
new file mode 100644
index 00000000..d098dd1d
--- /dev/null
+++ b/protocol/proto/GCGDuelExtra.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGChallengeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGDuelExtra {
+ repeated uint32 card_id_list = 1;
+ uint32 field_id = 2;
+ uint32 card_back_id = 3;
+ map card_face_map = 4;
+ repeated GCGChallengeData challenge_list = 5;
+ uint32 score = 6;
+}
diff --git a/protocol/proto/GCGEndReason.proto b/protocol/proto/GCGEndReason.proto
new file mode 100644
index 00000000..3553af3a
--- /dev/null
+++ b/protocol/proto/GCGEndReason.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGEndReason {
+ GCG_END_REASON_DEFAULT = 0;
+ GCG_END_REASON_DIE = 1;
+ GCG_END_REASON_SURRENDER = 2;
+ GCG_END_REASON_DISCONNECTED = 3;
+ GCG_END_REASON_ROUND_LIMIT = 4;
+}
diff --git a/protocol/proto/GCGGameBriefData.proto b/protocol/proto/GCGGameBriefData.proto
new file mode 100644
index 00000000..636df93a
--- /dev/null
+++ b/protocol/proto/GCGGameBriefData.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGGameBusinessType.proto";
+import "GCGPlayerBriefData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGGameBriefData {
+ uint32 game_id = 14;
+ uint32 game_uid = 9;
+ GCGGameBusinessType business_type = 13;
+ uint32 verify_code = 5;
+ repeated GCGPlayerBriefData player_brief_list = 12;
+}
diff --git a/protocol/proto/GCGGameBriefDataNotify.proto b/protocol/proto/GCGGameBriefDataNotify.proto
new file mode 100644
index 00000000..ffb1df02
--- /dev/null
+++ b/protocol/proto/GCGGameBriefDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGGameBriefData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7539
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGGameBriefDataNotify {
+ GCGGameBriefData gcg_brief_data = 10;
+}
diff --git a/protocol/proto/GCGGameBusinessType.proto b/protocol/proto/GCGGameBusinessType.proto
new file mode 100644
index 00000000..b7a5b805
--- /dev/null
+++ b/protocol/proto/GCGGameBusinessType.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGGameBusinessType {
+ GCG_GAME_BUSINESS_TYPE_NONE = 0;
+ GCG_GAME_BUSINESS_TYPE_GM = 1;
+ GCG_GAME_BUSINESS_TYPE_MATCH = 2;
+ GCG_GAME_BUSINESS_TYPE_PVP = 3;
+ GCG_GAME_BUSINESS_TYPE_TAVERN_CHALLENGE = 4;
+ GCG_GAME_BUSINESS_TYPE_CONST_CHALLENGE = 5;
+ GCG_GAME_BUSINESS_TYPE_WORLD_CHALLENGE = 6;
+ GCG_GAME_BUSINESS_TYPE_BOSS_CHALLENGE = 7;
+ GCG_GAME_BUSINESS_TYPE_WEEK_CHALLENGE = 8;
+}
diff --git a/protocol/proto/GCGGrowthLevelNotify.proto b/protocol/proto/GCGGrowthLevelNotify.proto
new file mode 100644
index 00000000..cf62fe8e
--- /dev/null
+++ b/protocol/proto/GCGGrowthLevelNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7736
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGGrowthLevelNotify {
+ uint32 exp = 7;
+ uint32 level = 11;
+}
diff --git a/protocol/proto/GCGGrowthLevelRewardNotify.proto b/protocol/proto/GCGGrowthLevelRewardNotify.proto
new file mode 100644
index 00000000..9b955c62
--- /dev/null
+++ b/protocol/proto/GCGGrowthLevelRewardNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7477
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGGrowthLevelRewardNotify {
+ repeated uint32 level_reward_taken_list = 8;
+}
diff --git a/protocol/proto/GCGGrowthLevelTakeRewardReq.proto b/protocol/proto/GCGGrowthLevelTakeRewardReq.proto
new file mode 100644
index 00000000..7958ced2
--- /dev/null
+++ b/protocol/proto/GCGGrowthLevelTakeRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7051
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGGrowthLevelTakeRewardReq {
+ uint32 level = 4;
+}
diff --git a/protocol/proto/GCGGrowthLevelTakeRewardRsp.proto b/protocol/proto/GCGGrowthLevelTakeRewardRsp.proto
new file mode 100644
index 00000000..f5f0a4fe
--- /dev/null
+++ b/protocol/proto/GCGGrowthLevelTakeRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7670
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGGrowthLevelTakeRewardRsp {
+ uint32 level = 1;
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/GCGHeartBeatNotify.proto b/protocol/proto/GCGHeartBeatNotify.proto
new file mode 100644
index 00000000..ae11c4a6
--- /dev/null
+++ b/protocol/proto/GCGHeartBeatNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7224
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGHeartBeatNotify {
+ uint32 server_seq = 6;
+}
diff --git a/protocol/proto/GCGInitFinishReq.proto b/protocol/proto/GCGInitFinishReq.proto
new file mode 100644
index 00000000..9a7fc367
--- /dev/null
+++ b/protocol/proto/GCGInitFinishReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7684
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGInitFinishReq {}
diff --git a/protocol/proto/GCGInitFinishRsp.proto b/protocol/proto/GCGInitFinishRsp.proto
new file mode 100644
index 00000000..607e0847
--- /dev/null
+++ b/protocol/proto/GCGInitFinishRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7433
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGInitFinishRsp {
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/GCGInviteBattleNotify.proto b/protocol/proto/GCGInviteBattleNotify.proto
new file mode 100644
index 00000000..75464926
--- /dev/null
+++ b/protocol/proto/GCGInviteBattleNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7692
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGInviteBattleNotify {}
diff --git a/protocol/proto/GCGInviteGuestBattleReq.proto b/protocol/proto/GCGInviteGuestBattleReq.proto
new file mode 100644
index 00000000..92172c66
--- /dev/null
+++ b/protocol/proto/GCGInviteGuestBattleReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7783
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGInviteGuestBattleReq {
+ uint32 uid = 11;
+}
diff --git a/protocol/proto/GCGInviteGuestBattleRsp.proto b/protocol/proto/GCGInviteGuestBattleRsp.proto
new file mode 100644
index 00000000..d9b5a2b5
--- /dev/null
+++ b/protocol/proto/GCGInviteGuestBattleRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7251
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGInviteGuestBattleRsp {
+ int32 retcode = 3;
+ uint32 uid = 11;
+}
diff --git a/protocol/proto/GCGLevelChallengeFinishNotify.proto b/protocol/proto/GCGLevelChallengeFinishNotify.proto
new file mode 100644
index 00000000..d0737c33
--- /dev/null
+++ b/protocol/proto/GCGLevelChallengeFinishNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7629
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGLevelChallengeFinishNotify {
+ repeated uint32 finished_challenge_id_list = 10;
+ uint32 level_id = 15;
+}
diff --git a/protocol/proto/GCGLevelChallengeNotify.proto b/protocol/proto/GCGLevelChallengeNotify.proto
new file mode 100644
index 00000000..1981e662
--- /dev/null
+++ b/protocol/proto/GCGLevelChallengeNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGBossChallengeData.proto";
+import "GCGLevelData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7055
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGLevelChallengeNotify {
+ repeated GCGBossChallengeData unlock_boss_challenge_list = 3;
+ repeated uint32 unlock_world_challenge_list = 8;
+ repeated GCGLevelData level_list = 10;
+}
diff --git a/protocol/proto/GCGLevelData.proto b/protocol/proto/GCGLevelData.proto
new file mode 100644
index 00000000..e8737dcc
--- /dev/null
+++ b/protocol/proto/GCGLevelData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGLevelData {
+ repeated uint32 finished_challenge_id_list = 10;
+ uint32 level_id = 9;
+}
diff --git a/protocol/proto/GCGLevelType.proto b/protocol/proto/GCGLevelType.proto
new file mode 100644
index 00000000..01ef4094
--- /dev/null
+++ b/protocol/proto/GCGLevelType.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGLevelType {
+ GCG_LEVEL_TYPE_NONE = 0;
+ GCG_LEVEL_TYPE_CONST = 1;
+ GCG_LEVEL_TYPE_WEEK = 2;
+ GCG_LEVEL_TYPE_WORLD = 3;
+ GCG_LEVEL_TYPE_BOSS = 4;
+ GCG_LEVEL_TYPE_CHARACTER = 5;
+}
diff --git a/protocol/proto/GCGMatchInfo.proto b/protocol/proto/GCGMatchInfo.proto
new file mode 100644
index 00000000..cd7e390e
--- /dev/null
+++ b/protocol/proto/GCGMatchInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMatchInfo {
+ repeated MatchPlayerInfo player_list = 13;
+}
diff --git a/protocol/proto/GCGMessage.proto b/protocol/proto/GCGMessage.proto
new file mode 100644
index 00000000..d4bbbffb
--- /dev/null
+++ b/protocol/proto/GCGMessage.proto
@@ -0,0 +1,84 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGMsgAddCards.proto";
+import "GCGMsgAddDice.proto";
+import "GCGMsgCardUpdate.proto";
+import "GCGMsgCharDie.proto";
+import "GCGMsgClientPerform.proto";
+import "GCGMsgCostDice.proto";
+import "GCGMsgCostRevise.proto";
+import "GCGMsgDiceReroll.proto";
+import "GCGMsgDiceRoll.proto";
+import "GCGMsgDuelDataChange.proto";
+import "GCGMsgGameOver.proto";
+import "GCGMsgModifyAdd.proto";
+import "GCGMsgModifyRemove.proto";
+import "GCGMsgMoveCard.proto";
+import "GCGMsgNewCard.proto";
+import "GCGMsgOpTimer.proto";
+import "GCGMsgPVEDoOp.proto";
+import "GCGMsgPVEGenCardOp.proto";
+import "GCGMsgPass.proto";
+import "GCGMsgPhaseChange.proto";
+import "GCGMsgRemoveCards.proto";
+import "GCGMsgSelectOnStage.proto";
+import "GCGMsgSelectOnStageByEffect.proto";
+import "GCGMsgSkillResult.proto";
+import "GCGMsgTokenChange.proto";
+import "GCGMsgUpdateController.proto";
+import "GCGMsgUseSkill.proto";
+import "GCGMsgUseSkillEnd.proto";
+import "GCGMsgWaitingListChange.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMessage {
+ oneof message {
+ GCGMsgTokenChange token_change = 12;
+ GCGMsgPhaseChange phase_change = 13;
+ GCGMsgAddCards add_cards = 10;
+ GCGMsgRemoveCards remove_cards = 14;
+ GCGMsgSelectOnStage select_on_stage = 6;
+ GCGMsgDiceRoll dice_roll = 9;
+ GCGMsgDiceReroll dice_reroll = 11;
+ GCGMsgPass pass = 5;
+ GCGMsgCharDie char_die = 2;
+ GCGMsgSkillResult skill_result = 1;
+ GCGMsgCostDice cost_dice = 7;
+ GCGMsgAddDice add_dice = 3;
+ GCGMsgMoveCard move_card = 15;
+ GCGMsgUseSkill use_skill = 4;
+ GCGMsgNewCard new_card = 1848;
+ GCGMsgUpdateController update_controller = 429;
+ GCGMsgModifyAdd modify_add = 1851;
+ GCGMsgModifyRemove modify_remove = 471;
+ GCGMsgUseSkillEnd use_skill_end = 1411;
+ GCGMsgPVEGenCardOp pve_gen_card_op = 1741;
+ GCGMsgPVEDoOp pve_do_op = 614;
+ GCGMsgDuelDataChange duel_data_change = 1008;
+ GCGMsgClientPerform client_perform = 1035;
+ GCGMsgGameOver game_over = 714;
+ GCGMsgOpTimer op_timer = 1862;
+ GCGMsgWaitingListChange waiting_list_change = 1678;
+ GCGMsgCardUpdate card_update = 1879;
+ GCGMsgSelectOnStageByEffect select_on_stage_by_effect = 2042;
+ GCGMsgCostRevise cost_revise = 1350;
+ }
+}
diff --git a/protocol/proto/GCGMessagePack.proto b/protocol/proto/GCGMessagePack.proto
new file mode 100644
index 00000000..c9d930cc
--- /dev/null
+++ b/protocol/proto/GCGMessagePack.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGMessage.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMessagePack {
+ uint32 msg_seq = 10;
+ repeated GCGMessage msg_list = 13;
+}
diff --git a/protocol/proto/GCGMessagePackNotify.proto b/protocol/proto/GCGMessagePackNotify.proto
new file mode 100644
index 00000000..a64ef6b3
--- /dev/null
+++ b/protocol/proto/GCGMessagePackNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGMessagePack.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7516
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGMessagePackNotify {
+ uint32 server_seq = 5;
+ GCGMessagePack message_pack = 8;
+}
diff --git a/protocol/proto/GCGMsgAddCards.proto b/protocol/proto/GCGMsgAddCards.proto
new file mode 100644
index 00000000..d2c3b487
--- /dev/null
+++ b/protocol/proto/GCGMsgAddCards.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGReason.proto";
+import "GCGZoneType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgAddCards {
+ uint32 pos = 11;
+ GCGZoneType zone = 2;
+ GCGReason reason = 15;
+ uint32 controller_id = 13;
+ repeated uint32 card_guid_list = 14;
+}
diff --git a/protocol/proto/GCGMsgAddDice.proto b/protocol/proto/GCGMsgAddDice.proto
new file mode 100644
index 00000000..807b1d43
--- /dev/null
+++ b/protocol/proto/GCGMsgAddDice.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGDiceSideType.proto";
+import "GCGReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgAddDice {
+ GCGReason reason = 4;
+ uint32 controller_id = 10;
+ int32 change_count = 1;
+ map dice_map = 8;
+}
diff --git a/protocol/proto/GCGMsgCardUpdate.proto b/protocol/proto/GCGMsgCardUpdate.proto
new file mode 100644
index 00000000..8a2e1c6c
--- /dev/null
+++ b/protocol/proto/GCGMsgCardUpdate.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGCard.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgCardUpdate {
+ GCGCard card = 7;
+}
diff --git a/protocol/proto/GCGMsgCharDie.proto b/protocol/proto/GCGMsgCharDie.proto
new file mode 100644
index 00000000..0c2061b5
--- /dev/null
+++ b/protocol/proto/GCGMsgCharDie.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgCharDie {
+ uint32 controller_id = 5;
+ uint32 card_guid = 11;
+}
diff --git a/protocol/proto/GCGMsgClientPerform.proto b/protocol/proto/GCGMsgClientPerform.proto
new file mode 100644
index 00000000..2180eed7
--- /dev/null
+++ b/protocol/proto/GCGMsgClientPerform.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGClientPerformType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgClientPerform {
+ repeated uint32 param_list = 2;
+ GCGClientPerformType perform_type = 5;
+}
diff --git a/protocol/proto/GCGMsgCostDice.proto b/protocol/proto/GCGMsgCostDice.proto
new file mode 100644
index 00000000..8aa584c5
--- /dev/null
+++ b/protocol/proto/GCGMsgCostDice.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgCostDice {
+ uint32 controller_id = 6;
+ repeated uint32 select_dice_index_list = 13;
+ GCGReason reason = 9;
+}
diff --git a/protocol/proto/GCGMsgCostRevise.proto b/protocol/proto/GCGMsgCostRevise.proto
new file mode 100644
index 00000000..0dacf296
--- /dev/null
+++ b/protocol/proto/GCGMsgCostRevise.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGCostReviseInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgCostRevise {
+ uint32 controller_id = 5;
+ GCGCostReviseInfo cost_revise = 13;
+}
diff --git a/protocol/proto/GCGMsgDiceReroll.proto b/protocol/proto/GCGMsgDiceReroll.proto
new file mode 100644
index 00000000..62c9a668
--- /dev/null
+++ b/protocol/proto/GCGMsgDiceReroll.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGDiceSideType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgDiceReroll {
+ uint32 controller_id = 2;
+ repeated uint32 select_dice_index_list = 1;
+ repeated GCGDiceSideType dice_side_list = 6;
+}
diff --git a/protocol/proto/GCGMsgDiceRoll.proto b/protocol/proto/GCGMsgDiceRoll.proto
new file mode 100644
index 00000000..b4772197
--- /dev/null
+++ b/protocol/proto/GCGMsgDiceRoll.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGDiceSideType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgDiceRoll {
+ repeated GCGDiceSideType dice_side_list = 10;
+ uint32 dice_num = 15;
+ uint32 controller_id = 5;
+}
diff --git a/protocol/proto/GCGMsgDuelDataChange.proto b/protocol/proto/GCGMsgDuelDataChange.proto
new file mode 100644
index 00000000..a5d079a7
--- /dev/null
+++ b/protocol/proto/GCGMsgDuelDataChange.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgDuelDataChange {
+ uint32 round = 14;
+}
diff --git a/protocol/proto/GCGMsgGameOver.proto b/protocol/proto/GCGMsgGameOver.proto
new file mode 100644
index 00000000..66f666d4
--- /dev/null
+++ b/protocol/proto/GCGMsgGameOver.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGEndReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgGameOver {
+ GCGEndReason end_reason = 13;
+ uint32 win_controller_id = 6;
+}
diff --git a/protocol/proto/GCGMsgModifyAdd.proto b/protocol/proto/GCGMsgModifyAdd.proto
new file mode 100644
index 00000000..4fc2a634
--- /dev/null
+++ b/protocol/proto/GCGMsgModifyAdd.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgModifyAdd {
+ uint32 pos = 9;
+ uint32 owner_card_guid = 10;
+ repeated uint32 card_guid_list = 15;
+ uint32 controller_id = 14;
+ GCGReason reason = 11;
+}
diff --git a/protocol/proto/GCGMsgModifyRemove.proto b/protocol/proto/GCGMsgModifyRemove.proto
new file mode 100644
index 00000000..c5d23b1e
--- /dev/null
+++ b/protocol/proto/GCGMsgModifyRemove.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgModifyRemove {
+ uint32 controller_id = 14;
+ GCGReason reason = 12;
+ uint32 owner_card_guid = 5;
+ repeated uint32 card_guid_list = 4;
+}
diff --git a/protocol/proto/GCGMsgMoveCard.proto b/protocol/proto/GCGMsgMoveCard.proto
new file mode 100644
index 00000000..4f5e9559
--- /dev/null
+++ b/protocol/proto/GCGMsgMoveCard.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGReason.proto";
+import "GCGZoneType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgMoveCard {
+ uint32 controller_id = 14;
+ GCGZoneType to = 5;
+ GCGZoneType from = 12;
+ bool is_fail = 10;
+ uint32 card_guid = 7;
+ GCGReason reason = 6;
+}
diff --git a/protocol/proto/GCGMsgNewCard.proto b/protocol/proto/GCGMsgNewCard.proto
new file mode 100644
index 00000000..bdef1fb7
--- /dev/null
+++ b/protocol/proto/GCGMsgNewCard.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGCard.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgNewCard {
+ GCGCard card = 15;
+}
diff --git a/protocol/proto/GCGMsgOpTimer.proto b/protocol/proto/GCGMsgOpTimer.proto
new file mode 100644
index 00000000..907c9965
--- /dev/null
+++ b/protocol/proto/GCGMsgOpTimer.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGPhaseType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgOpTimer {
+ uint64 begin_time = 9;
+ GCGPhaseType phase = 3;
+ uint64 time_stamp = 13;
+ uint32 controller_id = 8;
+}
diff --git a/protocol/proto/GCGMsgPVEDoOp.proto b/protocol/proto/GCGMsgPVEDoOp.proto
new file mode 100644
index 00000000..4232ab06
--- /dev/null
+++ b/protocol/proto/GCGMsgPVEDoOp.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgPVEDoOp {
+ uint32 skill_id = 4;
+ uint32 card_guid = 10;
+}
diff --git a/protocol/proto/GCGMsgPVEGenCardOp.proto b/protocol/proto/GCGMsgPVEGenCardOp.proto
new file mode 100644
index 00000000..39934711
--- /dev/null
+++ b/protocol/proto/GCGMsgPVEGenCardOp.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgPVEGenCardOp {
+ repeated uint32 skill_id_list = 1;
+ uint32 card_guid = 11;
+}
diff --git a/protocol/proto/GCGMsgPass.proto b/protocol/proto/GCGMsgPass.proto
new file mode 100644
index 00000000..bf779d5a
--- /dev/null
+++ b/protocol/proto/GCGMsgPass.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgPass {
+ uint32 controller_id = 14;
+}
diff --git a/protocol/proto/GCGMsgPhaseChange.proto b/protocol/proto/GCGMsgPhaseChange.proto
new file mode 100644
index 00000000..8b65d984
--- /dev/null
+++ b/protocol/proto/GCGMsgPhaseChange.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGPhaseType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgPhaseChange {
+ map allow_controller_map = 15;
+ GCGPhaseType before_phase = 12;
+ GCGPhaseType after_phase = 5;
+}
diff --git a/protocol/proto/GCGMsgRemoveCards.proto b/protocol/proto/GCGMsgRemoveCards.proto
new file mode 100644
index 00000000..51e5629c
--- /dev/null
+++ b/protocol/proto/GCGMsgRemoveCards.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGReason.proto";
+import "GCGZoneType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgRemoveCards {
+ uint32 controller_id = 15;
+ GCGZoneType zone = 10;
+ GCGReason reason = 5;
+ repeated uint32 card_guid_list = 1;
+}
diff --git a/protocol/proto/GCGMsgSelectOnStage.proto b/protocol/proto/GCGMsgSelectOnStage.proto
new file mode 100644
index 00000000..eea006b7
--- /dev/null
+++ b/protocol/proto/GCGMsgSelectOnStage.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgSelectOnStage {
+ uint32 controller_id = 6;
+ GCGReason reason = 10;
+ uint32 card_guid = 4;
+}
diff --git a/protocol/proto/GCGMsgSelectOnStageByEffect.proto b/protocol/proto/GCGMsgSelectOnStageByEffect.proto
new file mode 100644
index 00000000..90722110
--- /dev/null
+++ b/protocol/proto/GCGMsgSelectOnStageByEffect.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgSelectOnStageByEffect {
+ uint32 skill_id = 12;
+ uint32 controller_id = 15;
+ uint32 card_guid = 1;
+}
diff --git a/protocol/proto/GCGMsgSkillResult.proto b/protocol/proto/GCGMsgSkillResult.proto
new file mode 100644
index 00000000..f5ff7f07
--- /dev/null
+++ b/protocol/proto/GCGMsgSkillResult.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGDamageDetail.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgSkillResult {
+ uint32 skill_id = 12;
+ uint32 last_hp = 14;
+ repeated GCGDamageDetail detail_list = 2;
+ uint32 target_card_guid = 7;
+ uint32 effect_element = 5;
+ uint32 from_result_seq = 15;
+ uint32 damage = 6;
+ uint32 result_seq = 4;
+ uint32 src_card_guid = 8;
+}
diff --git a/protocol/proto/GCGMsgTokenChange.proto b/protocol/proto/GCGMsgTokenChange.proto
new file mode 100644
index 00000000..5c58034e
--- /dev/null
+++ b/protocol/proto/GCGMsgTokenChange.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgTokenChange {
+ uint32 before = 13;
+ uint32 token_type = 4;
+ uint32 card_guid = 2;
+ uint32 after = 11;
+ GCGReason reason = 7;
+}
diff --git a/protocol/proto/GCGMsgUpdateController.proto b/protocol/proto/GCGMsgUpdateController.proto
new file mode 100644
index 00000000..963a4fd6
--- /dev/null
+++ b/protocol/proto/GCGMsgUpdateController.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgUpdateController {
+ map allow_controller_map = 7;
+}
diff --git a/protocol/proto/GCGMsgUseSkill.proto b/protocol/proto/GCGMsgUseSkill.proto
new file mode 100644
index 00000000..bcecfec4
--- /dev/null
+++ b/protocol/proto/GCGMsgUseSkill.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgUseSkill {
+ uint32 skill_id = 9;
+ uint32 card_guid = 6;
+}
diff --git a/protocol/proto/GCGMsgUseSkillEnd.proto b/protocol/proto/GCGMsgUseSkillEnd.proto
new file mode 100644
index 00000000..7853dc55
--- /dev/null
+++ b/protocol/proto/GCGMsgUseSkillEnd.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgUseSkillEnd {
+ uint32 card_guid = 11;
+ uint32 skill_id = 12;
+}
diff --git a/protocol/proto/GCGMsgWaitingListChange.proto b/protocol/proto/GCGMsgWaitingListChange.proto
new file mode 100644
index 00000000..990eb1a2
--- /dev/null
+++ b/protocol/proto/GCGMsgWaitingListChange.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGMsgWaitingListChange {
+ uint32 cur_index = 6;
+ uint32 controller_id = 4;
+}
diff --git a/protocol/proto/GCGNewCardInfoNotify.proto b/protocol/proto/GCGNewCardInfoNotify.proto
new file mode 100644
index 00000000..f780757b
--- /dev/null
+++ b/protocol/proto/GCGNewCardInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGCard.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7203
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGNewCardInfoNotify {
+ GCGCard card = 1;
+}
diff --git a/protocol/proto/GCGOperation.proto b/protocol/proto/GCGOperation.proto
new file mode 100644
index 00000000..014f78ef
--- /dev/null
+++ b/protocol/proto/GCGOperation.proto
@@ -0,0 +1,42 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGOperationAttack.proto";
+import "GCGOperationOnStageSelect.proto";
+import "GCGOperationPass.proto";
+import "GCGOperationPlayCard.proto";
+import "GCGOperationReboot.proto";
+import "GCGOperationRedraw.proto";
+import "GCGOperationReroll.proto";
+import "GCGOperationSurrender.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperation {
+ oneof op {
+ GCGOperationRedraw op_redraw = 10;
+ GCGOperationOnStageSelect op_select_on_stage = 4;
+ GCGOperationReroll op_reroll = 9;
+ GCGOperationAttack op_attack = 11;
+ GCGOperationPass op_pass = 15;
+ GCGOperationPlayCard op_play_card = 2;
+ GCGOperationReboot op_reboot = 5;
+ GCGOperationSurrender op_surrender = 1;
+ }
+}
diff --git a/protocol/proto/GCGOperationAttack.proto b/protocol/proto/GCGOperationAttack.proto
new file mode 100644
index 00000000..c26b3861
--- /dev/null
+++ b/protocol/proto/GCGOperationAttack.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationAttack {
+ repeated uint32 cost_dice_index_list = 8;
+ uint32 skill_id = 2;
+}
diff --git a/protocol/proto/GCGOperationData.proto b/protocol/proto/GCGOperationData.proto
new file mode 100644
index 00000000..f8eaef89
--- /dev/null
+++ b/protocol/proto/GCGOperationData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGOperation.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationData {
+ uint32 controller_id = 2;
+ GCGOperation op = 12;
+}
diff --git a/protocol/proto/GCGOperationOnStageSelect.proto b/protocol/proto/GCGOperationOnStageSelect.proto
new file mode 100644
index 00000000..f6a596b0
--- /dev/null
+++ b/protocol/proto/GCGOperationOnStageSelect.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationOnStageSelect {
+ uint32 card_guid = 5;
+ repeated uint32 cost_dice_index_list = 4;
+}
diff --git a/protocol/proto/GCGOperationPass.proto b/protocol/proto/GCGOperationPass.proto
new file mode 100644
index 00000000..6c349df6
--- /dev/null
+++ b/protocol/proto/GCGOperationPass.proto
@@ -0,0 +1,22 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationPass {}
diff --git a/protocol/proto/GCGOperationPlayCard.proto b/protocol/proto/GCGOperationPlayCard.proto
new file mode 100644
index 00000000..e8bed578
--- /dev/null
+++ b/protocol/proto/GCGOperationPlayCard.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationPlayCard {
+ uint32 card_guid = 12;
+ repeated uint32 cost_dice_index_list = 4;
+ repeated uint32 target_card_guid_list = 10;
+}
diff --git a/protocol/proto/GCGOperationReboot.proto b/protocol/proto/GCGOperationReboot.proto
new file mode 100644
index 00000000..19e9591b
--- /dev/null
+++ b/protocol/proto/GCGOperationReboot.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationReboot {
+ repeated uint32 cost_card_guid_list = 7;
+ repeated uint32 dice_index_list = 6;
+}
diff --git a/protocol/proto/GCGOperationRedraw.proto b/protocol/proto/GCGOperationRedraw.proto
new file mode 100644
index 00000000..1896dd52
--- /dev/null
+++ b/protocol/proto/GCGOperationRedraw.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationRedraw {
+ repeated uint32 card_list = 2;
+}
diff --git a/protocol/proto/GCGOperationReplay.proto b/protocol/proto/GCGOperationReplay.proto
new file mode 100644
index 00000000..aee79e72
--- /dev/null
+++ b/protocol/proto/GCGOperationReplay.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGOperationData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationReplay {
+ uint32 game_id = 1;
+ uint32 seed = 11;
+ repeated GCGOperationData operation_data_list = 9;
+}
diff --git a/protocol/proto/GCGOperationReq.proto b/protocol/proto/GCGOperationReq.proto
new file mode 100644
index 00000000..d9cec2e5
--- /dev/null
+++ b/protocol/proto/GCGOperationReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGOperation.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7107
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGOperationReq {
+ uint32 op_seq = 2;
+ uint32 redirect_uid = 7;
+ GCGOperation op = 15;
+}
diff --git a/protocol/proto/GCGOperationReroll.proto b/protocol/proto/GCGOperationReroll.proto
new file mode 100644
index 00000000..c1890a1d
--- /dev/null
+++ b/protocol/proto/GCGOperationReroll.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationReroll {
+ repeated uint32 dice_index_list = 12;
+}
diff --git a/protocol/proto/GCGOperationRsp.proto b/protocol/proto/GCGOperationRsp.proto
new file mode 100644
index 00000000..d80fba12
--- /dev/null
+++ b/protocol/proto/GCGOperationRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7600
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGOperationRsp {
+ int32 retcode = 8;
+ uint32 op_seq = 4;
+}
diff --git a/protocol/proto/GCGOperationSurrender.proto b/protocol/proto/GCGOperationSurrender.proto
new file mode 100644
index 00000000..d697aa9b
--- /dev/null
+++ b/protocol/proto/GCGOperationSurrender.proto
@@ -0,0 +1,22 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGOperationSurrender {}
diff --git a/protocol/proto/GCGPVEIntention.proto b/protocol/proto/GCGPVEIntention.proto
new file mode 100644
index 00000000..95a4a1c7
--- /dev/null
+++ b/protocol/proto/GCGPVEIntention.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGPVEIntention {
+ uint32 card_guid = 9;
+ repeated uint32 skill_id_list = 7;
+}
diff --git a/protocol/proto/GCGPhase.proto b/protocol/proto/GCGPhase.proto
new file mode 100644
index 00000000..0c06325f
--- /dev/null
+++ b/protocol/proto/GCGPhase.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGPhaseType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGPhase {
+ GCGPhaseType phase_type = 5;
+ map allow_controller_map = 6;
+}
diff --git a/protocol/proto/GCGPhaseType.proto b/protocol/proto/GCGPhaseType.proto
new file mode 100644
index 00000000..345e11eb
--- /dev/null
+++ b/protocol/proto/GCGPhaseType.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGPhaseType {
+ GCG_PHASE_TYPE_INVALID = 0;
+ GCG_PHASE_TYPE_START = 1;
+ GCG_PHASE_TYPE_DRAW = 2;
+ GCG_PHASE_TYPE_ON_STAGE = 3;
+ GCG_PHASE_TYPE_DICE = 4;
+ GCG_PHASE_TYPE_MAIN = 5;
+ GCG_PHASE_TYPE_END = 6;
+ GCG_PHASE_TYPE_DIE = 7;
+ GCG_PHASE_TYPE_FIN = 8;
+ GCG_PHASE_TYPE_PRE_MAIN = 9;
+ GCG_PHASE_TYPE_REROLL = 10;
+}
diff --git a/protocol/proto/GCGPlayCardCostInfo.proto b/protocol/proto/GCGPlayCardCostInfo.proto
new file mode 100644
index 00000000..373d4fb0
--- /dev/null
+++ b/protocol/proto/GCGPlayCardCostInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGPlayCardCostInfo {
+ map cost_map = 14;
+ uint32 card_id = 1;
+}
diff --git a/protocol/proto/GCGPlayerBriefData.proto b/protocol/proto/GCGPlayerBriefData.proto
new file mode 100644
index 00000000..1d903f2f
--- /dev/null
+++ b/protocol/proto/GCGPlayerBriefData.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGPlayerBriefData {
+ map card_face_map = 8;
+ string nick_name = 9;
+ ProfilePicture profile_picture = 12;
+ repeated uint32 card_id_list = 3;
+ uint32 controller_id = 5;
+ uint32 uid = 10;
+}
diff --git a/protocol/proto/GCGPlayerField.proto b/protocol/proto/GCGPlayerField.proto
new file mode 100644
index 00000000..7085776b
--- /dev/null
+++ b/protocol/proto/GCGPlayerField.proto
@@ -0,0 +1,45 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGDiceSideType.proto";
+import "GCGPVEIntention.proto";
+import "GCGWaitingCharacter.proto";
+import "GCGZone.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGPlayerField {
+ map modify_zone_map = 2;
+ uint32 cur_waiting_index = 383;
+ GCGZone summon_zone = 1;
+ uint32 field_show_id = 8;
+ uint32 card_back_show_id = 12;
+ uint32 dice_count = 3;
+ uint32 controller_id = 10;
+ GCGZone on_stage_zone = 14;
+ bool is_passed = 7;
+ GCGZone character_zone = 5;
+ uint32 on_stage_character_guid = 6;
+ GCGZone assist_zone = 15;
+ uint32 deck_card_num = 13;
+ repeated GCGDiceSideType dice_side_list = 11;
+ GCGZone hand_zone = 9;
+ repeated GCGPVEIntention intention_list = 1192;
+ repeated GCGWaitingCharacter waiting_list = 4;
+}
diff --git a/protocol/proto/GCGReason.proto b/protocol/proto/GCGReason.proto
new file mode 100644
index 00000000..8d4d7c13
--- /dev/null
+++ b/protocol/proto/GCGReason.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGReason {
+ GCG_REASON_DEFAULT = 0;
+ GCG_REASON_EFFECT = 1;
+ GCG_REASON_COST = 2;
+ GCG_REASON_GM = 3;
+ GCG_REASON_ATTACK = 4;
+ GCG_REASON_REBOOT = 5;
+ GCG_REASON_PLAY_CARD = 6;
+ GCG_REASON_QUICKLY_ONSTAGE = 7;
+ GCG_REASON_REMOVE_AFTER_DIE = 8;
+ GCG_REASON_INIT = 9;
+}
diff --git a/protocol/proto/GCGResourceStateNotify.proto b/protocol/proto/GCGResourceStateNotify.proto
new file mode 100644
index 00000000..0e08ec16
--- /dev/null
+++ b/protocol/proto/GCGResourceStateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7876
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGResourceStateNotify {
+ bool is_complete = 5;
+}
diff --git a/protocol/proto/GCGSelectOnStageCostInfo.proto b/protocol/proto/GCGSelectOnStageCostInfo.proto
new file mode 100644
index 00000000..d4dc443c
--- /dev/null
+++ b/protocol/proto/GCGSelectOnStageCostInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGSelectOnStageCostInfo {
+ map cost_map = 8;
+ uint32 card_guid = 9;
+}
diff --git a/protocol/proto/GCGSettleNotify.proto b/protocol/proto/GCGSettleNotify.proto
new file mode 100644
index 00000000..36a39b77
--- /dev/null
+++ b/protocol/proto/GCGSettleNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGEndReason.proto";
+import "GCGGameBusinessType.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7769
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGSettleNotify {
+ uint32 game_id = 7;
+ GCGGameBusinessType business_type = 2;
+ bool is_win = 13;
+ repeated ItemParam reward_item_list = 9;
+ repeated uint32 finished_challenge_id_list = 6;
+ GCGEndReason reason = 3;
+}
diff --git a/protocol/proto/GCGSettleOption.proto b/protocol/proto/GCGSettleOption.proto
new file mode 100644
index 00000000..87dcb6bd
--- /dev/null
+++ b/protocol/proto/GCGSettleOption.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGSettleOption {
+ GCG_SETTLE_OPTION_OPT_NONE = 0;
+ GCG_SETTLE_OPTION_OPT_EXIT = 1;
+ GCG_SETTLE_OPTION_OPT_CONTINUE = 2;
+ GCG_SETTLE_OPTION_OPT_RESTART = 3;
+}
diff --git a/protocol/proto/GCGSettleOptionReq.proto b/protocol/proto/GCGSettleOptionReq.proto
new file mode 100644
index 00000000..d041a6e1
--- /dev/null
+++ b/protocol/proto/GCGSettleOptionReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGSettleOption.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7124
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGSettleOptionReq {
+ GCGSettleOption option = 5;
+}
diff --git a/protocol/proto/GCGSettleOptionRsp.proto b/protocol/proto/GCGSettleOptionRsp.proto
new file mode 100644
index 00000000..880156de
--- /dev/null
+++ b/protocol/proto/GCGSettleOptionRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGSettleOption.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7735
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGSettleOptionRsp {
+ GCGSettleOption option = 13;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/GCGSkillHpChangeType.proto b/protocol/proto/GCGSkillHpChangeType.proto
new file mode 100644
index 00000000..d2bf59be
--- /dev/null
+++ b/protocol/proto/GCGSkillHpChangeType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGSkillHpChangeType {
+ GCG_SKILL_HP_CHANGE_TYPE_NONE = 0;
+ GCG_SKILL_HP_CHANGE_TYPE_DAMAGE = 1;
+ GCG_SKILL_HP_CHANGE_TYPE_HEAL = 2;
+}
diff --git a/protocol/proto/GCGSkillPreviewAskReq.proto b/protocol/proto/GCGSkillPreviewAskReq.proto
new file mode 100644
index 00000000..43bc7e3c
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewAskReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7509
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGSkillPreviewAskReq {}
diff --git a/protocol/proto/GCGSkillPreviewAskRsp.proto b/protocol/proto/GCGSkillPreviewAskRsp.proto
new file mode 100644
index 00000000..b424789e
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewAskRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7409
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGSkillPreviewAskRsp {
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/GCGSkillPreviewCardInfo.proto b/protocol/proto/GCGSkillPreviewCardInfo.proto
new file mode 100644
index 00000000..2afa4a29
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewCardInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGZoneType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGSkillPreviewCardInfo {
+ uint32 controller_id = 3;
+ uint32 owner_card_guid = 11;
+ GCGZoneType zone_type = 14;
+ uint32 card_id = 13;
+ uint32 card_guid = 6;
+}
diff --git a/protocol/proto/GCGSkillPreviewElementReactionInfo.proto b/protocol/proto/GCGSkillPreviewElementReactionInfo.proto
new file mode 100644
index 00000000..bcf1ae2d
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewElementReactionInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGSkillPreviewReactionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGSkillPreviewElementReactionInfo {
+ repeated uint32 fresh_list = 8;
+ repeated uint32 source_list = 2;
+ repeated GCGSkillPreviewReactionInfo reaction_list = 14;
+}
diff --git a/protocol/proto/GCGSkillPreviewHpInfo.proto b/protocol/proto/GCGSkillPreviewHpInfo.proto
new file mode 100644
index 00000000..45d5de2c
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewHpInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGSkillHpChangeType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGSkillPreviewHpInfo {
+ GCGSkillHpChangeType change_type = 4;
+ uint32 hp_change_value = 13;
+}
diff --git a/protocol/proto/GCGSkillPreviewInfo.proto b/protocol/proto/GCGSkillPreviewInfo.proto
new file mode 100644
index 00000000..bacad73b
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewInfo.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGSkillPreviewCardInfo.proto";
+import "GCGSkillPreviewElementReactionInfo.proto";
+import "GCGSkillPreviewHpInfo.proto";
+import "GCGSkillPreviewOnstageChangeInfo.proto";
+import "GCGSkillPreviewTokenChangeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGSkillPreviewInfo {
+ repeated GCGSkillPreviewCardInfo rm_card_list = 12;
+ map hp_info_map = 8;
+ map reaction_info_map = 5;
+ repeated GCGSkillPreviewOnstageChangeInfo change_onstage_character_list = 9;
+ uint32 skill_id = 6;
+ map card_token_change_map = 3;
+ repeated GCGSkillPreviewCardInfo add_card_list = 11;
+}
diff --git a/protocol/proto/GCGSkillPreviewNotify.proto b/protocol/proto/GCGSkillPreviewNotify.proto
new file mode 100644
index 00000000..ea31b0fc
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGSkillPreviewInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7503
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGSkillPreviewNotify {
+ repeated GCGSkillPreviewInfo skill_preview_list = 9;
+ uint32 onstage_card_guid = 5;
+ uint32 controller_id = 15;
+}
diff --git a/protocol/proto/GCGSkillPreviewOnstageChangeInfo.proto b/protocol/proto/GCGSkillPreviewOnstageChangeInfo.proto
new file mode 100644
index 00000000..8a13035a
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewOnstageChangeInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGSkillPreviewOnstageChangeInfo {
+ uint32 target_onstage_card_guid = 6;
+ uint32 source_onstage_card_guid = 15;
+}
diff --git a/protocol/proto/GCGSkillPreviewReactionInfo.proto b/protocol/proto/GCGSkillPreviewReactionInfo.proto
new file mode 100644
index 00000000..5bd2c167
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewReactionInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGSkillPreviewReactionInfo {
+ uint32 source_element = 13;
+ uint32 target_element = 1;
+}
diff --git a/protocol/proto/GCGSkillPreviewTokenChangeInfo.proto b/protocol/proto/GCGSkillPreviewTokenChangeInfo.proto
new file mode 100644
index 00000000..13b9a466
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewTokenChangeInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGSkillPreviewTokenInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGSkillPreviewTokenChangeInfo {
+ repeated GCGSkillPreviewTokenInfo token_change_list = 14;
+}
diff --git a/protocol/proto/GCGSkillPreviewTokenInfo.proto b/protocol/proto/GCGSkillPreviewTokenInfo.proto
new file mode 100644
index 00000000..f60c64ad
--- /dev/null
+++ b/protocol/proto/GCGSkillPreviewTokenInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGSkillPreviewTokenInfo {
+ uint32 token_type = 3;
+ uint32 after_value = 12;
+ uint32 before_value = 15;
+}
diff --git a/protocol/proto/GCGStartChallengeReq.proto b/protocol/proto/GCGStartChallengeReq.proto
new file mode 100644
index 00000000..a79b962a
--- /dev/null
+++ b/protocol/proto/GCGStartChallengeReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGLevelType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7595
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGStartChallengeReq {
+ GCGLevelType level_type = 5;
+ uint32 config_id = 13;
+ uint32 level_id = 12;
+}
diff --git a/protocol/proto/GCGStartChallengeRsp.proto b/protocol/proto/GCGStartChallengeRsp.proto
new file mode 100644
index 00000000..79000080
--- /dev/null
+++ b/protocol/proto/GCGStartChallengeRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGLevelType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7763
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGStartChallengeRsp {
+ GCGLevelType level_type = 12;
+ int32 retcode = 15;
+ uint32 config_id = 6;
+ uint32 level_id = 1;
+}
diff --git a/protocol/proto/GCGTCInviteReq.proto b/protocol/proto/GCGTCInviteReq.proto
new file mode 100644
index 00000000..814ccef4
--- /dev/null
+++ b/protocol/proto/GCGTCInviteReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7922
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GCGTCInviteReq {
+ uint32 level_id = 3;
+ uint32 character_id = 6;
+}
diff --git a/protocol/proto/GCGTCInviteRsp.proto b/protocol/proto/GCGTCInviteRsp.proto
new file mode 100644
index 00000000..a31f5f02
--- /dev/null
+++ b/protocol/proto/GCGTCInviteRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7328
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGTCInviteRsp {
+ uint32 character_id = 12;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/GCGTCTavernChallengeData.proto b/protocol/proto/GCGTCTavernChallengeData.proto
new file mode 100644
index 00000000..af9919b9
--- /dev/null
+++ b/protocol/proto/GCGTCTavernChallengeData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGTCTavernChallengeData {
+ repeated uint32 unlock_level_id_list = 1;
+ uint32 character_id = 8;
+}
diff --git a/protocol/proto/GCGTCTavernChallengeDataNotify.proto b/protocol/proto/GCGTCTavernChallengeDataNotify.proto
new file mode 100644
index 00000000..98161cee
--- /dev/null
+++ b/protocol/proto/GCGTCTavernChallengeDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGTCTavernChallengeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7294
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGTCTavernChallengeDataNotify {
+ repeated GCGTCTavernChallengeData tavern_challenge_list = 13;
+}
diff --git a/protocol/proto/GCGTCTavernChallengeUpdateNotify.proto b/protocol/proto/GCGTCTavernChallengeUpdateNotify.proto
new file mode 100644
index 00000000..61360675
--- /dev/null
+++ b/protocol/proto/GCGTCTavernChallengeUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGTCTavernChallengeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7184
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGTCTavernChallengeUpdateNotify {
+ GCGTCTavernChallengeData tavern_challenge = 5;
+}
diff --git a/protocol/proto/GCGTCTavernInfoNotify.proto b/protocol/proto/GCGTCTavernInfoNotify.proto
new file mode 100644
index 00000000..0731216a
--- /dev/null
+++ b/protocol/proto/GCGTCTavernInfoNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7011
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGTCTavernInfoNotify {
+ bool is_last_duel_win = 14;
+ uint32 level_id = 11;
+ bool is_owner_in_duel = 5;
+ uint32 point_id = 3;
+ uint32 avatar_id = 12;
+ uint32 character_id = 7;
+ uint32 element_type = 10;
+}
diff --git a/protocol/proto/GCGTavernNpcInfo.proto b/protocol/proto/GCGTavernNpcInfo.proto
new file mode 100644
index 00000000..db890b5d
--- /dev/null
+++ b/protocol/proto/GCGTavernNpcInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGTavernNpcInfo {
+ uint32 id = 6;
+ uint32 level_id = 10;
+ uint32 scene_point_id = 3;
+}
diff --git a/protocol/proto/GCGTavernNpcInfoNotify.proto b/protocol/proto/GCGTavernNpcInfoNotify.proto
new file mode 100644
index 00000000..b641491c
--- /dev/null
+++ b/protocol/proto/GCGTavernNpcInfoNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGTavernNpcInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7290
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGTavernNpcInfoNotify {
+ repeated GCGTavernNpcInfo week_npc_list = 1;
+ GCGTavernNpcInfo character_npc = 5;
+ repeated GCGTavernNpcInfo const_npc_list = 15;
+}
diff --git a/protocol/proto/GCGToken.proto b/protocol/proto/GCGToken.proto
new file mode 100644
index 00000000..2a822315
--- /dev/null
+++ b/protocol/proto/GCGToken.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGToken {
+ uint32 value = 11;
+ uint32 key = 4;
+}
diff --git a/protocol/proto/GCGWaitingCharacter.proto b/protocol/proto/GCGWaitingCharacter.proto
new file mode 100644
index 00000000..6044a4a4
--- /dev/null
+++ b/protocol/proto/GCGWaitingCharacter.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGWaitingCharacter {
+ uint32 card_id = 2;
+ uint32 cond_count = 14;
+}
diff --git a/protocol/proto/GCGWeekChallengeInfo.proto b/protocol/proto/GCGWeekChallengeInfo.proto
new file mode 100644
index 00000000..eff960f4
--- /dev/null
+++ b/protocol/proto/GCGWeekChallengeInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGWeekChallengeInfo {
+ uint32 npc_id = 4;
+ bool is_finished = 7;
+ uint32 unlock_time = 1;
+}
diff --git a/protocol/proto/GCGWeekChallengeInfoNotify.proto b/protocol/proto/GCGWeekChallengeInfoNotify.proto
new file mode 100644
index 00000000..d0adaf86
--- /dev/null
+++ b/protocol/proto/GCGWeekChallengeInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGWeekChallengeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7615
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGWeekChallengeInfoNotify {
+ repeated GCGWeekChallengeInfo challenge_info_list = 15;
+ uint32 next_refresh_time = 7;
+}
diff --git a/protocol/proto/GCGWorldChallengeUnlockNotify.proto b/protocol/proto/GCGWorldChallengeUnlockNotify.proto
new file mode 100644
index 00000000..af80ea5f
--- /dev/null
+++ b/protocol/proto/GCGWorldChallengeUnlockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7204
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GCGWorldChallengeUnlockNotify {
+ repeated uint32 unlock_id_list = 8;
+}
diff --git a/protocol/proto/GCGZone.proto b/protocol/proto/GCGZone.proto
new file mode 100644
index 00000000..3904c881
--- /dev/null
+++ b/protocol/proto/GCGZone.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GCGZone {
+ repeated uint32 card_list = 4;
+}
diff --git a/protocol/proto/GCGZoneType.proto b/protocol/proto/GCGZoneType.proto
new file mode 100644
index 00000000..627ad8f3
--- /dev/null
+++ b/protocol/proto/GCGZoneType.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GCGZoneType {
+ GCG_ZONE_TYPE_INVALID = 0;
+ GCG_ZONE_TYPE_DECK = 1;
+ GCG_ZONE_TYPE_HAND = 2;
+ GCG_ZONE_TYPE_CHARACTER = 3;
+ GCG_ZONE_TYPE_MODIFY = 4;
+ GCG_ZONE_TYPE_SUMMON = 5;
+ GCG_ZONE_TYPE_ASSIST = 7;
+ GCG_ZONE_TYPE_ONSTAGE = 8;
+ GCG_ZONE_TYPE_RULE = 9;
+}
diff --git a/protocol/proto/GMObstacleInfo.proto b/protocol/proto/GMObstacleInfo.proto
new file mode 100644
index 00000000..9b3eeef8
--- /dev/null
+++ b/protocol/proto/GMObstacleInfo.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MathQuaternion.proto";
+import "Vector.proto";
+import "Vector3Int.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GMObstacleInfo {
+ int64 timestamp = 14;
+ ShapeType shape = 2;
+ int32 obstacle_id = 13;
+ MathQuaternion rotation = 3;
+ Vector center = 8;
+ Vector3Int extents = 15;
+
+ enum ShapeType {
+ OBSTACLE_SHAPE_CAPSULE = 0;
+ OBSTACLE_SHAPE_BOX = 1;
+ }
+}
diff --git a/protocol/proto/GMShowNavMeshReq.proto b/protocol/proto/GMShowNavMeshReq.proto
new file mode 100644
index 00000000..a879b3c9
--- /dev/null
+++ b/protocol/proto/GMShowNavMeshReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2357
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GMShowNavMeshReq {
+ Vector center = 1;
+ Vector extent = 5;
+}
diff --git a/protocol/proto/GMShowNavMeshRsp.proto b/protocol/proto/GMShowNavMeshRsp.proto
new file mode 100644
index 00000000..190abf38
--- /dev/null
+++ b/protocol/proto/GMShowNavMeshRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PBNavMeshTile.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2400
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GMShowNavMeshRsp {
+ repeated PBNavMeshTile tiles = 11;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/GMShowObstacleReq.proto b/protocol/proto/GMShowObstacleReq.proto
new file mode 100644
index 00000000..9dd2a1a2
--- /dev/null
+++ b/protocol/proto/GMShowObstacleReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2361
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GMShowObstacleReq {}
diff --git a/protocol/proto/GMShowObstacleRsp.proto b/protocol/proto/GMShowObstacleRsp.proto
new file mode 100644
index 00000000..f788f112
--- /dev/null
+++ b/protocol/proto/GMShowObstacleRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GMObstacleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2329
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GMShowObstacleRsp {
+ int32 retcode = 5;
+ repeated GMObstacleInfo obstacles = 6;
+}
diff --git a/protocol/proto/GachaActivityCreateRobotReq.proto b/protocol/proto/GachaActivityCreateRobotReq.proto
new file mode 100644
index 00000000..09a05d25
--- /dev/null
+++ b/protocol/proto/GachaActivityCreateRobotReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8614
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GachaActivityCreateRobotReq {}
diff --git a/protocol/proto/GachaActivityCreateRobotRsp.proto b/protocol/proto/GachaActivityCreateRobotRsp.proto
new file mode 100644
index 00000000..e890d698
--- /dev/null
+++ b/protocol/proto/GachaActivityCreateRobotRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8610
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GachaActivityCreateRobotRsp {
+ uint32 robot_id = 1;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/GachaActivityDetailInfo.proto b/protocol/proto/GachaActivityDetailInfo.proto
new file mode 100644
index 00000000..40d1afda
--- /dev/null
+++ b/protocol/proto/GachaActivityDetailInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GachaStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GachaActivityDetailInfo {
+ repeated uint32 have_get_robot_list = 6;
+ repeated GachaStageData gacha_stage_list = 4;
+ map have_reward_robot_num_map = 8;
+ uint32 tech_create_robot_id = 3;
+ map robot_num_map = 5;
+ uint32 robot_finish_num = 12;
+}
diff --git a/protocol/proto/GachaActivityNextStageReq.proto b/protocol/proto/GachaActivityNextStageReq.proto
new file mode 100644
index 00000000..0ba7651c
--- /dev/null
+++ b/protocol/proto/GachaActivityNextStageReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8257
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GachaActivityNextStageReq {}
diff --git a/protocol/proto/GachaActivityNextStageRsp.proto b/protocol/proto/GachaActivityNextStageRsp.proto
new file mode 100644
index 00000000..c46b37cb
--- /dev/null
+++ b/protocol/proto/GachaActivityNextStageRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8918
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GachaActivityNextStageRsp {
+ uint32 stage_id = 13;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/GachaActivityPercentNotify.proto b/protocol/proto/GachaActivityPercentNotify.proto
new file mode 100644
index 00000000..088d542f
--- /dev/null
+++ b/protocol/proto/GachaActivityPercentNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8450
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GachaActivityPercentNotify {
+ uint32 item_stage = 14;
+ map target_num_map = 6;
+ uint32 sub_item_stage = 2;
+ uint32 percent = 13;
+}
diff --git a/protocol/proto/GachaActivityResetReq.proto b/protocol/proto/GachaActivityResetReq.proto
new file mode 100644
index 00000000..845e88aa
--- /dev/null
+++ b/protocol/proto/GachaActivityResetReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8163
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GachaActivityResetReq {
+ uint32 stage_id = 2;
+}
diff --git a/protocol/proto/GachaActivityResetRsp.proto b/protocol/proto/GachaActivityResetRsp.proto
new file mode 100644
index 00000000..b4738776
--- /dev/null
+++ b/protocol/proto/GachaActivityResetRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8240
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GachaActivityResetRsp {
+ int32 retcode = 13;
+ uint32 stage_id = 6;
+}
diff --git a/protocol/proto/GachaActivityTakeRewardReq.proto b/protocol/proto/GachaActivityTakeRewardReq.proto
new file mode 100644
index 00000000..88a7b1e6
--- /dev/null
+++ b/protocol/proto/GachaActivityTakeRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8930
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GachaActivityTakeRewardReq {
+ map robot_num_map = 12;
+}
diff --git a/protocol/proto/GachaActivityTakeRewardRsp.proto b/protocol/proto/GachaActivityTakeRewardRsp.proto
new file mode 100644
index 00000000..f7dd43bc
--- /dev/null
+++ b/protocol/proto/GachaActivityTakeRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8768
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GachaActivityTakeRewardRsp {
+ map robot_num_map = 3;
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/GachaActivityUpdateElemNotify.proto b/protocol/proto/GachaActivityUpdateElemNotify.proto
new file mode 100644
index 00000000..6020889c
--- /dev/null
+++ b/protocol/proto/GachaActivityUpdateElemNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8919
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GachaActivityUpdateElemNotify {
+ uint32 elem_type = 10;
+}
diff --git a/protocol/proto/GachaInfo.proto b/protocol/proto/GachaInfo.proto
new file mode 100644
index 00000000..d602ef8f
--- /dev/null
+++ b/protocol/proto/GachaInfo.proto
@@ -0,0 +1,51 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GachaUpInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GachaInfo {
+ uint32 ten_cost_item_id = 2;
+ uint32 end_time = 14;
+ repeated uint32 display_up4_item_list = 1875;
+ uint32 cur_schedule_daily_gacha_times = 469;
+ repeated GachaUpInfo gacha_up_info_list = 1233;
+ string gacha_prob_url = 8;
+ string gacha_prefab_path = 15;
+ uint32 wish_item_id = 1637;
+ uint32 begin_time = 1;
+ uint32 wish_max_progress = 1222;
+ uint32 schedule_id = 10;
+ string gacha_prob_url_oversea = 1481;
+ uint32 gacha_type = 13;
+ uint32 left_gacha_times = 5;
+ repeated uint32 display_up5_item_list = 2006;
+ uint32 gacha_times_limit = 11;
+ uint32 cost_item_num = 3;
+ bool is_new_wish = 733;
+ uint32 cost_item_id = 9;
+ uint32 ten_cost_item_num = 6;
+ string gacha_preview_prefab_path = 4;
+ uint32 wish_progress = 1819;
+ string title_textmap = 736;
+ string gacha_record_url_oversea = 1854;
+ uint32 gacha_sort_id = 7;
+ string gacha_record_url = 12;
+}
diff --git a/protocol/proto/GachaItem.proto b/protocol/proto/GachaItem.proto
new file mode 100644
index 00000000..2a087260
--- /dev/null
+++ b/protocol/proto/GachaItem.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GachaTransferItem.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GachaItem {
+ ItemParam gacha_item = 7;
+ bool is_gacha_item_new = 6;
+ bool is_flash_card = 8;
+ repeated ItemParam token_item_list = 9;
+ repeated GachaTransferItem transfer_items = 12;
+}
diff --git a/protocol/proto/GachaOpenWishNotify.proto b/protocol/proto/GachaOpenWishNotify.proto
new file mode 100644
index 00000000..d9aef251
--- /dev/null
+++ b/protocol/proto/GachaOpenWishNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1503
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GachaOpenWishNotify {
+ uint32 gacha_type = 2;
+ uint32 gacha_schedule_id = 9;
+}
diff --git a/protocol/proto/GachaSimpleInfoNotify.proto b/protocol/proto/GachaSimpleInfoNotify.proto
new file mode 100644
index 00000000..9893d12c
--- /dev/null
+++ b/protocol/proto/GachaSimpleInfoNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1590
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GachaSimpleInfoNotify {
+ bool is_new = 5;
+}
diff --git a/protocol/proto/GachaStageData.proto b/protocol/proto/GachaStageData.proto
new file mode 100644
index 00000000..b6135ed7
--- /dev/null
+++ b/protocol/proto/GachaStageData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GachaStageData {
+ uint32 stage_id = 15;
+ map target_num_map = 14;
+ bool is_open = 13;
+}
diff --git a/protocol/proto/GachaTransferItem.proto b/protocol/proto/GachaTransferItem.proto
new file mode 100644
index 00000000..a266a604
--- /dev/null
+++ b/protocol/proto/GachaTransferItem.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GachaTransferItem {
+ ItemParam item = 3;
+ bool is_transfer_item_new = 1;
+}
diff --git a/protocol/proto/GachaUpInfo.proto b/protocol/proto/GachaUpInfo.proto
new file mode 100644
index 00000000..c39f2b86
--- /dev/null
+++ b/protocol/proto/GachaUpInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GachaUpInfo {
+ uint32 item_parent_type = 7;
+ repeated uint32 item_id_list = 15;
+}
diff --git a/protocol/proto/GachaWishReq.proto b/protocol/proto/GachaWishReq.proto
new file mode 100644
index 00000000..efd00d71
--- /dev/null
+++ b/protocol/proto/GachaWishReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1507
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GachaWishReq {
+ uint32 gacha_schedule_id = 14;
+ uint32 gacha_type = 13;
+ uint32 item_id = 4;
+}
diff --git a/protocol/proto/GachaWishRsp.proto b/protocol/proto/GachaWishRsp.proto
new file mode 100644
index 00000000..4b792943
--- /dev/null
+++ b/protocol/proto/GachaWishRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1521
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GachaWishRsp {
+ uint32 gacha_type = 8;
+ uint32 gacha_schedule_id = 7;
+ uint32 wish_max_progress = 2;
+ uint32 wish_progress = 5;
+ uint32 wish_item_id = 3;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/GadgetAutoPickDropInfoNotify.proto b/protocol/proto/GadgetAutoPickDropInfoNotify.proto
new file mode 100644
index 00000000..61c06577
--- /dev/null
+++ b/protocol/proto/GadgetAutoPickDropInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Item.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 897
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetAutoPickDropInfoNotify {
+ repeated Item item_list = 11;
+}
diff --git a/protocol/proto/GadgetBornType.proto b/protocol/proto/GadgetBornType.proto
new file mode 100644
index 00000000..af238e2c
--- /dev/null
+++ b/protocol/proto/GadgetBornType.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GadgetBornType {
+ GADGET_BORN_TYPE_NONE = 0;
+ GADGET_BORN_TYPE_IN_AIR = 1;
+ GADGET_BORN_TYPE_PLAYER = 2;
+ GADGET_BORN_TYPE_MONSTER_HIT = 3;
+ GADGET_BORN_TYPE_MONSTER_DIE = 4;
+ GADGET_BORN_TYPE_GADGET = 5;
+ GADGET_BORN_TYPE_GROUND = 6;
+}
diff --git a/protocol/proto/GadgetChainLevelChangeNotify.proto b/protocol/proto/GadgetChainLevelChangeNotify.proto
new file mode 100644
index 00000000..0dcd92a3
--- /dev/null
+++ b/protocol/proto/GadgetChainLevelChangeNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 822
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetChainLevelChangeNotify {
+ map gadget_chain_level_map = 2;
+}
diff --git a/protocol/proto/GadgetChainLevelUpdateNotify.proto b/protocol/proto/GadgetChainLevelUpdateNotify.proto
new file mode 100644
index 00000000..229475b0
--- /dev/null
+++ b/protocol/proto/GadgetChainLevelUpdateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 853
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetChainLevelUpdateNotify {
+ map gadget_chain_level_map = 12;
+}
diff --git a/protocol/proto/GadgetChangeLevelTagReq.proto b/protocol/proto/GadgetChangeLevelTagReq.proto
new file mode 100644
index 00000000..db06d883
--- /dev/null
+++ b/protocol/proto/GadgetChangeLevelTagReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomGadgetTreeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 843
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GadgetChangeLevelTagReq {
+ uint32 level_tag_id = 14;
+ CustomGadgetTreeInfo combination_info = 11;
+ uint32 gadget_entity_id = 10;
+}
diff --git a/protocol/proto/GadgetChangeLevelTagRsp.proto b/protocol/proto/GadgetChangeLevelTagRsp.proto
new file mode 100644
index 00000000..b74871c4
--- /dev/null
+++ b/protocol/proto/GadgetChangeLevelTagRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 874
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetChangeLevelTagRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/GadgetCrucibleInfo.proto b/protocol/proto/GadgetCrucibleInfo.proto
new file mode 100644
index 00000000..4f8a1837
--- /dev/null
+++ b/protocol/proto/GadgetCrucibleInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GadgetCrucibleInfo {
+ uint32 mp_play_id = 1;
+ uint32 prepare_end_time = 2;
+}
diff --git a/protocol/proto/GadgetCustomTreeInfoNotify.proto b/protocol/proto/GadgetCustomTreeInfoNotify.proto
new file mode 100644
index 00000000..bc017ce5
--- /dev/null
+++ b/protocol/proto/GadgetCustomTreeInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomGadgetTreeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 850
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetCustomTreeInfoNotify {
+ CustomGadgetTreeInfo custom_gadget_tree_info = 5;
+ uint32 gadget_entity_id = 12;
+}
diff --git a/protocol/proto/GadgetGeneralRewardInfo.proto b/protocol/proto/GadgetGeneralRewardInfo.proto
new file mode 100644
index 00000000..c949470d
--- /dev/null
+++ b/protocol/proto/GadgetGeneralRewardInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GadgetGeneralRewardInfo {
+ uint32 resin = 1;
+ uint32 dead_time = 2;
+ repeated uint32 remain_uid_list = 3;
+ repeated uint32 qualify_uid_list = 4;
+ ItemParam item_param = 5;
+}
diff --git a/protocol/proto/GadgetGeneralRewardInfoNotify.proto b/protocol/proto/GadgetGeneralRewardInfoNotify.proto
new file mode 100644
index 00000000..2c5b10b4
--- /dev/null
+++ b/protocol/proto/GadgetGeneralRewardInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GadgetGeneralRewardInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 848
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetGeneralRewardInfoNotify {
+ uint32 entity_id = 13;
+ GadgetGeneralRewardInfo general_reward_info = 9;
+}
diff --git a/protocol/proto/GadgetInteractReq.proto b/protocol/proto/GadgetInteractReq.proto
new file mode 100644
index 00000000..fb65fbae
--- /dev/null
+++ b/protocol/proto/GadgetInteractReq.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InterOpType.proto";
+import "ResinCostType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 872
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GadgetInteractReq {
+ uint32 gadget_id = 8;
+ bool is_use_condense_resin = 15;
+ InterOpType op_type = 5;
+ ResinCostType resin_cost_type = 1;
+ uint32 ui_interact_id = 2;
+ uint32 gadget_entity_id = 4;
+}
diff --git a/protocol/proto/GadgetInteractRsp.proto b/protocol/proto/GadgetInteractRsp.proto
new file mode 100644
index 00000000..641f78c2
--- /dev/null
+++ b/protocol/proto/GadgetInteractRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InterOpType.proto";
+import "InteractType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 898
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetInteractRsp {
+ uint32 gadget_entity_id = 10;
+ InteractType interact_type = 2;
+ InterOpType op_type = 3;
+ int32 retcode = 7;
+ uint32 gadget_id = 15;
+}
diff --git a/protocol/proto/GadgetPlayDataNotify.proto b/protocol/proto/GadgetPlayDataNotify.proto
new file mode 100644
index 00000000..7596da14
--- /dev/null
+++ b/protocol/proto/GadgetPlayDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 831
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetPlayDataNotify {
+ uint32 play_type = 12;
+ uint32 progress = 9;
+ uint32 entity_id = 6;
+}
diff --git a/protocol/proto/GadgetPlayInfo.proto b/protocol/proto/GadgetPlayInfo.proto
new file mode 100644
index 00000000..36a0e945
--- /dev/null
+++ b/protocol/proto/GadgetPlayInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GadgetCrucibleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GadgetPlayInfo {
+ uint32 play_type = 1;
+ uint32 duration = 2;
+ repeated uint32 progress_stage_list = 3;
+ uint32 start_cd = 4;
+ uint32 start_time = 5;
+ uint32 progress = 6;
+ oneof play_info {
+ GadgetCrucibleInfo crucible_info = 21;
+ }
+}
diff --git a/protocol/proto/GadgetPlayStartNotify.proto b/protocol/proto/GadgetPlayStartNotify.proto
new file mode 100644
index 00000000..b499d7eb
--- /dev/null
+++ b/protocol/proto/GadgetPlayStartNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 873
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetPlayStartNotify {
+ uint32 start_time = 14;
+ uint32 entity_id = 15;
+ uint32 play_type = 8;
+}
diff --git a/protocol/proto/GadgetPlayStopNotify.proto b/protocol/proto/GadgetPlayStopNotify.proto
new file mode 100644
index 00000000..9d94d448
--- /dev/null
+++ b/protocol/proto/GadgetPlayStopNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GadgetPlayUidInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 899
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetPlayStopNotify {
+ bool is_win = 14;
+ uint32 entity_id = 7;
+ uint32 play_type = 4;
+ repeated GadgetPlayUidInfo uid_info_list = 8;
+ uint32 score = 5;
+ uint32 cost_time = 6;
+}
diff --git a/protocol/proto/GadgetPlayUidInfo.proto b/protocol/proto/GadgetPlayUidInfo.proto
new file mode 100644
index 00000000..9e3ea6f3
--- /dev/null
+++ b/protocol/proto/GadgetPlayUidInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GadgetPlayUidInfo {
+ ProfilePicture profile_picture = 2;
+ uint32 battle_watcher_id = 6;
+ uint32 uid = 7;
+ uint32 icon = 14;
+ uint32 score = 4;
+ string nickname = 3;
+ string online_id = 8;
+}
diff --git a/protocol/proto/GadgetPlayUidOpNotify.proto b/protocol/proto/GadgetPlayUidOpNotify.proto
new file mode 100644
index 00000000..4ca1f4ed
--- /dev/null
+++ b/protocol/proto/GadgetPlayUidOpNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 875
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetPlayUidOpNotify {
+ uint32 entity_id = 11;
+ repeated uint32 uid_list = 2;
+ uint32 play_type = 6;
+ string param_str = 1;
+ uint32 op = 7;
+ repeated uint32 param_list = 4;
+}
diff --git a/protocol/proto/GadgetStateNotify.proto b/protocol/proto/GadgetStateNotify.proto
new file mode 100644
index 00000000..de08994a
--- /dev/null
+++ b/protocol/proto/GadgetStateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 812
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetStateNotify {
+ uint32 gadget_entity_id = 5;
+ uint32 gadget_state = 3;
+ bool is_enable_interact = 11;
+}
diff --git a/protocol/proto/GadgetTalkChangeNotify.proto b/protocol/proto/GadgetTalkChangeNotify.proto
new file mode 100644
index 00000000..fb5744fc
--- /dev/null
+++ b/protocol/proto/GadgetTalkChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 839
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GadgetTalkChangeNotify {
+ uint32 gadget_entity_id = 5;
+ uint32 cur_gadget_talk_state = 15;
+}
diff --git a/protocol/proto/GalleryBalloonScoreNotify.proto b/protocol/proto/GalleryBalloonScoreNotify.proto
new file mode 100644
index 00000000..eeff586f
--- /dev/null
+++ b/protocol/proto/GalleryBalloonScoreNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5512
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryBalloonScoreNotify {
+ uint32 gallery_id = 9;
+ map uid_score_map = 7;
+}
diff --git a/protocol/proto/GalleryBalloonShootNotify.proto b/protocol/proto/GalleryBalloonShootNotify.proto
new file mode 100644
index 00000000..2e7988af
--- /dev/null
+++ b/protocol/proto/GalleryBalloonShootNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5598
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryBalloonShootNotify {
+ uint32 trigger_entity_id = 12;
+ uint32 gallery_id = 5;
+ uint32 combo = 14;
+ uint64 combo_disable_time = 6;
+ int32 add_score = 11;
+ uint32 cur_score = 13;
+}
diff --git a/protocol/proto/GalleryBounceConjuringHitNotify.proto b/protocol/proto/GalleryBounceConjuringHitNotify.proto
new file mode 100644
index 00000000..b82fb811
--- /dev/null
+++ b/protocol/proto/GalleryBounceConjuringHitNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5505
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryBounceConjuringHitNotify {
+ uint32 add_score = 8;
+ bool is_perfect = 5;
+ uint32 gallery_id = 10;
+}
diff --git a/protocol/proto/GalleryBrokenFloorFallNotify.proto b/protocol/proto/GalleryBrokenFloorFallNotify.proto
new file mode 100644
index 00000000..e586e737
--- /dev/null
+++ b/protocol/proto/GalleryBrokenFloorFallNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5575
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryBrokenFloorFallNotify {
+ uint32 fall_count = 3;
+ uint32 gallery_id = 5;
+}
diff --git a/protocol/proto/GalleryBulletHitNotify.proto b/protocol/proto/GalleryBulletHitNotify.proto
new file mode 100644
index 00000000..c9cd3cbb
--- /dev/null
+++ b/protocol/proto/GalleryBulletHitNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5531
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryBulletHitNotify {
+ uint32 hit_count = 14;
+ uint32 gallery_id = 12;
+}
diff --git a/protocol/proto/GalleryCrystalLinkBuffInfoNotify.proto b/protocol/proto/GalleryCrystalLinkBuffInfoNotify.proto
new file mode 100644
index 00000000..66089b81
--- /dev/null
+++ b/protocol/proto/GalleryCrystalLinkBuffInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5539
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryCrystalLinkBuffInfoNotify {
+ uint32 gallery_id = 13;
+ bool is_buff_valid = 11;
+ uint32 buff_id = 14;
+}
diff --git a/protocol/proto/GalleryCrystalLinkKillMonsterNotify.proto b/protocol/proto/GalleryCrystalLinkKillMonsterNotify.proto
new file mode 100644
index 00000000..b349c8e3
--- /dev/null
+++ b/protocol/proto/GalleryCrystalLinkKillMonsterNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5547
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryCrystalLinkKillMonsterNotify {
+ uint32 score = 7;
+ uint32 gallery_id = 9;
+}
diff --git a/protocol/proto/GalleryFallCatchNotify.proto b/protocol/proto/GalleryFallCatchNotify.proto
new file mode 100644
index 00000000..957753fc
--- /dev/null
+++ b/protocol/proto/GalleryFallCatchNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5507
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryFallCatchNotify {
+ uint32 cur_score = 6;
+ uint32 time_cost = 11;
+ map ball_catch_count_map = 15;
+ uint32 add_score = 1;
+ bool is_ground = 12;
+ uint32 gallery_id = 10;
+}
diff --git a/protocol/proto/GalleryFallScoreNotify.proto b/protocol/proto/GalleryFallScoreNotify.proto
new file mode 100644
index 00000000..051777c7
--- /dev/null
+++ b/protocol/proto/GalleryFallScoreNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FallPlayerBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5521
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryFallScoreNotify {
+ uint32 gallery_id = 7;
+ map uid_brief_map = 1;
+}
diff --git a/protocol/proto/GalleryFlowerCatchNotify.proto b/protocol/proto/GalleryFlowerCatchNotify.proto
new file mode 100644
index 00000000..19f6a8ea
--- /dev/null
+++ b/protocol/proto/GalleryFlowerCatchNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5573
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryFlowerCatchNotify {
+ uint32 cur_score = 12;
+ uint32 add_score = 14;
+ uint32 gallery_id = 5;
+}
diff --git a/protocol/proto/GalleryFlowerStartParam.proto b/protocol/proto/GalleryFlowerStartParam.proto
new file mode 100644
index 00000000..0c7bf4d7
--- /dev/null
+++ b/protocol/proto/GalleryFlowerStartParam.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GalleryFlowerStartParam {
+ uint32 target_score = 5;
+}
diff --git a/protocol/proto/GalleryIslandPartyDownHillInfoNotify.proto b/protocol/proto/GalleryIslandPartyDownHillInfoNotify.proto
new file mode 100644
index 00000000..266432ff
--- /dev/null
+++ b/protocol/proto/GalleryIslandPartyDownHillInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5522
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryIslandPartyDownHillInfoNotify {
+ uint32 gallery_id = 2;
+ uint32 coin = 9;
+ uint32 total_kill_monster_count = 11;
+}
diff --git a/protocol/proto/GalleryPreStartNotify.proto b/protocol/proto/GalleryPreStartNotify.proto
new file mode 100644
index 00000000..842db53a
--- /dev/null
+++ b/protocol/proto/GalleryPreStartNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5599
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryPreStartNotify {
+ uint32 gallery_id = 10;
+ uint32 pre_start_end_time = 9;
+}
diff --git a/protocol/proto/GalleryStageType.proto b/protocol/proto/GalleryStageType.proto
new file mode 100644
index 00000000..459a2a0b
--- /dev/null
+++ b/protocol/proto/GalleryStageType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GalleryStageType {
+ GALLERY_STAGE_TYPE_NONE = 0;
+ GALLERY_STAGE_TYPE_PRESTART = 1;
+ GALLERY_STAGE_TYPE_START = 2;
+}
diff --git a/protocol/proto/GalleryStartNotify.proto b/protocol/proto/GalleryStartNotify.proto
new file mode 100644
index 00000000..008fbd1a
--- /dev/null
+++ b/protocol/proto/GalleryStartNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryFlowerStartParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5572
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryStartNotify {
+ uint32 end_time = 6;
+ uint32 player_count = 11;
+ uint32 owner_uid = 9;
+ uint32 gallery_id = 13;
+ uint32 start_time = 5;
+ oneof detail {
+ GalleryFlowerStartParam flower_start_param = 15;
+ }
+}
diff --git a/protocol/proto/GalleryStartSource.proto b/protocol/proto/GalleryStartSource.proto
new file mode 100644
index 00000000..e0753d84
--- /dev/null
+++ b/protocol/proto/GalleryStartSource.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GalleryStartSource {
+ GALLERY_START_SOURCE_BY_NONE = 0;
+ GALLERY_START_SOURCE_BY_MATCH = 1;
+ GALLERY_START_SOURCE_BY_DRAFT = 2;
+}
diff --git a/protocol/proto/GalleryStopNotify.proto b/protocol/proto/GalleryStopNotify.proto
new file mode 100644
index 00000000..ac1fdb79
--- /dev/null
+++ b/protocol/proto/GalleryStopNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5535
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryStopNotify {
+ uint32 gallery_id = 8;
+}
diff --git a/protocol/proto/GalleryStopReason.proto b/protocol/proto/GalleryStopReason.proto
new file mode 100644
index 00000000..bc424d21
--- /dev/null
+++ b/protocol/proto/GalleryStopReason.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GalleryStopReason {
+ GALLERY_STOP_REASON_NONE = 0;
+ GALLERY_STOP_REASON_TIMEUP = 1;
+ GALLERY_STOP_REASON_CLIENT_INTERRUPT = 2;
+ GALLERY_STOP_REASON_LUA_INTERRUPT_SUCCESS = 3;
+ GALLERY_STOP_REASON_LUA_INTERRUPT_FAIL = 4;
+ GALLERY_STOP_REASON_OWNER_LEAVE_SCENE = 5;
+ GALLERY_STOP_REASON_PLAY_INIT_FAILED = 6;
+ GALLERY_STOP_REASON_OTHER_PLAYER_ENTER = 7;
+ GALLERY_STOP_REASON_AVATAR_DIE = 8;
+ GALLERY_STOP_REASON_FINISHED = 9;
+ GALLERY_STOP_REASON_FUNGUS_ALL_DIE = 10;
+}
diff --git a/protocol/proto/GallerySumoKillMonsterNotify.proto b/protocol/proto/GallerySumoKillMonsterNotify.proto
new file mode 100644
index 00000000..256f0f8d
--- /dev/null
+++ b/protocol/proto/GallerySumoKillMonsterNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5582
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GallerySumoKillMonsterNotify {
+ uint32 kill_normal_mosnter_num = 4;
+ uint32 score = 7;
+ uint32 kill_elite_monster_num = 14;
+ uint32 gallery_id = 11;
+}
diff --git a/protocol/proto/GalleryWillStartCountdownNotify.proto b/protocol/proto/GalleryWillStartCountdownNotify.proto
new file mode 100644
index 00000000..40ad5773
--- /dev/null
+++ b/protocol/proto/GalleryWillStartCountdownNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStartSource.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5594
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GalleryWillStartCountdownNotify {
+ GalleryStartSource start_source = 11;
+ uint32 end_time = 12;
+ bool is_end = 7;
+ uint32 gallery_id = 14;
+}
diff --git a/protocol/proto/GameplayRecommendationElementReliquaryRequest.proto b/protocol/proto/GameplayRecommendationElementReliquaryRequest.proto
new file mode 100644
index 00000000..f4cad05b
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationElementReliquaryRequest.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GameplayRecommendationElementReliquaryRequest {
+ uint32 equip_type = 9;
+ uint32 element_type = 12;
+}
diff --git a/protocol/proto/GameplayRecommendationElementReliquaryResponse.proto b/protocol/proto/GameplayRecommendationElementReliquaryResponse.proto
new file mode 100644
index 00000000..155d6ba5
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationElementReliquaryResponse.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GameplayRecommendationReliquaryMainPropData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GameplayRecommendationElementReliquaryResponse {
+ uint32 element_type = 11;
+ repeated GameplayRecommendationReliquaryMainPropData main_prop_data_list = 5;
+ uint32 equip_type = 15;
+}
diff --git a/protocol/proto/GameplayRecommendationReliquaryMainPropData.proto b/protocol/proto/GameplayRecommendationReliquaryMainPropData.proto
new file mode 100644
index 00000000..e2983266
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationReliquaryMainPropData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GameplayRecommendationReliquaryMainPropData {
+ uint32 permillage = 1;
+ uint32 main_prop_id = 12;
+}
diff --git a/protocol/proto/GameplayRecommendationReliquaryRequest.proto b/protocol/proto/GameplayRecommendationReliquaryRequest.proto
new file mode 100644
index 00000000..80494502
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationReliquaryRequest.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GameplayRecommendationReliquaryRequest {
+ uint32 equip_type = 6;
+}
diff --git a/protocol/proto/GameplayRecommendationReliquaryResponse.proto b/protocol/proto/GameplayRecommendationReliquaryResponse.proto
new file mode 100644
index 00000000..febda8aa
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationReliquaryResponse.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GameplayRecommendationReliquaryMainPropData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GameplayRecommendationReliquaryResponse {
+ repeated GameplayRecommendationReliquaryMainPropData main_prop_data_list = 8;
+ uint32 equip_type = 3;
+}
diff --git a/protocol/proto/GameplayRecommendationSkillRequest.proto b/protocol/proto/GameplayRecommendationSkillRequest.proto
new file mode 100644
index 00000000..7bdc9f64
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationSkillRequest.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GameplayRecommendationSkillRequest {
+ uint32 skill_depot_id = 1;
+}
diff --git a/protocol/proto/GameplayRecommendationSkillResponse.proto b/protocol/proto/GameplayRecommendationSkillResponse.proto
new file mode 100644
index 00000000..72c399dd
--- /dev/null
+++ b/protocol/proto/GameplayRecommendationSkillResponse.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GameplayRecommendationSkillResponse {
+ uint32 skill_depot_id = 13;
+ repeated uint32 skill_id_list = 9;
+}
diff --git a/protocol/proto/GatherGadgetInfo.proto b/protocol/proto/GatherGadgetInfo.proto
new file mode 100644
index 00000000..4d4ad580
--- /dev/null
+++ b/protocol/proto/GatherGadgetInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GatherGadgetInfo {
+ uint32 item_id = 1;
+ bool is_forbid_guest = 2;
+}
diff --git a/protocol/proto/GearActivityDetailInfo.proto b/protocol/proto/GearActivityDetailInfo.proto
new file mode 100644
index 00000000..b2c6237c
--- /dev/null
+++ b/protocol/proto/GearActivityDetailInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GearLevelData.proto";
+import "JigsawPictureData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GearActivityDetailInfo {
+ repeated GearLevelData gear_level_data_list = 14;
+ JigsawPictureData jigsaw_picture_data = 8;
+}
diff --git a/protocol/proto/GearActivityFinishPlayGearReq.proto b/protocol/proto/GearActivityFinishPlayGearReq.proto
new file mode 100644
index 00000000..72b649a2
--- /dev/null
+++ b/protocol/proto/GearActivityFinishPlayGearReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GearColumnInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21834
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GearActivityFinishPlayGearReq {
+ bool is_success = 4;
+ bool use_clue = 12;
+ repeated GearColumnInfo gear_column_info_list = 9;
+ uint32 level_id = 5;
+}
diff --git a/protocol/proto/GearActivityFinishPlayGearRsp.proto b/protocol/proto/GearActivityFinishPlayGearRsp.proto
new file mode 100644
index 00000000..2fbe5766
--- /dev/null
+++ b/protocol/proto/GearActivityFinishPlayGearRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21800
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GearActivityFinishPlayGearRsp {
+ int32 retcode = 2;
+ bool is_success = 15;
+ uint32 level_id = 3;
+}
diff --git a/protocol/proto/GearActivityFinishPlayPictureReq.proto b/protocol/proto/GearActivityFinishPlayPictureReq.proto
new file mode 100644
index 00000000..c6ef5b6f
--- /dev/null
+++ b/protocol/proto/GearActivityFinishPlayPictureReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21054
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GearActivityFinishPlayPictureReq {
+ bool is_success = 8;
+}
diff --git a/protocol/proto/GearActivityFinishPlayPictureRsp.proto b/protocol/proto/GearActivityFinishPlayPictureRsp.proto
new file mode 100644
index 00000000..044bcdaa
--- /dev/null
+++ b/protocol/proto/GearActivityFinishPlayPictureRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21851
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GearActivityFinishPlayPictureRsp {
+ int32 retcode = 12;
+ bool is_success = 6;
+}
diff --git a/protocol/proto/GearActivityStartPlayGearReq.proto b/protocol/proto/GearActivityStartPlayGearReq.proto
new file mode 100644
index 00000000..e9c259fa
--- /dev/null
+++ b/protocol/proto/GearActivityStartPlayGearReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23467
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GearActivityStartPlayGearReq {
+ uint32 level_id = 5;
+}
diff --git a/protocol/proto/GearActivityStartPlayGearRsp.proto b/protocol/proto/GearActivityStartPlayGearRsp.proto
new file mode 100644
index 00000000..2e405a9d
--- /dev/null
+++ b/protocol/proto/GearActivityStartPlayGearRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21025
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GearActivityStartPlayGearRsp {
+ uint32 level_id = 9;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/GearActivityStartPlayPictureReq.proto b/protocol/proto/GearActivityStartPlayPictureReq.proto
new file mode 100644
index 00000000..809e223c
--- /dev/null
+++ b/protocol/proto/GearActivityStartPlayPictureReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24550
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GearActivityStartPlayPictureReq {}
diff --git a/protocol/proto/GearActivityStartPlayPictureRsp.proto b/protocol/proto/GearActivityStartPlayPictureRsp.proto
new file mode 100644
index 00000000..56f29b73
--- /dev/null
+++ b/protocol/proto/GearActivityStartPlayPictureRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23388
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GearActivityStartPlayPictureRsp {
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/GearColumnInfo.proto b/protocol/proto/GearColumnInfo.proto
new file mode 100644
index 00000000..3781a36f
--- /dev/null
+++ b/protocol/proto/GearColumnInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GearColumnInfo {
+ uint32 gear_column_index = 7;
+ bool is_overturn = 3;
+ bool has_gear = 2;
+ uint32 gear_id = 11;
+ uint32 placement_layer = 6;
+}
diff --git a/protocol/proto/GearLevelData.proto b/protocol/proto/GearLevelData.proto
new file mode 100644
index 00000000..f7d79f65
--- /dev/null
+++ b/protocol/proto/GearLevelData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GearLevelData {
+ uint32 shortest_time = 8;
+ uint32 open_time = 11;
+ uint32 last_duration = 5;
+ uint32 level_id = 12;
+ bool is_finished = 9;
+ bool is_open = 3;
+}
diff --git a/protocol/proto/GeneralMatchInfo.proto b/protocol/proto/GeneralMatchInfo.proto
new file mode 100644
index 00000000..0abb3a60
--- /dev/null
+++ b/protocol/proto/GeneralMatchInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GeneralMatchInfo {
+ uint32 match_param = 1;
+ uint32 match_id = 9;
+ repeated MatchPlayerInfo player_list = 5;
+}
diff --git a/protocol/proto/GetActivityInfoReq.proto b/protocol/proto/GetActivityInfoReq.proto
new file mode 100644
index 00000000..e6521fc0
--- /dev/null
+++ b/protocol/proto/GetActivityInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2095
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetActivityInfoReq {
+ repeated uint32 activity_id_list = 4;
+}
diff --git a/protocol/proto/GetActivityInfoRsp.proto b/protocol/proto/GetActivityInfoRsp.proto
new file mode 100644
index 00000000..1d4d8718
--- /dev/null
+++ b/protocol/proto/GetActivityInfoRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityInfo.proto";
+import "Uint32Pair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2041
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetActivityInfoRsp {
+ int32 retcode = 13;
+ repeated ActivityInfo activity_info_list = 5;
+ repeated uint32 activated_sale_id_list = 11;
+ repeated Uint32Pair disable_transfer_point_interaction_list = 10;
+}
diff --git a/protocol/proto/GetActivityScheduleReq.proto b/protocol/proto/GetActivityScheduleReq.proto
new file mode 100644
index 00000000..e4eadf62
--- /dev/null
+++ b/protocol/proto/GetActivityScheduleReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2136
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetActivityScheduleReq {}
diff --git a/protocol/proto/GetActivityScheduleRsp.proto b/protocol/proto/GetActivityScheduleRsp.proto
new file mode 100644
index 00000000..144c186d
--- /dev/null
+++ b/protocol/proto/GetActivityScheduleRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityScheduleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2107
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetActivityScheduleRsp {
+ repeated ActivityScheduleInfo activity_schedule_list = 9;
+ int32 retcode = 13;
+ uint32 remain_fly_sea_lamp_num = 4;
+}
diff --git a/protocol/proto/GetActivityShopSheetInfoReq.proto b/protocol/proto/GetActivityShopSheetInfoReq.proto
new file mode 100644
index 00000000..3b7c7d85
--- /dev/null
+++ b/protocol/proto/GetActivityShopSheetInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 703
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetActivityShopSheetInfoReq {
+ uint32 shop_type = 7;
+}
diff --git a/protocol/proto/GetActivityShopSheetInfoRsp.proto b/protocol/proto/GetActivityShopSheetInfoRsp.proto
new file mode 100644
index 00000000..6ad47629
--- /dev/null
+++ b/protocol/proto/GetActivityShopSheetInfoRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityShopSheetInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 790
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetActivityShopSheetInfoRsp {
+ repeated ActivityShopSheetInfo sheet_info_list = 6;
+ uint32 shop_type = 8;
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/GetAllActivatedBargainDataReq.proto b/protocol/proto/GetAllActivatedBargainDataReq.proto
new file mode 100644
index 00000000..ef00f362
--- /dev/null
+++ b/protocol/proto/GetAllActivatedBargainDataReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 463
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAllActivatedBargainDataReq {}
diff --git a/protocol/proto/GetAllActivatedBargainDataRsp.proto b/protocol/proto/GetAllActivatedBargainDataRsp.proto
new file mode 100644
index 00000000..40ce44d0
--- /dev/null
+++ b/protocol/proto/GetAllActivatedBargainDataRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BargainSnapshot.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 495
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetAllActivatedBargainDataRsp {
+ repeated BargainSnapshot snapshot_list = 5;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/GetAllH5ActivityInfoReq.proto b/protocol/proto/GetAllH5ActivityInfoReq.proto
new file mode 100644
index 00000000..fa9d846f
--- /dev/null
+++ b/protocol/proto/GetAllH5ActivityInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5668
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAllH5ActivityInfoReq {}
diff --git a/protocol/proto/GetAllH5ActivityInfoRsp.proto b/protocol/proto/GetAllH5ActivityInfoRsp.proto
new file mode 100644
index 00000000..b32ac76b
--- /dev/null
+++ b/protocol/proto/GetAllH5ActivityInfoRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "H5ActivityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5676
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetAllH5ActivityInfoRsp {
+ repeated H5ActivityInfo h5_activity_info_list = 15;
+ int32 retcode = 5;
+ uint32 client_red_dot_timestamp = 12;
+}
diff --git a/protocol/proto/GetAllMailNotify.proto b/protocol/proto/GetAllMailNotify.proto
new file mode 100644
index 00000000..30a421ef
--- /dev/null
+++ b/protocol/proto/GetAllMailNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1497
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAllMailNotify {
+ bool is_collected = 13;
+}
diff --git a/protocol/proto/GetAllMailReq.proto b/protocol/proto/GetAllMailReq.proto
new file mode 100644
index 00000000..408bb97b
--- /dev/null
+++ b/protocol/proto/GetAllMailReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1431
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAllMailReq {
+ bool is_collected = 7;
+}
diff --git a/protocol/proto/GetAllMailResultNotify.proto b/protocol/proto/GetAllMailResultNotify.proto
new file mode 100644
index 00000000..5a45b1b8
--- /dev/null
+++ b/protocol/proto/GetAllMailResultNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MailData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1481
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetAllMailResultNotify {
+ string transaction = 9;
+ repeated MailData mail_list = 5;
+ uint32 page_index = 11;
+ uint32 total_page_count = 4;
+ bool is_collected = 7;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/GetAllMailRsp.proto b/protocol/proto/GetAllMailRsp.proto
new file mode 100644
index 00000000..755d7d7b
--- /dev/null
+++ b/protocol/proto/GetAllMailRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MailData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1475
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetAllMailRsp {
+ int32 retcode = 8;
+ repeated MailData mail_list = 14;
+ bool is_collected = 1;
+ bool is_truncated = 2;
+}
diff --git a/protocol/proto/GetAllSceneGalleryInfoReq.proto b/protocol/proto/GetAllSceneGalleryInfoReq.proto
new file mode 100644
index 00000000..3e37672a
--- /dev/null
+++ b/protocol/proto/GetAllSceneGalleryInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5503
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAllSceneGalleryInfoReq {}
diff --git a/protocol/proto/GetAllSceneGalleryInfoRsp.proto b/protocol/proto/GetAllSceneGalleryInfoRsp.proto
new file mode 100644
index 00000000..1376ead7
--- /dev/null
+++ b/protocol/proto/GetAllSceneGalleryInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneGalleryInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5590
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetAllSceneGalleryInfoRsp {
+ repeated SceneGalleryInfo gallery_info_list = 12;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/GetAllUnlockNameCardReq.proto b/protocol/proto/GetAllUnlockNameCardReq.proto
new file mode 100644
index 00000000..dfe23bdd
--- /dev/null
+++ b/protocol/proto/GetAllUnlockNameCardReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4027
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAllUnlockNameCardReq {}
diff --git a/protocol/proto/GetAllUnlockNameCardRsp.proto b/protocol/proto/GetAllUnlockNameCardRsp.proto
new file mode 100644
index 00000000..8f1b35a1
--- /dev/null
+++ b/protocol/proto/GetAllUnlockNameCardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4094
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAllUnlockNameCardRsp {
+ int32 retcode = 4;
+ repeated uint32 name_card_list = 14;
+}
diff --git a/protocol/proto/GetAreaExplorePointReq.proto b/protocol/proto/GetAreaExplorePointReq.proto
new file mode 100644
index 00000000..7e0a1166
--- /dev/null
+++ b/protocol/proto/GetAreaExplorePointReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 241
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAreaExplorePointReq {
+ repeated uint32 area_id_list = 14;
+}
diff --git a/protocol/proto/GetAreaExplorePointRsp.proto b/protocol/proto/GetAreaExplorePointRsp.proto
new file mode 100644
index 00000000..56e41195
--- /dev/null
+++ b/protocol/proto/GetAreaExplorePointRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 249
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetAreaExplorePointRsp {
+ int32 retcode = 8;
+ repeated uint32 area_id_list = 11;
+ repeated uint32 explore_point_list = 4;
+}
diff --git a/protocol/proto/GetAuthSalesmanInfoReq.proto b/protocol/proto/GetAuthSalesmanInfoReq.proto
new file mode 100644
index 00000000..0ca198a5
--- /dev/null
+++ b/protocol/proto/GetAuthSalesmanInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2070
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAuthSalesmanInfoReq {
+ uint32 schedule_id = 8;
+}
diff --git a/protocol/proto/GetAuthSalesmanInfoRsp.proto b/protocol/proto/GetAuthSalesmanInfoRsp.proto
new file mode 100644
index 00000000..dec64de3
--- /dev/null
+++ b/protocol/proto/GetAuthSalesmanInfoRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2004
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetAuthSalesmanInfoRsp {
+ uint32 day_reward_id = 5;
+ int32 retcode = 6;
+ uint32 schedule_id = 11;
+}
diff --git a/protocol/proto/GetAuthkeyReq.proto b/protocol/proto/GetAuthkeyReq.proto
new file mode 100644
index 00000000..1668a801
--- /dev/null
+++ b/protocol/proto/GetAuthkeyReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1490
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetAuthkeyReq {
+ string auth_appid = 14;
+ uint32 sign_type = 7;
+ uint32 authkey_ver = 13;
+}
diff --git a/protocol/proto/GetAuthkeyRsp.proto b/protocol/proto/GetAuthkeyRsp.proto
new file mode 100644
index 00000000..54e140c9
--- /dev/null
+++ b/protocol/proto/GetAuthkeyRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1473
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetAuthkeyRsp {
+ string auth_appid = 4;
+ uint32 sign_type = 15;
+ int32 retcode = 6;
+ uint32 authkey_ver = 9;
+ string game_biz = 11;
+ string authkey = 3;
+}
diff --git a/protocol/proto/GetBargainDataReq.proto b/protocol/proto/GetBargainDataReq.proto
new file mode 100644
index 00000000..eaf41c15
--- /dev/null
+++ b/protocol/proto/GetBargainDataReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 488
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetBargainDataReq {
+ uint32 bargain_id = 12;
+}
diff --git a/protocol/proto/GetBargainDataRsp.proto b/protocol/proto/GetBargainDataRsp.proto
new file mode 100644
index 00000000..eb1b7256
--- /dev/null
+++ b/protocol/proto/GetBargainDataRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BargainSnapshot.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 426
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetBargainDataRsp {
+ int32 retcode = 1;
+ uint32 bargain_id = 14;
+ BargainSnapshot snapshot = 13;
+}
diff --git a/protocol/proto/GetBattlePassProductReq.proto b/protocol/proto/GetBattlePassProductReq.proto
new file mode 100644
index 00000000..eadb949d
--- /dev/null
+++ b/protocol/proto/GetBattlePassProductReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2644
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetBattlePassProductReq {
+ uint32 battle_pass_product_play_type = 10;
+}
diff --git a/protocol/proto/GetBattlePassProductRsp.proto b/protocol/proto/GetBattlePassProductRsp.proto
new file mode 100644
index 00000000..665eae2e
--- /dev/null
+++ b/protocol/proto/GetBattlePassProductRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2649
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetBattlePassProductRsp {
+ int32 retcode = 14;
+ string price_tier = 6;
+ uint32 battle_pass_product_play_type = 2;
+ string product_id = 1;
+ uint32 cur_schedule_id = 11;
+}
diff --git a/protocol/proto/GetBlossomBriefInfoListReq.proto b/protocol/proto/GetBlossomBriefInfoListReq.proto
new file mode 100644
index 00000000..198aea27
--- /dev/null
+++ b/protocol/proto/GetBlossomBriefInfoListReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2772
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetBlossomBriefInfoListReq {
+ repeated uint32 city_id_list = 4;
+}
diff --git a/protocol/proto/GetBlossomBriefInfoListRsp.proto b/protocol/proto/GetBlossomBriefInfoListRsp.proto
new file mode 100644
index 00000000..f4db5b91
--- /dev/null
+++ b/protocol/proto/GetBlossomBriefInfoListRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BlossomBriefInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2798
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetBlossomBriefInfoListRsp {
+ int32 retcode = 12;
+ repeated BlossomBriefInfo brief_info_list = 11;
+}
diff --git a/protocol/proto/GetBonusActivityRewardReq.proto b/protocol/proto/GetBonusActivityRewardReq.proto
new file mode 100644
index 00000000..aac46e68
--- /dev/null
+++ b/protocol/proto/GetBonusActivityRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2581
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetBonusActivityRewardReq {
+ uint32 bonus_activity_id = 14;
+}
diff --git a/protocol/proto/GetBonusActivityRewardRsp.proto b/protocol/proto/GetBonusActivityRewardRsp.proto
new file mode 100644
index 00000000..9d9dadf9
--- /dev/null
+++ b/protocol/proto/GetBonusActivityRewardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BonusActivityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2505
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetBonusActivityRewardRsp {
+ BonusActivityInfo bonus_activity_info_list = 4;
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/GetChatEmojiCollectionReq.proto b/protocol/proto/GetChatEmojiCollectionReq.proto
new file mode 100644
index 00000000..48492743
--- /dev/null
+++ b/protocol/proto/GetChatEmojiCollectionReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4068
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetChatEmojiCollectionReq {}
diff --git a/protocol/proto/GetChatEmojiCollectionRsp.proto b/protocol/proto/GetChatEmojiCollectionRsp.proto
new file mode 100644
index 00000000..c03a06e6
--- /dev/null
+++ b/protocol/proto/GetChatEmojiCollectionRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChatEmojiCollectionData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4033
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetChatEmojiCollectionRsp {
+ int32 retcode = 15;
+ ChatEmojiCollectionData chat_emoji_collection_data = 8;
+}
diff --git a/protocol/proto/GetCityHuntingOfferReq.proto b/protocol/proto/GetCityHuntingOfferReq.proto
new file mode 100644
index 00000000..247fd299
--- /dev/null
+++ b/protocol/proto/GetCityHuntingOfferReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4325
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetCityHuntingOfferReq {
+ uint32 city_id = 9;
+}
diff --git a/protocol/proto/GetCityHuntingOfferRsp.proto b/protocol/proto/GetCityHuntingOfferRsp.proto
new file mode 100644
index 00000000..34078880
--- /dev/null
+++ b/protocol/proto/GetCityHuntingOfferRsp.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingOfferData.proto";
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4307
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetCityHuntingOfferRsp {
+ int32 retcode = 9;
+ repeated HuntingOfferData hunting_offer_list = 13;
+ uint32 city_id = 2;
+ HuntingPair ongoing_hunting_pair = 8;
+ uint32 cur_week_finished_count = 1;
+ uint32 next_refresh_time = 4;
+}
diff --git a/protocol/proto/GetCityReputationInfoReq.proto b/protocol/proto/GetCityReputationInfoReq.proto
new file mode 100644
index 00000000..3bd7cd8a
--- /dev/null
+++ b/protocol/proto/GetCityReputationInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2872
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetCityReputationInfoReq {
+ uint32 city_id = 7;
+}
diff --git a/protocol/proto/GetCityReputationInfoRsp.proto b/protocol/proto/GetCityReputationInfoRsp.proto
new file mode 100644
index 00000000..82e44411
--- /dev/null
+++ b/protocol/proto/GetCityReputationInfoRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CityReputationInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2898
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetCityReputationInfoRsp {
+ uint32 city_id = 1;
+ int32 retcode = 4;
+ CityReputationInfo city_reputation_info = 9;
+}
diff --git a/protocol/proto/GetCityReputationMapInfoReq.proto b/protocol/proto/GetCityReputationMapInfoReq.proto
new file mode 100644
index 00000000..af502c42
--- /dev/null
+++ b/protocol/proto/GetCityReputationMapInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2875
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetCityReputationMapInfoReq {}
diff --git a/protocol/proto/GetCityReputationMapInfoRsp.proto b/protocol/proto/GetCityReputationMapInfoRsp.proto
new file mode 100644
index 00000000..6008a5dd
--- /dev/null
+++ b/protocol/proto/GetCityReputationMapInfoRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2848
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetCityReputationMapInfoRsp {
+ int32 retcode = 11;
+ bool is_new_hunting = 10;
+ bool is_new_request = 2;
+ repeated uint32 unlock_hunting_city_list = 9;
+ repeated uint32 reward_city_list = 3;
+}
diff --git a/protocol/proto/GetCompoundDataReq.proto b/protocol/proto/GetCompoundDataReq.proto
new file mode 100644
index 00000000..71e541eb
--- /dev/null
+++ b/protocol/proto/GetCompoundDataReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 141
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetCompoundDataReq {}
diff --git a/protocol/proto/GetCompoundDataRsp.proto b/protocol/proto/GetCompoundDataRsp.proto
new file mode 100644
index 00000000..372694b1
--- /dev/null
+++ b/protocol/proto/GetCompoundDataRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CompoundQueueData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 149
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetCompoundDataRsp {
+ int32 retcode = 3;
+ repeated uint32 unlock_compound_list = 11;
+ repeated CompoundQueueData compound_que_data_list = 7;
+}
diff --git a/protocol/proto/GetCustomDungeonReq.proto b/protocol/proto/GetCustomDungeonReq.proto
new file mode 100644
index 00000000..7f1199e0
--- /dev/null
+++ b/protocol/proto/GetCustomDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6209
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetCustomDungeonReq {}
diff --git a/protocol/proto/GetCustomDungeonRsp.proto b/protocol/proto/GetCustomDungeonRsp.proto
new file mode 100644
index 00000000..34e2babb
--- /dev/null
+++ b/protocol/proto/GetCustomDungeonRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonBanInfo.proto";
+import "CustomDungeonBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6227
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetCustomDungeonRsp {
+ int32 retcode = 10;
+ CustomDungeonBanInfo ban_info = 14;
+ repeated CustomDungeonBrief brief_list = 5;
+}
diff --git a/protocol/proto/GetDailyDungeonEntryInfoReq.proto b/protocol/proto/GetDailyDungeonEntryInfoReq.proto
new file mode 100644
index 00000000..08770187
--- /dev/null
+++ b/protocol/proto/GetDailyDungeonEntryInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 930
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetDailyDungeonEntryInfoReq {
+ uint32 scene_id = 15;
+}
diff --git a/protocol/proto/GetDailyDungeonEntryInfoRsp.proto b/protocol/proto/GetDailyDungeonEntryInfoRsp.proto
new file mode 100644
index 00000000..e4e8bf77
--- /dev/null
+++ b/protocol/proto/GetDailyDungeonEntryInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DailyDungeonEntryInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 967
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetDailyDungeonEntryInfoRsp {
+ repeated DailyDungeonEntryInfo daily_dungeon_info_list = 2;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/GetDungeonEntryExploreConditionReq.proto b/protocol/proto/GetDungeonEntryExploreConditionReq.proto
new file mode 100644
index 00000000..a269a764
--- /dev/null
+++ b/protocol/proto/GetDungeonEntryExploreConditionReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3165
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetDungeonEntryExploreConditionReq {
+ uint32 scene_id = 6;
+ uint32 dungeon_entry_config_id = 2;
+ uint32 dungeon_entry_scene_point_id = 4;
+}
diff --git a/protocol/proto/GetDungeonEntryExploreConditionRsp.proto b/protocol/proto/GetDungeonEntryExploreConditionRsp.proto
new file mode 100644
index 00000000..8c778459
--- /dev/null
+++ b/protocol/proto/GetDungeonEntryExploreConditionRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DungeonEntryCond.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3269
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetDungeonEntryExploreConditionRsp {
+ DungeonEntryCond dungeon_entry_cond = 5;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/GetExpeditionAssistInfoListReq.proto b/protocol/proto/GetExpeditionAssistInfoListReq.proto
new file mode 100644
index 00000000..263834b4
--- /dev/null
+++ b/protocol/proto/GetExpeditionAssistInfoListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2150
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetExpeditionAssistInfoListReq {}
diff --git a/protocol/proto/GetExpeditionAssistInfoListRsp.proto b/protocol/proto/GetExpeditionAssistInfoListRsp.proto
new file mode 100644
index 00000000..6ac3edaa
--- /dev/null
+++ b/protocol/proto/GetExpeditionAssistInfoListRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExpeditionAssistInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2035
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetExpeditionAssistInfoListRsp {
+ repeated ExpeditionAssistInfo assist_info_list = 6;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/GetFriendShowAvatarInfoReq.proto b/protocol/proto/GetFriendShowAvatarInfoReq.proto
new file mode 100644
index 00000000..9f7116ed
--- /dev/null
+++ b/protocol/proto/GetFriendShowAvatarInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4070
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetFriendShowAvatarInfoReq {
+ uint32 uid = 15;
+}
diff --git a/protocol/proto/GetFriendShowAvatarInfoRsp.proto b/protocol/proto/GetFriendShowAvatarInfoRsp.proto
new file mode 100644
index 00000000..3130a640
--- /dev/null
+++ b/protocol/proto/GetFriendShowAvatarInfoRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ShowAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4017
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetFriendShowAvatarInfoRsp {
+ uint32 uid = 6;
+ int32 retcode = 3;
+ repeated ShowAvatarInfo show_avatar_info_list = 9;
+}
diff --git a/protocol/proto/GetFriendShowNameCardInfoReq.proto b/protocol/proto/GetFriendShowNameCardInfoReq.proto
new file mode 100644
index 00000000..f3af34b5
--- /dev/null
+++ b/protocol/proto/GetFriendShowNameCardInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4061
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetFriendShowNameCardInfoReq {
+ uint32 uid = 3;
+}
diff --git a/protocol/proto/GetFriendShowNameCardInfoRsp.proto b/protocol/proto/GetFriendShowNameCardInfoRsp.proto
new file mode 100644
index 00000000..47796498
--- /dev/null
+++ b/protocol/proto/GetFriendShowNameCardInfoRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4029
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetFriendShowNameCardInfoRsp {
+ int32 retcode = 15;
+ uint32 uid = 7;
+ repeated uint32 show_name_card_id_list = 10;
+}
diff --git a/protocol/proto/GetFurnitureCurModuleArrangeCountReq.proto b/protocol/proto/GetFurnitureCurModuleArrangeCountReq.proto
new file mode 100644
index 00000000..fca681d3
--- /dev/null
+++ b/protocol/proto/GetFurnitureCurModuleArrangeCountReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4711
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetFurnitureCurModuleArrangeCountReq {}
diff --git a/protocol/proto/GetGachaInfoReq.proto b/protocol/proto/GetGachaInfoReq.proto
new file mode 100644
index 00000000..6a8d13b6
--- /dev/null
+++ b/protocol/proto/GetGachaInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1572
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetGachaInfoReq {}
diff --git a/protocol/proto/GetGachaInfoRsp.proto b/protocol/proto/GetGachaInfoRsp.proto
new file mode 100644
index 00000000..84365b34
--- /dev/null
+++ b/protocol/proto/GetGachaInfoRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GachaInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1598
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetGachaInfoRsp {
+ bool is_under_general_restrict = 6;
+ uint32 gacha_random = 9;
+ int32 retcode = 10;
+ bool is_under_minors_restrict = 2;
+ uint32 daily_gacha_times = 5;
+ repeated GachaInfo gacha_info_list = 13;
+}
diff --git a/protocol/proto/GetGameplayRecommendationReq.proto b/protocol/proto/GetGameplayRecommendationReq.proto
new file mode 100644
index 00000000..2e728a62
--- /dev/null
+++ b/protocol/proto/GetGameplayRecommendationReq.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GameplayRecommendationElementReliquaryRequest.proto";
+import "GameplayRecommendationReliquaryRequest.proto";
+import "GameplayRecommendationSkillRequest.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 151
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetGameplayRecommendationReq {
+ uint32 avatar_id = 9;
+ oneof detail {
+ GameplayRecommendationSkillRequest skill_request = 553;
+ GameplayRecommendationReliquaryRequest reliquary_request = 1993;
+ GameplayRecommendationElementReliquaryRequest element_reliquary_request = 1489;
+ }
+}
diff --git a/protocol/proto/GetGameplayRecommendationRsp.proto b/protocol/proto/GetGameplayRecommendationRsp.proto
new file mode 100644
index 00000000..7b7ca2b4
--- /dev/null
+++ b/protocol/proto/GetGameplayRecommendationRsp.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GameplayRecommendationElementReliquaryResponse.proto";
+import "GameplayRecommendationReliquaryResponse.proto";
+import "GameplayRecommendationSkillResponse.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 123
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetGameplayRecommendationRsp {
+ int32 retcode = 6;
+ uint32 avatar_id = 15;
+ oneof detail {
+ GameplayRecommendationSkillResponse skill_response = 1022;
+ GameplayRecommendationReliquaryResponse reliquary_response = 196;
+ GameplayRecommendationElementReliquaryResponse element_reliquary_response = 167;
+ }
+}
diff --git a/protocol/proto/GetHomeExchangeWoodInfoReq.proto b/protocol/proto/GetHomeExchangeWoodInfoReq.proto
new file mode 100644
index 00000000..0281e16b
--- /dev/null
+++ b/protocol/proto/GetHomeExchangeWoodInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4473
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetHomeExchangeWoodInfoReq {}
diff --git a/protocol/proto/GetHomeExchangeWoodInfoRsp.proto b/protocol/proto/GetHomeExchangeWoodInfoRsp.proto
new file mode 100644
index 00000000..0e88c496
--- /dev/null
+++ b/protocol/proto/GetHomeExchangeWoodInfoRsp.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4659
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetHomeExchangeWoodInfoRsp {
+ int32 retcode = 10;
+ repeated HomeExchangeWoodInfo wood_info_list = 5;
+
+ message HomeExchangeWoodInfo {
+ uint32 exchange_limit = 7;
+ uint32 exchanged_count = 12;
+ uint32 next_refresh_time = 14;
+ uint32 wood_id = 2;
+ }
+}
diff --git a/protocol/proto/GetHomeLevelUpRewardReq.proto b/protocol/proto/GetHomeLevelUpRewardReq.proto
new file mode 100644
index 00000000..afc09842
--- /dev/null
+++ b/protocol/proto/GetHomeLevelUpRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4557
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetHomeLevelUpRewardReq {
+ uint32 level = 15;
+}
diff --git a/protocol/proto/GetHomeLevelUpRewardRsp.proto b/protocol/proto/GetHomeLevelUpRewardRsp.proto
new file mode 100644
index 00000000..3e016f5d
--- /dev/null
+++ b/protocol/proto/GetHomeLevelUpRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4603
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetHomeLevelUpRewardRsp {
+ uint32 level = 1;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/GetHuntingOfferRewardReq.proto b/protocol/proto/GetHuntingOfferRewardReq.proto
new file mode 100644
index 00000000..f27ed1c2
--- /dev/null
+++ b/protocol/proto/GetHuntingOfferRewardReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4302
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetHuntingOfferRewardReq {
+ uint32 city_id = 6;
+ HuntingPair hunting_pair = 4;
+}
diff --git a/protocol/proto/GetHuntingOfferRewardRsp.proto b/protocol/proto/GetHuntingOfferRewardRsp.proto
new file mode 100644
index 00000000..145758fb
--- /dev/null
+++ b/protocol/proto/GetHuntingOfferRewardRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4331
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetHuntingOfferRewardRsp {
+ HuntingPair hunting_pair = 14;
+ uint32 city_id = 3;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/GetInvestigationMonsterReq.proto b/protocol/proto/GetInvestigationMonsterReq.proto
new file mode 100644
index 00000000..e3d1d99a
--- /dev/null
+++ b/protocol/proto/GetInvestigationMonsterReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1901
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetInvestigationMonsterReq {
+ repeated uint32 city_id_list = 3;
+ bool is_for_mark = 4;
+}
diff --git a/protocol/proto/GetInvestigationMonsterRsp.proto b/protocol/proto/GetInvestigationMonsterRsp.proto
new file mode 100644
index 00000000..a5696673
--- /dev/null
+++ b/protocol/proto/GetInvestigationMonsterRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InvestigationMonster.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1910
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetInvestigationMonsterRsp {
+ repeated InvestigationMonster monster_list = 10;
+ int32 retcode = 1;
+ bool is_for_mark = 2;
+}
diff --git a/protocol/proto/GetMailItemReq.proto b/protocol/proto/GetMailItemReq.proto
new file mode 100644
index 00000000..88c135d0
--- /dev/null
+++ b/protocol/proto/GetMailItemReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1435
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetMailItemReq {
+ repeated uint32 mail_id_list = 6;
+}
diff --git a/protocol/proto/GetMailItemRsp.proto b/protocol/proto/GetMailItemRsp.proto
new file mode 100644
index 00000000..3082103d
--- /dev/null
+++ b/protocol/proto/GetMailItemRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EquipParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1407
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetMailItemRsp {
+ int32 retcode = 7;
+ repeated uint32 mail_id_list = 3;
+ repeated EquipParam item_list = 2;
+}
diff --git a/protocol/proto/GetMapAreaReq.proto b/protocol/proto/GetMapAreaReq.proto
new file mode 100644
index 00000000..81a96bf1
--- /dev/null
+++ b/protocol/proto/GetMapAreaReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3108
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetMapAreaReq {}
diff --git a/protocol/proto/GetMapAreaRsp.proto b/protocol/proto/GetMapAreaRsp.proto
new file mode 100644
index 00000000..3ef5abb1
--- /dev/null
+++ b/protocol/proto/GetMapAreaRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MapAreaInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3328
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetMapAreaRsp {
+ int32 retcode = 14;
+ repeated MapAreaInfo map_area_info_list = 9;
+}
diff --git a/protocol/proto/GetMapMarkTipsReq.proto b/protocol/proto/GetMapMarkTipsReq.proto
new file mode 100644
index 00000000..47042d89
--- /dev/null
+++ b/protocol/proto/GetMapMarkTipsReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3463
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetMapMarkTipsReq {}
diff --git a/protocol/proto/GetMapMarkTipsRsp.proto b/protocol/proto/GetMapMarkTipsRsp.proto
new file mode 100644
index 00000000..f1223ae5
--- /dev/null
+++ b/protocol/proto/GetMapMarkTipsRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MapMarkTipsInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3327
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetMapMarkTipsRsp {
+ int32 retcode = 7;
+ repeated MapMarkTipsInfo mark_tips_list = 11;
+}
diff --git a/protocol/proto/GetMechanicusInfoReq.proto b/protocol/proto/GetMechanicusInfoReq.proto
new file mode 100644
index 00000000..cd378b71
--- /dev/null
+++ b/protocol/proto/GetMechanicusInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3972
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetMechanicusInfoReq {}
diff --git a/protocol/proto/GetMechanicusInfoRsp.proto b/protocol/proto/GetMechanicusInfoRsp.proto
new file mode 100644
index 00000000..e9904a3a
--- /dev/null
+++ b/protocol/proto/GetMechanicusInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MechanicusInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3998
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetMechanicusInfoRsp {
+ int32 retcode = 14;
+ MechanicusInfo mechanicus_info = 15;
+}
diff --git a/protocol/proto/GetNextResourceInfoReq.proto b/protocol/proto/GetNextResourceInfoReq.proto
new file mode 100644
index 00000000..d44d2492
--- /dev/null
+++ b/protocol/proto/GetNextResourceInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 192
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetNextResourceInfoReq {}
diff --git a/protocol/proto/GetNextResourceInfoRsp.proto b/protocol/proto/GetNextResourceInfoRsp.proto
new file mode 100644
index 00000000..a627c70f
--- /dev/null
+++ b/protocol/proto/GetNextResourceInfoRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ResVersionConfig.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 120
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetNextResourceInfoRsp {
+ string next_resource_url = 14;
+ ResVersionConfig next_res_version_config = 2;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/GetOnlinePlayerInfoReq.proto b/protocol/proto/GetOnlinePlayerInfoReq.proto
new file mode 100644
index 00000000..42e9624b
--- /dev/null
+++ b/protocol/proto/GetOnlinePlayerInfoReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 82
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetOnlinePlayerInfoReq {
+ bool is_online_id = 15;
+ oneof player_id {
+ uint32 target_uid = 9;
+ string online_id = 7;
+ string psn_id = 2;
+ }
+}
diff --git a/protocol/proto/GetOnlinePlayerInfoRsp.proto b/protocol/proto/GetOnlinePlayerInfoRsp.proto
new file mode 100644
index 00000000..dc4ae725
--- /dev/null
+++ b/protocol/proto/GetOnlinePlayerInfoRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 47
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetOnlinePlayerInfoRsp {
+ int32 retcode = 11;
+ uint32 target_uid = 7;
+ uint32 param = 4;
+ OnlinePlayerInfo target_player_info = 14;
+}
diff --git a/protocol/proto/GetOnlinePlayerListReq.proto b/protocol/proto/GetOnlinePlayerListReq.proto
new file mode 100644
index 00000000..f7b8d045
--- /dev/null
+++ b/protocol/proto/GetOnlinePlayerListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 90
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetOnlinePlayerListReq {}
diff --git a/protocol/proto/GetOnlinePlayerListRsp.proto b/protocol/proto/GetOnlinePlayerListRsp.proto
new file mode 100644
index 00000000..44d28a51
--- /dev/null
+++ b/protocol/proto/GetOnlinePlayerListRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 73
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetOnlinePlayerListRsp {
+ int32 retcode = 7;
+ uint32 param = 11;
+ repeated OnlinePlayerInfo player_info_list = 5;
+}
diff --git a/protocol/proto/GetOpActivityInfoReq.proto b/protocol/proto/GetOpActivityInfoReq.proto
new file mode 100644
index 00000000..48da6bc9
--- /dev/null
+++ b/protocol/proto/GetOpActivityInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetOpActivityInfoReq {}
diff --git a/protocol/proto/GetOpActivityInfoRsp.proto b/protocol/proto/GetOpActivityInfoRsp.proto
new file mode 100644
index 00000000..78ddd67d
--- /dev/null
+++ b/protocol/proto/GetOpActivityInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OpActivityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5198
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetOpActivityInfoRsp {
+ int32 retcode = 10;
+ repeated OpActivityInfo op_activity_info_list = 7;
+}
diff --git a/protocol/proto/GetParentQuestVideoKeyReq.proto b/protocol/proto/GetParentQuestVideoKeyReq.proto
new file mode 100644
index 00000000..074ecea3
--- /dev/null
+++ b/protocol/proto/GetParentQuestVideoKeyReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 470
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetParentQuestVideoKeyReq {
+ uint32 parent_quest_id = 15;
+}
diff --git a/protocol/proto/GetParentQuestVideoKeyRsp.proto b/protocol/proto/GetParentQuestVideoKeyRsp.proto
new file mode 100644
index 00000000..cb21be53
--- /dev/null
+++ b/protocol/proto/GetParentQuestVideoKeyRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 417
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetParentQuestVideoKeyRsp {
+ int32 retcode = 1;
+ uint64 video_key = 14;
+ uint32 parent_quest_id = 10;
+}
diff --git a/protocol/proto/GetPlayerAskFriendListReq.proto b/protocol/proto/GetPlayerAskFriendListReq.proto
new file mode 100644
index 00000000..447ccdc5
--- /dev/null
+++ b/protocol/proto/GetPlayerAskFriendListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4018
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetPlayerAskFriendListReq {}
diff --git a/protocol/proto/GetPlayerAskFriendListRsp.proto b/protocol/proto/GetPlayerAskFriendListRsp.proto
new file mode 100644
index 00000000..79a20ae7
--- /dev/null
+++ b/protocol/proto/GetPlayerAskFriendListRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4066
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetPlayerAskFriendListRsp {
+ int32 retcode = 13;
+ repeated FriendBrief ask_friend_list = 15;
+}
diff --git a/protocol/proto/GetPlayerBlacklistReq.proto b/protocol/proto/GetPlayerBlacklistReq.proto
new file mode 100644
index 00000000..34b2fdaf
--- /dev/null
+++ b/protocol/proto/GetPlayerBlacklistReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4049
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetPlayerBlacklistReq {}
diff --git a/protocol/proto/GetPlayerBlacklistRsp.proto b/protocol/proto/GetPlayerBlacklistRsp.proto
new file mode 100644
index 00000000..f8dfbc68
--- /dev/null
+++ b/protocol/proto/GetPlayerBlacklistRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4091
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetPlayerBlacklistRsp {
+ int32 retcode = 2;
+ repeated FriendBrief blacklist = 3;
+}
diff --git a/protocol/proto/GetPlayerFriendListReq.proto b/protocol/proto/GetPlayerFriendListReq.proto
new file mode 100644
index 00000000..52c4f29a
--- /dev/null
+++ b/protocol/proto/GetPlayerFriendListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4072
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetPlayerFriendListReq {}
diff --git a/protocol/proto/GetPlayerFriendListRsp.proto b/protocol/proto/GetPlayerFriendListRsp.proto
new file mode 100644
index 00000000..63e81739
--- /dev/null
+++ b/protocol/proto/GetPlayerFriendListRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4098
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetPlayerFriendListRsp {
+ int32 retcode = 9;
+ repeated FriendBrief ask_friend_list = 8;
+ repeated FriendBrief friend_list = 14;
+}
diff --git a/protocol/proto/GetPlayerHomeCompInfoReq.proto b/protocol/proto/GetPlayerHomeCompInfoReq.proto
new file mode 100644
index 00000000..94541a11
--- /dev/null
+++ b/protocol/proto/GetPlayerHomeCompInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4597
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetPlayerHomeCompInfoReq {}
diff --git a/protocol/proto/GetPlayerMpModeAvailabilityReq.proto b/protocol/proto/GetPlayerMpModeAvailabilityReq.proto
new file mode 100644
index 00000000..47b80213
--- /dev/null
+++ b/protocol/proto/GetPlayerMpModeAvailabilityReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1844
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetPlayerMpModeAvailabilityReq {}
diff --git a/protocol/proto/GetPlayerMpModeAvailabilityRsp.proto b/protocol/proto/GetPlayerMpModeAvailabilityRsp.proto
new file mode 100644
index 00000000..8a428d24
--- /dev/null
+++ b/protocol/proto/GetPlayerMpModeAvailabilityRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1849
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetPlayerMpModeAvailabilityRsp {
+ int32 mp_ret = 15;
+ int32 retcode = 2;
+ repeated uint32 param_list = 8;
+}
diff --git a/protocol/proto/GetPlayerSocialDetailReq.proto b/protocol/proto/GetPlayerSocialDetailReq.proto
new file mode 100644
index 00000000..8f391997
--- /dev/null
+++ b/protocol/proto/GetPlayerSocialDetailReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4073
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetPlayerSocialDetailReq {
+ uint32 uid = 9;
+}
diff --git a/protocol/proto/GetPlayerSocialDetailRsp.proto b/protocol/proto/GetPlayerSocialDetailRsp.proto
new file mode 100644
index 00000000..9f10e94b
--- /dev/null
+++ b/protocol/proto/GetPlayerSocialDetailRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SocialDetail.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4099
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetPlayerSocialDetailRsp {
+ SocialDetail detail_data = 12;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/GetPlayerTokenReq.proto b/protocol/proto/GetPlayerTokenReq.proto
new file mode 100644
index 00000000..b08caa55
--- /dev/null
+++ b/protocol/proto/GetPlayerTokenReq.proto
@@ -0,0 +1,46 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetPlayerTokenReq {
+ string account_token = 10;
+ string account_uid = 11;
+ string psn_region = 4;
+ string online_id = 7;
+ uint32 channel_id = 15;
+ string account_ext = 9;
+ string country_code = 5;
+ string client_rand_key = 760;
+ bool is_guest = 6;
+ string birthday = 1718;
+ uint32 sub_channel_id = 8;
+ uint32 platform_type = 12;
+ string client_ip_str = 3;
+ string psn_id = 13;
+ uint32 account_type = 1;
+ uint32 minors_reg_min_age = 995;
+ uint32 cloud_client_ip = 14;
+ uint32 key_id = 1787;
+ uint32 uid = 2;
+}
diff --git a/protocol/proto/GetPlayerTokenRsp.proto b/protocol/proto/GetPlayerTokenRsp.proto
new file mode 100644
index 00000000..9dedff49
--- /dev/null
+++ b/protocol/proto/GetPlayerTokenRsp.proto
@@ -0,0 +1,57 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 198
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetPlayerTokenRsp {
+ string birthday = 937;
+ int32 retcode = 2;
+ bytes security_cmd_buffer = 6;
+ uint64 secret_key_seed = 13;
+ string country_code = 2013;
+ bytes extra_bin_data = 3;
+ string secret_key = 15;
+ uint32 minors_reg_min_age = 1561;
+ uint32 black_uid_end_time = 14;
+ uint32 tag = 1635;
+ string token = 11;
+ uint32 gm_uid = 10;
+ uint32 channel_id = 896;
+ string psn_id = 1811;
+ string client_ip_str = 860;
+ string msg = 7;
+ uint32 account_type = 5;
+ uint32 sub_channel_id = 1802;
+ bool is_watchdog_uid = 2028;
+ string server_rand_key = 1493;
+ bool is_proficient_player = 9;
+ uint32 key_id = 1172;
+ uint32 uid = 1;
+ string account_uid = 12;
+ bool is_guest = 4;
+ string client_version_random_key = 1529;
+ repeated uint32 finish_collection_id_list = 1640;
+ uint32 platform_type = 8;
+ uint32 reg_platform = 1112;
+ bool is_login_white_list = 573;
+ string sign = 1140;
+}
diff --git a/protocol/proto/GetPushTipsRewardReq.proto b/protocol/proto/GetPushTipsRewardReq.proto
new file mode 100644
index 00000000..fbda337a
--- /dev/null
+++ b/protocol/proto/GetPushTipsRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2227
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetPushTipsRewardReq {
+ repeated uint32 push_tips_id_list = 4;
+}
diff --git a/protocol/proto/GetPushTipsRewardRsp.proto b/protocol/proto/GetPushTipsRewardRsp.proto
new file mode 100644
index 00000000..de7fcff2
--- /dev/null
+++ b/protocol/proto/GetPushTipsRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2294
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetPushTipsRewardRsp {
+ int32 retcode = 10;
+ repeated uint32 push_tips_id_list = 9;
+}
diff --git a/protocol/proto/GetQuestLackingResourceReq.proto b/protocol/proto/GetQuestLackingResourceReq.proto
new file mode 100644
index 00000000..2ced9d79
--- /dev/null
+++ b/protocol/proto/GetQuestLackingResourceReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 467
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetQuestLackingResourceReq {
+ uint32 quest_id = 4;
+}
diff --git a/protocol/proto/GetQuestLackingResourceRsp.proto b/protocol/proto/GetQuestLackingResourceRsp.proto
new file mode 100644
index 00000000..fe599e4c
--- /dev/null
+++ b/protocol/proto/GetQuestLackingResourceRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 458
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetQuestLackingResourceRsp {
+ uint32 quest_id = 4;
+ int32 retcode = 11;
+ repeated uint32 lacked_npc_list = 8;
+ repeated uint32 lacked_place_list = 5;
+ map lacked_npc_map = 10;
+ map lacked_place_map = 2;
+}
diff --git a/protocol/proto/GetQuestTalkHistoryReq.proto b/protocol/proto/GetQuestTalkHistoryReq.proto
new file mode 100644
index 00000000..3053dfae
--- /dev/null
+++ b/protocol/proto/GetQuestTalkHistoryReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 490
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetQuestTalkHistoryReq {
+ uint32 parent_quest_id = 6;
+}
diff --git a/protocol/proto/GetQuestTalkHistoryRsp.proto b/protocol/proto/GetQuestTalkHistoryRsp.proto
new file mode 100644
index 00000000..36708953
--- /dev/null
+++ b/protocol/proto/GetQuestTalkHistoryRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 473
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetQuestTalkHistoryRsp {
+ repeated uint32 talk_id_list = 13;
+ uint32 parent_quest_id = 7;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/GetRecentMpPlayerListReq.proto b/protocol/proto/GetRecentMpPlayerListReq.proto
new file mode 100644
index 00000000..541d511c
--- /dev/null
+++ b/protocol/proto/GetRecentMpPlayerListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4034
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetRecentMpPlayerListReq {}
diff --git a/protocol/proto/GetRecentMpPlayerListRsp.proto b/protocol/proto/GetRecentMpPlayerListRsp.proto
new file mode 100644
index 00000000..64a62b00
--- /dev/null
+++ b/protocol/proto/GetRecentMpPlayerListRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4050
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetRecentMpPlayerListRsp {
+ int32 retcode = 13;
+ repeated FriendBrief recent_mp_player_brief_list = 14;
+}
diff --git a/protocol/proto/GetRecommendCustomDungeonReq.proto b/protocol/proto/GetRecommendCustomDungeonReq.proto
new file mode 100644
index 00000000..65fb99aa
--- /dev/null
+++ b/protocol/proto/GetRecommendCustomDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6235
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetRecommendCustomDungeonReq {
+ bool is_refresh = 13;
+}
diff --git a/protocol/proto/GetRecommendCustomDungeonRsp.proto b/protocol/proto/GetRecommendCustomDungeonRsp.proto
new file mode 100644
index 00000000..d5634cc8
--- /dev/null
+++ b/protocol/proto/GetRecommendCustomDungeonRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OtherCustomDungeonBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6248
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetRecommendCustomDungeonRsp {
+ repeated OtherCustomDungeonBrief custom_dungeon_list = 8;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/GetRegionSearchReq.proto b/protocol/proto/GetRegionSearchReq.proto
new file mode 100644
index 00000000..d0bd5fed
--- /dev/null
+++ b/protocol/proto/GetRegionSearchReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetRegionSearchReq {}
diff --git a/protocol/proto/GetReunionMissionInfoReq.proto b/protocol/proto/GetReunionMissionInfoReq.proto
new file mode 100644
index 00000000..289de52d
--- /dev/null
+++ b/protocol/proto/GetReunionMissionInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5094
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetReunionMissionInfoReq {
+ uint32 mission_id = 14;
+}
diff --git a/protocol/proto/GetReunionMissionInfoRsp.proto b/protocol/proto/GetReunionMissionInfoRsp.proto
new file mode 100644
index 00000000..a7ec3260
--- /dev/null
+++ b/protocol/proto/GetReunionMissionInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionMissionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5099
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetReunionMissionInfoRsp {
+ int32 retcode = 9;
+ ReunionMissionInfo mission_info = 14;
+}
diff --git a/protocol/proto/GetReunionPrivilegeInfoReq.proto b/protocol/proto/GetReunionPrivilegeInfoReq.proto
new file mode 100644
index 00000000..8644173d
--- /dev/null
+++ b/protocol/proto/GetReunionPrivilegeInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5097
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetReunionPrivilegeInfoReq {
+ uint32 privilege_id = 10;
+}
diff --git a/protocol/proto/GetReunionPrivilegeInfoRsp.proto b/protocol/proto/GetReunionPrivilegeInfoRsp.proto
new file mode 100644
index 00000000..1f80bc17
--- /dev/null
+++ b/protocol/proto/GetReunionPrivilegeInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionPrivilegeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5087
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetReunionPrivilegeInfoRsp {
+ int32 retcode = 3;
+ ReunionPrivilegeInfo privilege_info = 1;
+}
diff --git a/protocol/proto/GetReunionSignInInfoReq.proto b/protocol/proto/GetReunionSignInInfoReq.proto
new file mode 100644
index 00000000..8494650c
--- /dev/null
+++ b/protocol/proto/GetReunionSignInInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5052
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetReunionSignInInfoReq {
+ uint32 sign_in_config_id = 10;
+}
diff --git a/protocol/proto/GetReunionSignInInfoRsp.proto b/protocol/proto/GetReunionSignInInfoRsp.proto
new file mode 100644
index 00000000..2266416a
--- /dev/null
+++ b/protocol/proto/GetReunionSignInInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionSignInInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5081
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetReunionSignInInfoRsp {
+ ReunionSignInInfo sign_in_info = 5;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/GetRogueDairyRepairInfoReq.proto b/protocol/proto/GetRogueDairyRepairInfoReq.proto
new file mode 100644
index 00000000..3b7f16b4
--- /dev/null
+++ b/protocol/proto/GetRogueDairyRepairInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8014
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetRogueDairyRepairInfoReq {}
diff --git a/protocol/proto/GetRogueDairyRepairInfoRsp.proto b/protocol/proto/GetRogueDairyRepairInfoRsp.proto
new file mode 100644
index 00000000..052066c1
--- /dev/null
+++ b/protocol/proto/GetRogueDairyRepairInfoRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8447
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetRogueDairyRepairInfoRsp {
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/GetSceneAreaReq.proto b/protocol/proto/GetSceneAreaReq.proto
new file mode 100644
index 00000000..7350d9a6
--- /dev/null
+++ b/protocol/proto/GetSceneAreaReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 265
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetSceneAreaReq {
+ uint32 scene_id = 4;
+ uint32 belong_uid = 7;
+}
diff --git a/protocol/proto/GetSceneAreaRsp.proto b/protocol/proto/GetSceneAreaRsp.proto
new file mode 100644
index 00000000..fd7e7811
--- /dev/null
+++ b/protocol/proto/GetSceneAreaRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 204
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetSceneAreaRsp {
+ int32 retcode = 7;
+ repeated CityInfo city_info_list = 13;
+ uint32 scene_id = 15;
+ repeated uint32 area_id_list = 9;
+}
diff --git a/protocol/proto/GetSceneNpcPositionReq.proto b/protocol/proto/GetSceneNpcPositionReq.proto
new file mode 100644
index 00000000..66720090
--- /dev/null
+++ b/protocol/proto/GetSceneNpcPositionReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 535
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetSceneNpcPositionReq {
+ repeated uint32 npc_id_list = 6;
+ uint32 scene_id = 8;
+}
diff --git a/protocol/proto/GetSceneNpcPositionRsp.proto b/protocol/proto/GetSceneNpcPositionRsp.proto
new file mode 100644
index 00000000..f376e48b
--- /dev/null
+++ b/protocol/proto/GetSceneNpcPositionRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "NpcPositionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 507
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetSceneNpcPositionRsp {
+ int32 retcode = 10;
+ repeated NpcPositionInfo npc_info_list = 14;
+ uint32 scene_id = 4;
+}
diff --git a/protocol/proto/GetScenePerformanceReq.proto b/protocol/proto/GetScenePerformanceReq.proto
new file mode 100644
index 00000000..b7f79f0a
--- /dev/null
+++ b/protocol/proto/GetScenePerformanceReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3419
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetScenePerformanceReq {}
diff --git a/protocol/proto/GetScenePerformanceRsp.proto b/protocol/proto/GetScenePerformanceRsp.proto
new file mode 100644
index 00000000..7611c999
--- /dev/null
+++ b/protocol/proto/GetScenePerformanceRsp.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3137
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetScenePerformanceRsp {
+ uint32 monster_num = 9;
+ uint32 gather_num_insight = 1;
+ uint32 gadget_num = 6;
+ int32 retcode = 7;
+ uint32 dynamic_group_num = 12;
+ uint32 group_num = 2;
+ Vector pos = 4;
+ uint32 entity_num = 8;
+ uint32 gather_num = 13;
+}
diff --git a/protocol/proto/GetScenePointReq.proto b/protocol/proto/GetScenePointReq.proto
new file mode 100644
index 00000000..6da5e339
--- /dev/null
+++ b/protocol/proto/GetScenePointReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 297
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetScenePointReq {
+ uint32 belong_uid = 10;
+ uint32 scene_id = 4;
+}
diff --git a/protocol/proto/GetScenePointRsp.proto b/protocol/proto/GetScenePointRsp.proto
new file mode 100644
index 00000000..ed662c1c
--- /dev/null
+++ b/protocol/proto/GetScenePointRsp.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 281
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetScenePointRsp {
+ repeated uint32 not_explored_dungeon_entry_list = 11;
+ repeated uint32 to_be_explore_dungeon_entry_list = 15;
+ repeated uint32 locked_point_list = 2;
+ repeated uint32 unhide_point_list = 5;
+ int32 retcode = 9;
+ uint32 belong_uid = 12;
+ repeated uint32 unlocked_point_list = 13;
+ repeated uint32 unlock_area_list = 1;
+ repeated uint32 hide_point_list = 4;
+ uint32 scene_id = 14;
+ repeated uint32 not_interact_dungeon_entry_list = 6;
+ repeated uint32 group_unlimit_point_list = 10;
+}
diff --git a/protocol/proto/GetShopReq.proto b/protocol/proto/GetShopReq.proto
new file mode 100644
index 00000000..9b0e3e97
--- /dev/null
+++ b/protocol/proto/GetShopReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 772
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetShopReq {
+ uint32 shop_type = 13;
+}
diff --git a/protocol/proto/GetShopRsp.proto b/protocol/proto/GetShopRsp.proto
new file mode 100644
index 00000000..1d39ff82
--- /dev/null
+++ b/protocol/proto/GetShopRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Shop.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 798
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetShopRsp {
+ Shop shop = 11;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/GetShopmallDataReq.proto b/protocol/proto/GetShopmallDataReq.proto
new file mode 100644
index 00000000..c9f89def
--- /dev/null
+++ b/protocol/proto/GetShopmallDataReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 707
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetShopmallDataReq {}
diff --git a/protocol/proto/GetShopmallDataRsp.proto b/protocol/proto/GetShopmallDataRsp.proto
new file mode 100644
index 00000000..3174cb8f
--- /dev/null
+++ b/protocol/proto/GetShopmallDataRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 721
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetShopmallDataRsp {
+ repeated uint32 shop_type_list = 15;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/GetSignInRewardReq.proto b/protocol/proto/GetSignInRewardReq.proto
new file mode 100644
index 00000000..9d448329
--- /dev/null
+++ b/protocol/proto/GetSignInRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2507
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetSignInRewardReq {
+ uint32 schedule_id = 10;
+ uint32 reward_day = 3;
+}
diff --git a/protocol/proto/GetSignInRewardRsp.proto b/protocol/proto/GetSignInRewardRsp.proto
new file mode 100644
index 00000000..0647d72c
--- /dev/null
+++ b/protocol/proto/GetSignInRewardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SignInInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2521
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetSignInRewardRsp {
+ int32 retcode = 1;
+ SignInInfo sign_in_info = 14;
+}
diff --git a/protocol/proto/GetStoreCustomDungeonReq.proto b/protocol/proto/GetStoreCustomDungeonReq.proto
new file mode 100644
index 00000000..b76d19a8
--- /dev/null
+++ b/protocol/proto/GetStoreCustomDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6250
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetStoreCustomDungeonReq {}
diff --git a/protocol/proto/GetStoreCustomDungeonRsp.proto b/protocol/proto/GetStoreCustomDungeonRsp.proto
new file mode 100644
index 00000000..2ea50180
--- /dev/null
+++ b/protocol/proto/GetStoreCustomDungeonRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OtherCustomDungeonBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6212
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetStoreCustomDungeonRsp {
+ int32 retcode = 13;
+ repeated OtherCustomDungeonBrief custom_dungeon_list = 7;
+}
diff --git a/protocol/proto/GetUgcBriefInfoReq.proto b/protocol/proto/GetUgcBriefInfoReq.proto
new file mode 100644
index 00000000..2c16ed58
--- /dev/null
+++ b/protocol/proto/GetUgcBriefInfoReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6325
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetUgcBriefInfoReq {
+ uint64 ugc_guid = 7;
+ UgcType ugc_type = 10;
+}
diff --git a/protocol/proto/GetUgcBriefInfoRsp.proto b/protocol/proto/GetUgcBriefInfoRsp.proto
new file mode 100644
index 00000000..09b97055
--- /dev/null
+++ b/protocol/proto/GetUgcBriefInfoRsp.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcMusicBriefInfo.proto";
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6307
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetUgcBriefInfoRsp {
+ uint64 ugc_guid = 3;
+ UgcType ugc_type = 11;
+ int32 retcode = 4;
+ oneof brief {
+ UgcMusicBriefInfo music_brief_info = 2;
+ }
+}
diff --git a/protocol/proto/GetUgcReq.proto b/protocol/proto/GetUgcReq.proto
new file mode 100644
index 00000000..38e9fa2b
--- /dev/null
+++ b/protocol/proto/GetUgcReq.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GetUgcType.proto";
+import "RecordUsage.proto";
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6326
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetUgcReq {
+ UgcType ugc_type = 8;
+ uint64 ugc_guid = 5;
+ RecordUsage ugc_record_usage = 6;
+ bool is_require_brief = 11;
+ GetUgcType get_ugc_type = 13;
+}
diff --git a/protocol/proto/GetUgcRsp.proto b/protocol/proto/GetUgcRsp.proto
new file mode 100644
index 00000000..6ca440b2
--- /dev/null
+++ b/protocol/proto/GetUgcRsp.proto
@@ -0,0 +1,41 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RecordUsage.proto";
+import "UgcMusicBriefInfo.proto";
+import "UgcMusicRecord.proto";
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6318
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetUgcRsp {
+ uint64 ugc_guid = 15;
+ UgcType ugc_type = 10;
+ int32 retcode = 2;
+ RecordUsage ugc_record_usage = 14;
+ oneof record {
+ UgcMusicRecord music_record = 4;
+ }
+ oneof brief {
+ UgcMusicBriefInfo music_brief_info = 1819;
+ }
+}
diff --git a/protocol/proto/GetUgcType.proto b/protocol/proto/GetUgcType.proto
new file mode 100644
index 00000000..660272c0
--- /dev/null
+++ b/protocol/proto/GetUgcType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum GetUgcType {
+ GET_UGC_TYPE_NONE = 0;
+ GET_UGC_TYPE_MINE = 1;
+ GET_UGC_TYPE_PUBLISH = 2;
+}
diff --git a/protocol/proto/GetWidgetSlotReq.proto b/protocol/proto/GetWidgetSlotReq.proto
new file mode 100644
index 00000000..0d23c4e0
--- /dev/null
+++ b/protocol/proto/GetWidgetSlotReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4253
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetWidgetSlotReq {}
diff --git a/protocol/proto/GetWidgetSlotRsp.proto b/protocol/proto/GetWidgetSlotRsp.proto
new file mode 100644
index 00000000..42eddedf
--- /dev/null
+++ b/protocol/proto/GetWidgetSlotRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetSlotData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4254
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetWidgetSlotRsp {
+ repeated WidgetSlotData slot_list = 13;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/GetWorldMpInfoReq.proto b/protocol/proto/GetWorldMpInfoReq.proto
new file mode 100644
index 00000000..a8add9da
--- /dev/null
+++ b/protocol/proto/GetWorldMpInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3391
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GetWorldMpInfoReq {}
diff --git a/protocol/proto/GetWorldMpInfoRsp.proto b/protocol/proto/GetWorldMpInfoRsp.proto
new file mode 100644
index 00000000..d3cda41e
--- /dev/null
+++ b/protocol/proto/GetWorldMpInfoRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3320
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GetWorldMpInfoRsp {
+ int32 retcode = 12;
+ bool is_in_mp_mode = 1;
+ uint32 quit_mp_valid_time = 9;
+}
diff --git a/protocol/proto/GiveUpRoguelikeDungeonCardReq.proto b/protocol/proto/GiveUpRoguelikeDungeonCardReq.proto
new file mode 100644
index 00000000..65f70a2a
--- /dev/null
+++ b/protocol/proto/GiveUpRoguelikeDungeonCardReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8353
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GiveUpRoguelikeDungeonCardReq {}
diff --git a/protocol/proto/GiveUpRoguelikeDungeonCardRsp.proto b/protocol/proto/GiveUpRoguelikeDungeonCardRsp.proto
new file mode 100644
index 00000000..e3773507
--- /dev/null
+++ b/protocol/proto/GiveUpRoguelikeDungeonCardRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8497
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GiveUpRoguelikeDungeonCardRsp {
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/GivingRecord.proto b/protocol/proto/GivingRecord.proto
new file mode 100644
index 00000000..0d4acc70
--- /dev/null
+++ b/protocol/proto/GivingRecord.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GivingRecord {
+ bool is_finished = 9;
+ uint32 group_id = 5;
+ bool is_gadget_giving = 8;
+ uint32 giving_id = 3;
+ uint32 last_group_id = 6;
+ uint32 config_id = 2;
+ map material_cnt_map = 15;
+}
diff --git a/protocol/proto/GivingRecordChangeNotify.proto b/protocol/proto/GivingRecordChangeNotify.proto
new file mode 100644
index 00000000..3c8084ca
--- /dev/null
+++ b/protocol/proto/GivingRecordChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GivingRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 187
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GivingRecordChangeNotify {
+ bool is_deactive = 11;
+ GivingRecord giving_record = 15;
+}
diff --git a/protocol/proto/GivingRecordNotify.proto b/protocol/proto/GivingRecordNotify.proto
new file mode 100644
index 00000000..d9813674
--- /dev/null
+++ b/protocol/proto/GivingRecordNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GivingRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 116
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GivingRecordNotify {
+ repeated GivingRecord giving_record_list = 14;
+}
diff --git a/protocol/proto/GlobalBuildingInfoNotify.proto b/protocol/proto/GlobalBuildingInfoNotify.proto
new file mode 100644
index 00000000..50da5efb
--- /dev/null
+++ b/protocol/proto/GlobalBuildingInfoNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BuildingInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5320
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GlobalBuildingInfoNotify {
+ uint32 current_num = 5;
+ repeated BuildingInfo building_list = 3;
+ uint32 max_num = 13;
+}
diff --git a/protocol/proto/GmTalkNotify.proto b/protocol/proto/GmTalkNotify.proto
new file mode 100644
index 00000000..01648e63
--- /dev/null
+++ b/protocol/proto/GmTalkNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 94
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GmTalkNotify {
+ string msg = 5;
+}
diff --git a/protocol/proto/GmTalkReq.proto b/protocol/proto/GmTalkReq.proto
new file mode 100644
index 00000000..0a44431f
--- /dev/null
+++ b/protocol/proto/GmTalkReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 98
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GmTalkReq {
+ string msg = 13;
+}
diff --git a/protocol/proto/GmTalkRsp.proto b/protocol/proto/GmTalkRsp.proto
new file mode 100644
index 00000000..8d6deefe
--- /dev/null
+++ b/protocol/proto/GmTalkRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 12
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GmTalkRsp {
+ int32 retcode = 15;
+ string retmsg = 3;
+ string msg = 13;
+}
diff --git a/protocol/proto/GrantRewardNotify.proto b/protocol/proto/GrantRewardNotify.proto
new file mode 100644
index 00000000..aeecf957
--- /dev/null
+++ b/protocol/proto/GrantRewardNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Reward.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 663
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GrantRewardNotify {
+ Reward reward = 6;
+}
diff --git a/protocol/proto/GravenInnocenceCampInfo.proto b/protocol/proto/GravenInnocenceCampInfo.proto
new file mode 100644
index 00000000..fadbc9ac
--- /dev/null
+++ b/protocol/proto/GravenInnocenceCampInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GravenInnocenceCampStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocenceCampInfo {
+ repeated GravenInnocenceCampStageInfo stage_info_list = 5;
+}
diff --git a/protocol/proto/GravenInnocenceCampStageInfo.proto b/protocol/proto/GravenInnocenceCampStageInfo.proto
new file mode 100644
index 00000000..efe0f425
--- /dev/null
+++ b/protocol/proto/GravenInnocenceCampStageInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocenceCampStageInfo {
+ bool is_open = 15;
+ uint32 level_id = 10;
+ uint32 stage_id = 9;
+ bool is_finished = 3;
+}
diff --git a/protocol/proto/GravenInnocenceCarveInfo.proto b/protocol/proto/GravenInnocenceCarveInfo.proto
new file mode 100644
index 00000000..260947bf
--- /dev/null
+++ b/protocol/proto/GravenInnocenceCarveInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GravenInnocenceCarveStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocenceCarveInfo {
+ repeated GravenInnocenceCarveStageInfo stage_info_list = 10;
+ uint32 can_edit_count = 7;
+ repeated uint32 has_edit_config_id_list = 6;
+}
diff --git a/protocol/proto/GravenInnocenceCarveStageInfo.proto b/protocol/proto/GravenInnocenceCarveStageInfo.proto
new file mode 100644
index 00000000..68ca1dc5
--- /dev/null
+++ b/protocol/proto/GravenInnocenceCarveStageInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocenceCarveStageInfo {
+ uint32 stage_id = 9;
+ bool is_open = 1;
+}
diff --git a/protocol/proto/GravenInnocenceDetailInfo.proto b/protocol/proto/GravenInnocenceDetailInfo.proto
new file mode 100644
index 00000000..952d1424
--- /dev/null
+++ b/protocol/proto/GravenInnocenceDetailInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GravenInnocenceCampInfo.proto";
+import "GravenInnocenceCarveInfo.proto";
+import "GravenInnocencePhotoInfo.proto";
+import "GravenInnocenceRaceInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocenceDetailInfo {
+ bool is_content_closed = 8;
+ GravenInnocenceRaceInfo race_info = 10;
+ GravenInnocencePhotoInfo photo_info = 7;
+ GravenInnocenceCarveInfo carve_info = 13;
+ GravenInnocenceCampInfo camp_info = 12;
+}
diff --git a/protocol/proto/GravenInnocenceEditCarveCombinationReq.proto b/protocol/proto/GravenInnocenceEditCarveCombinationReq.proto
new file mode 100644
index 00000000..dba4d81c
--- /dev/null
+++ b/protocol/proto/GravenInnocenceEditCarveCombinationReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomGadgetTreeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23107
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GravenInnocenceEditCarveCombinationReq {
+ uint32 entity_id = 2;
+ CustomGadgetTreeInfo combination_info = 11;
+}
diff --git a/protocol/proto/GravenInnocenceEditCarveCombinationRsp.proto b/protocol/proto/GravenInnocenceEditCarveCombinationRsp.proto
new file mode 100644
index 00000000..9b615b62
--- /dev/null
+++ b/protocol/proto/GravenInnocenceEditCarveCombinationRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20702
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GravenInnocenceEditCarveCombinationRsp {
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/GravenInnocencePhotoFinishReq.proto b/protocol/proto/GravenInnocencePhotoFinishReq.proto
new file mode 100644
index 00000000..7a7f15cf
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoFinishReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21750
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GravenInnocencePhotoFinishReq {
+ uint32 param = 1;
+ uint32 object_id = 4;
+}
diff --git a/protocol/proto/GravenInnocencePhotoFinishRsp.proto b/protocol/proto/GravenInnocencePhotoFinishRsp.proto
new file mode 100644
index 00000000..7553382c
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoFinishRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23948
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GravenInnocencePhotoFinishRsp {
+ uint32 object_id = 6;
+ uint32 param = 11;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/GravenInnocencePhotoInfo.proto b/protocol/proto/GravenInnocencePhotoInfo.proto
new file mode 100644
index 00000000..c24bfd37
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GravenInnocencePhotoObjectInfo.proto";
+import "GravenInnocencePhotoStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocencePhotoInfo {
+ repeated GravenInnocencePhotoStageInfo stage_info_list = 5;
+ repeated GravenInnocencePhotoObjectInfo object_info_list = 7;
+}
diff --git a/protocol/proto/GravenInnocencePhotoObjectInfo.proto b/protocol/proto/GravenInnocencePhotoObjectInfo.proto
new file mode 100644
index 00000000..7403ed74
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoObjectInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocencePhotoObjectInfo {
+ uint32 object_id = 1;
+ uint32 finish_time = 4;
+ uint32 param = 14;
+}
diff --git a/protocol/proto/GravenInnocencePhotoReminderNotify.proto b/protocol/proto/GravenInnocencePhotoReminderNotify.proto
new file mode 100644
index 00000000..209d749c
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoReminderNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23864
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GravenInnocencePhotoReminderNotify {
+ uint32 group_bundle_id = 14;
+ uint32 reminder_id = 6;
+}
diff --git a/protocol/proto/GravenInnocencePhotoStageInfo.proto b/protocol/proto/GravenInnocencePhotoStageInfo.proto
new file mode 100644
index 00000000..36449900
--- /dev/null
+++ b/protocol/proto/GravenInnocencePhotoStageInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocencePhotoStageInfo {
+ bool is_finished = 11;
+ uint32 stage_id = 6;
+ bool is_open = 9;
+}
diff --git a/protocol/proto/GravenInnocenceRaceInfo.proto b/protocol/proto/GravenInnocenceRaceInfo.proto
new file mode 100644
index 00000000..a6a5cd4e
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GravenInnocenceRaceLevelInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocenceRaceInfo {
+ repeated GravenInnocenceRaceLevelInfo level_info_list = 11;
+}
diff --git a/protocol/proto/GravenInnocenceRaceLevelInfo.proto b/protocol/proto/GravenInnocenceRaceLevelInfo.proto
new file mode 100644
index 00000000..c5975f4f
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceLevelInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GravenInnocenceRaceLevelInfo {
+ uint32 level_id = 13;
+ uint32 max_score = 14;
+ bool is_open = 1;
+}
diff --git a/protocol/proto/GravenInnocenceRaceRestartReq.proto b/protocol/proto/GravenInnocenceRaceRestartReq.proto
new file mode 100644
index 00000000..85aa9f0a
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceRestartReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22882
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message GravenInnocenceRaceRestartReq {
+ uint32 gallery_id = 6;
+}
diff --git a/protocol/proto/GravenInnocenceRaceRestartRsp.proto b/protocol/proto/GravenInnocenceRaceRestartRsp.proto
new file mode 100644
index 00000000..8e6aad0e
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceRestartRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21880
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GravenInnocenceRaceRestartRsp {
+ int32 retcode = 8;
+ uint32 gallery_id = 6;
+}
diff --git a/protocol/proto/GravenInnocenceRaceSettleNotify.proto b/protocol/proto/GravenInnocenceRaceSettleNotify.proto
new file mode 100644
index 00000000..e7be3231
--- /dev/null
+++ b/protocol/proto/GravenInnocenceRaceSettleNotify.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20681
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GravenInnocenceRaceSettleNotify {
+ bool is_new_record = 4;
+ uint32 gallery_id = 6;
+ uint32 score = 5;
+ GalleryStopReason reason = 2;
+ uint32 total_coint_count = 13;
+ uint32 remain_time = 10;
+ uint32 challenge_progress = 1;
+ uint32 coin_count = 8;
+ bool is_success = 7;
+ uint32 level_id = 11;
+}
diff --git a/protocol/proto/GroupLinkAllNotify.proto b/protocol/proto/GroupLinkAllNotify.proto
new file mode 100644
index 00000000..12f0df9e
--- /dev/null
+++ b/protocol/proto/GroupLinkAllNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GroupLinkBundle.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5776
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GroupLinkAllNotify {
+ repeated GroupLinkBundle bundle_list = 5;
+}
diff --git a/protocol/proto/GroupLinkBundle.proto b/protocol/proto/GroupLinkBundle.proto
new file mode 100644
index 00000000..57a4268a
--- /dev/null
+++ b/protocol/proto/GroupLinkBundle.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message GroupLinkBundle {
+ Vector center = 4;
+ bool is_activated = 12;
+ uint32 bundle_id = 3;
+ bool is_show_mark = 14;
+ uint32 scene_id = 5;
+ uint32 radius = 1;
+}
diff --git a/protocol/proto/GroupLinkChangeNotify.proto b/protocol/proto/GroupLinkChangeNotify.proto
new file mode 100644
index 00000000..87729de0
--- /dev/null
+++ b/protocol/proto/GroupLinkChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GroupLinkBundle.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5768
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GroupLinkChangeNotify {
+ GroupLinkBundle bundle = 8;
+}
diff --git a/protocol/proto/GroupLinkDeleteNotify.proto b/protocol/proto/GroupLinkDeleteNotify.proto
new file mode 100644
index 00000000..3d8544ac
--- /dev/null
+++ b/protocol/proto/GroupLinkDeleteNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5775
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GroupLinkDeleteNotify {
+ uint32 bundle_id = 12;
+}
diff --git a/protocol/proto/GroupLinkMarkUpdateNotify.proto b/protocol/proto/GroupLinkMarkUpdateNotify.proto
new file mode 100644
index 00000000..025a0a53
--- /dev/null
+++ b/protocol/proto/GroupLinkMarkUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GroupLinkBundle.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5757
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GroupLinkMarkUpdateNotify {
+ GroupLinkBundle bundle = 11;
+}
diff --git a/protocol/proto/GroupSuiteNotify.proto b/protocol/proto/GroupSuiteNotify.proto
new file mode 100644
index 00000000..56955450
--- /dev/null
+++ b/protocol/proto/GroupSuiteNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3257
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GroupSuiteNotify {
+ map group_map = 3;
+}
diff --git a/protocol/proto/GroupUnloadNotify.proto b/protocol/proto/GroupUnloadNotify.proto
new file mode 100644
index 00000000..3cb389b7
--- /dev/null
+++ b/protocol/proto/GroupUnloadNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3344
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GroupUnloadNotify {
+ repeated uint32 group_list = 10;
+}
diff --git a/protocol/proto/GuestBeginEnterSceneNotify.proto b/protocol/proto/GuestBeginEnterSceneNotify.proto
new file mode 100644
index 00000000..6022073a
--- /dev/null
+++ b/protocol/proto/GuestBeginEnterSceneNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3031
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GuestBeginEnterSceneNotify {
+ uint32 scene_id = 8;
+ uint32 uid = 15;
+}
diff --git a/protocol/proto/GuestPostEnterSceneNotify.proto b/protocol/proto/GuestPostEnterSceneNotify.proto
new file mode 100644
index 00000000..1a401600
--- /dev/null
+++ b/protocol/proto/GuestPostEnterSceneNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3144
+// EnetChannelId: 0
+// EnetIsReliable: true
+message GuestPostEnterSceneNotify {
+ uint32 scene_id = 5;
+ uint32 uid = 4;
+}
diff --git a/protocol/proto/H5ActivityIdsNotify.proto b/protocol/proto/H5ActivityIdsNotify.proto
new file mode 100644
index 00000000..01bca864
--- /dev/null
+++ b/protocol/proto/H5ActivityIdsNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5675
+// EnetChannelId: 0
+// EnetIsReliable: true
+message H5ActivityIdsNotify {
+ uint32 client_red_dot_timestamp = 1;
+ map h5_activity_map = 12;
+}
diff --git a/protocol/proto/H5ActivityInfo.proto b/protocol/proto/H5ActivityInfo.proto
new file mode 100644
index 00000000..4250b63b
--- /dev/null
+++ b/protocol/proto/H5ActivityInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message H5ActivityInfo {
+ uint32 h5_activity_id = 3;
+ string url = 4;
+ bool is_entrance_open = 7;
+ uint32 h5_schedule_id = 8;
+ uint32 end_time = 10;
+ string prefab_path = 11;
+ uint32 content_close_time = 2;
+ uint32 begin_time = 13;
+}
diff --git a/protocol/proto/HachiActivityDetailInfo.proto b/protocol/proto/HachiActivityDetailInfo.proto
new file mode 100644
index 00000000..d40cb678
--- /dev/null
+++ b/protocol/proto/HachiActivityDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HachiStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HachiActivityDetailInfo {
+ map stage_map = 6;
+}
diff --git a/protocol/proto/HachiStageData.proto b/protocol/proto/HachiStageData.proto
new file mode 100644
index 00000000..dde0aab6
--- /dev/null
+++ b/protocol/proto/HachiStageData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HachiStageData {
+ bool is_open = 8;
+ bool is_finished = 12;
+ uint32 open_time = 5;
+ uint32 stage_id = 14;
+}
diff --git a/protocol/proto/HashedString.proto b/protocol/proto/HashedString.proto
new file mode 100644
index 00000000..53feb69c
--- /dev/null
+++ b/protocol/proto/HashedString.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HashedString {
+ uint32 hash = 1;
+}
diff --git a/protocol/proto/HideAndSeekActivityDetailInfo.proto b/protocol/proto/HideAndSeekActivityDetailInfo.proto
new file mode 100644
index 00000000..a4e9d574
--- /dev/null
+++ b/protocol/proto/HideAndSeekActivityDetailInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HideAndSeekMapInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HideAndSeekActivityDetailInfo {
+ repeated HideAndSeekMapInfo open_map_info_list = 1;
+ repeated uint32 chosen_hunter_skill_list = 4;
+ repeated uint32 unlock_map_list = 13;
+ repeated uint32 chosen_hider_skill_list = 6;
+}
diff --git a/protocol/proto/HideAndSeekMapInfo.proto b/protocol/proto/HideAndSeekMapInfo.proto
new file mode 100644
index 00000000..25d3a31c
--- /dev/null
+++ b/protocol/proto/HideAndSeekMapInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HideAndSeekMapInfo {
+ repeated uint32 match_lock_reason_list = 11;
+ uint32 id = 7;
+}
diff --git a/protocol/proto/HideAndSeekPlayerBattleInfo.proto b/protocol/proto/HideAndSeekPlayerBattleInfo.proto
new file mode 100644
index 00000000..b859c438
--- /dev/null
+++ b/protocol/proto/HideAndSeekPlayerBattleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HideAndSeekPlayerBattleInfo {
+ uint32 costume_id = 3;
+ repeated uint32 skill_list = 15;
+ bool is_ready = 12;
+ uint32 avatar_id = 6;
+}
diff --git a/protocol/proto/HideAndSeekPlayerReadyNotify.proto b/protocol/proto/HideAndSeekPlayerReadyNotify.proto
new file mode 100644
index 00000000..30167c7a
--- /dev/null
+++ b/protocol/proto/HideAndSeekPlayerReadyNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5302
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HideAndSeekPlayerReadyNotify {
+ repeated uint32 uid_list = 5;
+}
diff --git a/protocol/proto/HideAndSeekPlayerSetAvatarNotify.proto b/protocol/proto/HideAndSeekPlayerSetAvatarNotify.proto
new file mode 100644
index 00000000..07708c29
--- /dev/null
+++ b/protocol/proto/HideAndSeekPlayerSetAvatarNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5319
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HideAndSeekPlayerSetAvatarNotify {
+ uint32 avatar_id = 2;
+ uint32 costume_id = 13;
+ uint32 uid = 5;
+}
diff --git a/protocol/proto/HideAndSeekSelectAvatarReq.proto b/protocol/proto/HideAndSeekSelectAvatarReq.proto
new file mode 100644
index 00000000..0129fa14
--- /dev/null
+++ b/protocol/proto/HideAndSeekSelectAvatarReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5330
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HideAndSeekSelectAvatarReq {
+ uint32 avatar_id = 8;
+}
diff --git a/protocol/proto/HideAndSeekSelectAvatarRsp.proto b/protocol/proto/HideAndSeekSelectAvatarRsp.proto
new file mode 100644
index 00000000..96983f2e
--- /dev/null
+++ b/protocol/proto/HideAndSeekSelectAvatarRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5367
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HideAndSeekSelectAvatarRsp {
+ int32 retcode = 2;
+ uint32 avatar_id = 3;
+}
diff --git a/protocol/proto/HideAndSeekSelectSkillReq.proto b/protocol/proto/HideAndSeekSelectSkillReq.proto
new file mode 100644
index 00000000..44c72b36
--- /dev/null
+++ b/protocol/proto/HideAndSeekSelectSkillReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8183
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HideAndSeekSelectSkillReq {
+ repeated uint32 skill_list = 13;
+}
diff --git a/protocol/proto/HideAndSeekSelectSkillRsp.proto b/protocol/proto/HideAndSeekSelectSkillRsp.proto
new file mode 100644
index 00000000..fcb83f7e
--- /dev/null
+++ b/protocol/proto/HideAndSeekSelectSkillRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8088
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HideAndSeekSelectSkillRsp {
+ int32 retcode = 4;
+ repeated uint32 skill_list = 12;
+}
diff --git a/protocol/proto/HideAndSeekSetReadyReq.proto b/protocol/proto/HideAndSeekSetReadyReq.proto
new file mode 100644
index 00000000..f125be9f
--- /dev/null
+++ b/protocol/proto/HideAndSeekSetReadyReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5358
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HideAndSeekSetReadyReq {}
diff --git a/protocol/proto/HideAndSeekSetReadyRsp.proto b/protocol/proto/HideAndSeekSetReadyRsp.proto
new file mode 100644
index 00000000..3be5ae8b
--- /dev/null
+++ b/protocol/proto/HideAndSeekSetReadyRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5370
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HideAndSeekSetReadyRsp {
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/HideAndSeekSettleInfo.proto b/protocol/proto/HideAndSeekSettleInfo.proto
new file mode 100644
index 00000000..f136795c
--- /dev/null
+++ b/protocol/proto/HideAndSeekSettleInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExhibitionDisplayInfo.proto";
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HideAndSeekSettleInfo {
+ uint32 uid = 2;
+ ProfilePicture profile_picture = 1;
+ repeated ExhibitionDisplayInfo card_list = 8;
+ string nickname = 3;
+ uint32 head_image = 4;
+ string online_id = 10;
+}
diff --git a/protocol/proto/HideAndSeekSettleNotify.proto b/protocol/proto/HideAndSeekSettleNotify.proto
new file mode 100644
index 00000000..0d2e24cd
--- /dev/null
+++ b/protocol/proto/HideAndSeekSettleNotify.proto
@@ -0,0 +1,43 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExhibitionDisplayInfo.proto";
+import "HideAndSeekSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5317
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HideAndSeekSettleNotify {
+ uint32 cost_time = 2;
+ repeated HideAndSeekSettleInfo settle_info_list = 8;
+ repeated uint32 winner_list = 15;
+ SettleReason reason = 4;
+ uint32 play_index = 13;
+ bool is_record_score = 6;
+ repeated ExhibitionDisplayInfo score_list = 9;
+ uint32 stage_type = 14;
+
+ enum SettleReason {
+ SETTLE_REASON_TIME_OUT = 0;
+ SETTLE_REASON_PLAY_END = 1;
+ SETTLE_REASON_PLAYER_QUIT = 2;
+ }
+}
diff --git a/protocol/proto/HideAndSeekStageInfo.proto b/protocol/proto/HideAndSeekStageInfo.proto
new file mode 100644
index 00000000..ff4bcf33
--- /dev/null
+++ b/protocol/proto/HideAndSeekStageInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HideAndSeekPlayerBattleInfo.proto";
+import "HideAndSeekStageType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HideAndSeekStageInfo {
+ uint32 map_id = 8;
+ bool is_record_score = 3;
+ HideAndSeekStageType stage_type = 7;
+ map battle_info_map = 2;
+ repeated uint32 hider_uid_list = 1;
+ uint32 hunter_uid = 10;
+}
diff --git a/protocol/proto/HideAndSeekStageType.proto b/protocol/proto/HideAndSeekStageType.proto
new file mode 100644
index 00000000..4f5f896c
--- /dev/null
+++ b/protocol/proto/HideAndSeekStageType.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum HideAndSeekStageType {
+ HIDE_AND_SEEK_STAGE_TYPE_PREPARE = 0;
+ HIDE_AND_SEEK_STAGE_TYPE_PICK = 1;
+ HIDE_AND_SEEK_STAGE_TYPE_GAME = 2;
+ HIDE_AND_SEEK_STAGE_TYPE_HIDE = 3;
+ HIDE_AND_SEEK_STAGE_TYPE_SEEK = 4;
+ HIDE_AND_SEEK_STAGE_TYPE_SETTLE = 5;
+}
diff --git a/protocol/proto/HitClientTrivialNotify.proto b/protocol/proto/HitClientTrivialNotify.proto
new file mode 100644
index 00000000..78b76aed
--- /dev/null
+++ b/protocol/proto/HitClientTrivialNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 244
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HitClientTrivialNotify {
+ Vector position = 11;
+ uint32 owner_entity_id = 12;
+}
diff --git a/protocol/proto/HitColliderType.proto b/protocol/proto/HitColliderType.proto
new file mode 100644
index 00000000..89b495d3
--- /dev/null
+++ b/protocol/proto/HitColliderType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum HitColliderType {
+ HIT_COLLIDER_TYPE_INVALID = 0;
+ HIT_COLLIDER_TYPE_HIT_BOX = 1;
+ HIT_COLLIDER_TYPE_WET_HIT_BOX = 2;
+ HIT_COLLIDER_TYPE_HEAD_BOX = 3;
+}
diff --git a/protocol/proto/HitCollision.proto b/protocol/proto/HitCollision.proto
new file mode 100644
index 00000000..51928562
--- /dev/null
+++ b/protocol/proto/HitCollision.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HitColliderType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HitCollision {
+ HitColliderType hit_collider_type = 8;
+ Vector hit_point = 7;
+ float attackee_hit_force_angle = 2;
+ Vector hit_dir = 13;
+ float attackee_hit_entity_angle = 15;
+ int32 hit_box_index = 4;
+}
diff --git a/protocol/proto/HitTreeInfo.proto b/protocol/proto/HitTreeInfo.proto
new file mode 100644
index 00000000..e78ffc51
--- /dev/null
+++ b/protocol/proto/HitTreeInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HitTreeInfo {
+ Vector tree_pos = 12;
+ uint32 tree_type = 8;
+}
diff --git a/protocol/proto/HitTreeNotify.proto b/protocol/proto/HitTreeNotify.proto
new file mode 100644
index 00000000..2481b8a1
--- /dev/null
+++ b/protocol/proto/HitTreeNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3019
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HitTreeNotify {
+ uint32 tree_type = 11;
+ Vector tree_pos = 2;
+ Vector drop_pos = 8;
+}
diff --git a/protocol/proto/HomeAllUnlockedBgmIdListNotify.proto b/protocol/proto/HomeAllUnlockedBgmIdListNotify.proto
new file mode 100644
index 00000000..e4833413
--- /dev/null
+++ b/protocol/proto/HomeAllUnlockedBgmIdListNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4608
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAllUnlockedBgmIdListNotify {
+ repeated uint32 all_unlocked_bgm_id_list = 11;
+}
diff --git a/protocol/proto/HomeAnimalData.proto b/protocol/proto/HomeAnimalData.proto
new file mode 100644
index 00000000..40494fa6
--- /dev/null
+++ b/protocol/proto/HomeAnimalData.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeAnimalData {
+ Vector spawn_rot = 10;
+ uint32 furniture_id = 5;
+ Vector spawn_pos = 6;
+}
diff --git a/protocol/proto/HomeAvatarAllFinishRewardNotify.proto b/protocol/proto/HomeAvatarAllFinishRewardNotify.proto
new file mode 100644
index 00000000..057cddc4
--- /dev/null
+++ b/protocol/proto/HomeAvatarAllFinishRewardNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4741
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvatarAllFinishRewardNotify {
+ repeated uint32 event_id_list = 7;
+}
diff --git a/protocol/proto/HomeAvatarCostumeChangeNotify.proto b/protocol/proto/HomeAvatarCostumeChangeNotify.proto
new file mode 100644
index 00000000..70a4d858
--- /dev/null
+++ b/protocol/proto/HomeAvatarCostumeChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4748
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvatarCostumeChangeNotify {
+ uint32 costume_id = 4;
+ uint32 avatar_id = 10;
+}
diff --git a/protocol/proto/HomeAvatarRewardEventGetReq.proto b/protocol/proto/HomeAvatarRewardEventGetReq.proto
new file mode 100644
index 00000000..932d3fb2
--- /dev/null
+++ b/protocol/proto/HomeAvatarRewardEventGetReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4551
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeAvatarRewardEventGetReq {
+ uint32 event_id = 9;
+ uint32 avatar_id = 7;
+}
diff --git a/protocol/proto/HomeAvatarRewardEventGetRsp.proto b/protocol/proto/HomeAvatarRewardEventGetRsp.proto
new file mode 100644
index 00000000..2a693d44
--- /dev/null
+++ b/protocol/proto/HomeAvatarRewardEventGetRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4833
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvatarRewardEventGetRsp {
+ repeated ItemParam item_list = 4;
+ int32 retcode = 14;
+ uint32 event_id = 8;
+}
diff --git a/protocol/proto/HomeAvatarRewardEventInfo.proto b/protocol/proto/HomeAvatarRewardEventInfo.proto
new file mode 100644
index 00000000..4c74a7e5
--- /dev/null
+++ b/protocol/proto/HomeAvatarRewardEventInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeAvatarRewardEventInfo {
+ uint32 avatar_id = 1;
+ uint32 guid = 12;
+ uint32 event_id = 2;
+ uint32 suite_id = 14;
+ uint32 random_position = 9;
+}
diff --git a/protocol/proto/HomeAvatarRewardEventNotify.proto b/protocol/proto/HomeAvatarRewardEventNotify.proto
new file mode 100644
index 00000000..13248c70
--- /dev/null
+++ b/protocol/proto/HomeAvatarRewardEventNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeAvatarRewardEventInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4852
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvatarRewardEventNotify {
+ bool is_event_trigger = 4;
+ HomeAvatarRewardEventInfo reward_event = 2;
+ repeated HomeAvatarRewardEventInfo pending_list = 8;
+}
diff --git a/protocol/proto/HomeAvatarSummonAllEventNotify.proto b/protocol/proto/HomeAvatarSummonAllEventNotify.proto
new file mode 100644
index 00000000..5e02246d
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonAllEventNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeAvatarSummonEventInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4808
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvatarSummonAllEventNotify {
+ repeated HomeAvatarSummonEventInfo summon_event_list = 1;
+}
diff --git a/protocol/proto/HomeAvatarSummonEventInfo.proto b/protocol/proto/HomeAvatarSummonEventInfo.proto
new file mode 100644
index 00000000..1243e1c8
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonEventInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeAvatarSummonEventInfo {
+ uint32 avatar_id = 3;
+ uint32 guid = 8;
+ uint32 event_id = 9;
+ uint32 suit_id = 12;
+ uint32 event_over_time = 2;
+ uint32 random_position = 10;
+}
diff --git a/protocol/proto/HomeAvatarSummonEventReq.proto b/protocol/proto/HomeAvatarSummonEventReq.proto
new file mode 100644
index 00000000..3acf22dc
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonEventReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4806
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeAvatarSummonEventReq {
+ uint32 avatar_id = 7;
+ uint32 suit_id = 9;
+ uint32 guid = 12;
+}
diff --git a/protocol/proto/HomeAvatarSummonEventRsp.proto b/protocol/proto/HomeAvatarSummonEventRsp.proto
new file mode 100644
index 00000000..5a5a386e
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonEventRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4817
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvatarSummonEventRsp {
+ uint32 event_id = 11;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/HomeAvatarSummonFinishReq.proto b/protocol/proto/HomeAvatarSummonFinishReq.proto
new file mode 100644
index 00000000..2672bf8b
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonFinishReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4629
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeAvatarSummonFinishReq {
+ uint32 event_id = 12;
+}
diff --git a/protocol/proto/HomeAvatarSummonFinishRsp.proto b/protocol/proto/HomeAvatarSummonFinishRsp.proto
new file mode 100644
index 00000000..1532dcde
--- /dev/null
+++ b/protocol/proto/HomeAvatarSummonFinishRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4696
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvatarSummonFinishRsp {
+ uint32 event_id = 8;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/HomeAvatarTalkFinishInfo.proto b/protocol/proto/HomeAvatarTalkFinishInfo.proto
new file mode 100644
index 00000000..1d7b5e64
--- /dev/null
+++ b/protocol/proto/HomeAvatarTalkFinishInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeAvatarTalkFinishInfo {
+ uint32 avatar_id = 9;
+ repeated uint32 finish_talk_id_list = 3;
+}
diff --git a/protocol/proto/HomeAvatarTalkFinishInfoNotify.proto b/protocol/proto/HomeAvatarTalkFinishInfoNotify.proto
new file mode 100644
index 00000000..b9677e54
--- /dev/null
+++ b/protocol/proto/HomeAvatarTalkFinishInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeAvatarTalkFinishInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4896
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvatarTalkFinishInfoNotify {
+ repeated HomeAvatarTalkFinishInfo avatar_talk_info_list = 9;
+}
diff --git a/protocol/proto/HomeAvatarTalkReq.proto b/protocol/proto/HomeAvatarTalkReq.proto
new file mode 100644
index 00000000..3a9c4db3
--- /dev/null
+++ b/protocol/proto/HomeAvatarTalkReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4688
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeAvatarTalkReq {
+ uint32 talk_id = 12;
+ uint32 avatar_id = 15;
+}
diff --git a/protocol/proto/HomeAvatarTalkRsp.proto b/protocol/proto/HomeAvatarTalkRsp.proto
new file mode 100644
index 00000000..088e4418
--- /dev/null
+++ b/protocol/proto/HomeAvatarTalkRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeAvatarTalkFinishInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4464
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvatarTalkRsp {
+ int32 retcode = 8;
+ HomeAvatarTalkFinishInfo avatar_talk_info = 3;
+}
diff --git a/protocol/proto/HomeAvtarAllFinishRewardNotify.proto b/protocol/proto/HomeAvtarAllFinishRewardNotify.proto
new file mode 100644
index 00000000..3ca317b1
--- /dev/null
+++ b/protocol/proto/HomeAvtarAllFinishRewardNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4453
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeAvtarAllFinishRewardNotify {
+ repeated uint32 event_id_list = 13;
+}
diff --git a/protocol/proto/HomeBalloonGalleryRecord.proto b/protocol/proto/HomeBalloonGalleryRecord.proto
new file mode 100644
index 00000000..0f16f548
--- /dev/null
+++ b/protocol/proto/HomeBalloonGalleryRecord.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeGroupPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBalloonGalleryRecord {
+ uint32 hit_count = 12;
+ uint32 score = 11;
+ HomeGroupPlayerInfo player_info = 5;
+ uint32 timestamp = 2;
+}
diff --git a/protocol/proto/HomeBalloonGalleryScoreNotify.proto b/protocol/proto/HomeBalloonGalleryScoreNotify.proto
new file mode 100644
index 00000000..5d8dfbf7
--- /dev/null
+++ b/protocol/proto/HomeBalloonGalleryScoreNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4654
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeBalloonGalleryScoreNotify {
+ uint32 trigger_entity_id = 10;
+ uint32 cur_score = 9;
+ uint32 add_score = 7;
+ uint32 gallery_id = 5;
+}
diff --git a/protocol/proto/HomeBalloonGallerySettleNotify.proto b/protocol/proto/HomeBalloonGallerySettleNotify.proto
new file mode 100644
index 00000000..6c287918
--- /dev/null
+++ b/protocol/proto/HomeBalloonGallerySettleNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BalloonGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4811
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeBalloonGallerySettleNotify {
+ uint32 gallery_id = 1;
+ BalloonGallerySettleInfo settle_info = 5;
+ uint32 rank = 6;
+ bool is_new_record = 4;
+}
diff --git a/protocol/proto/HomeBalloonRecord.proto b/protocol/proto/HomeBalloonRecord.proto
new file mode 100644
index 00000000..902fc455
--- /dev/null
+++ b/protocol/proto/HomeBalloonRecord.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBalloonGalleryRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBalloonRecord {
+ repeated HomeBalloonGalleryRecord record_list = 15;
+}
diff --git a/protocol/proto/HomeBasicInfo.proto b/protocol/proto/HomeBasicInfo.proto
new file mode 100644
index 00000000..5972ab4a
--- /dev/null
+++ b/protocol/proto/HomeBasicInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeLimitedShopInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBasicInfo {
+ uint32 level = 10;
+ uint32 cur_room_scene_id = 13;
+ uint32 cur_module_id = 9;
+ bool is_in_edit_mode = 5;
+ uint32 home_owner_uid = 3;
+ uint64 exp = 14;
+ HomeLimitedShopInfo limited_shop_info = 15;
+ string owner_nick_name = 4;
+}
diff --git a/protocol/proto/HomeBasicInfoNotify.proto b/protocol/proto/HomeBasicInfoNotify.proto
new file mode 100644
index 00000000..b429ab58
--- /dev/null
+++ b/protocol/proto/HomeBasicInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBasicInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4885
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeBasicInfoNotify {
+ HomeBasicInfo basic_info = 15;
+}
diff --git a/protocol/proto/HomeBlockArrangementInfo.proto b/protocol/proto/HomeBlockArrangementInfo.proto
new file mode 100644
index 00000000..289b6b8b
--- /dev/null
+++ b/protocol/proto/HomeBlockArrangementInfo.proto
@@ -0,0 +1,46 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeAnimalData.proto";
+import "HomeBlockDotPattern.proto";
+import "HomeBlockFieldData.proto";
+import "HomeFurnitureCustomSuiteData.proto";
+import "HomeFurnitureData.proto";
+import "HomeFurnitureGroupData.proto";
+import "HomeFurnitureSuiteData.proto";
+import "HomeNpcData.proto";
+import "WeekendDjinnInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBlockArrangementInfo {
+ bool is_unlocked = 1;
+ uint32 comfort_value = 2;
+ repeated HomeAnimalData deploy_animal_list = 4;
+ repeated HomeFurnitureGroupData furniture_group_list = 5;
+ repeated WeekendDjinnInfo weekend_djinn_info_list = 13;
+ repeated HomeFurnitureSuiteData furniture_suite_list = 15;
+ repeated HomeBlockFieldData field_list = 3;
+ repeated HomeNpcData deploy_npc_list = 11;
+ repeated HomeBlockDotPattern dot_pattern_list = 7;
+ repeated HomeFurnitureData persistent_furniture_list = 9;
+ repeated HomeFurnitureData deploy_furniure_list = 12;
+ uint32 block_id = 6;
+ repeated HomeFurnitureCustomSuiteData furniture_custom_suite_list = 14;
+}
diff --git a/protocol/proto/HomeBlockArrangementMuipData.proto b/protocol/proto/HomeBlockArrangementMuipData.proto
new file mode 100644
index 00000000..b58d7302
--- /dev/null
+++ b/protocol/proto/HomeBlockArrangementMuipData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeFurnitureArrangementMuipData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBlockArrangementMuipData {
+ uint32 block_id = 1;
+ repeated HomeFurnitureArrangementMuipData furniture_data_list = 2;
+}
diff --git a/protocol/proto/HomeBlockDotPattern.proto b/protocol/proto/HomeBlockDotPattern.proto
new file mode 100644
index 00000000..d859b773
--- /dev/null
+++ b/protocol/proto/HomeBlockDotPattern.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBlockDotPattern {
+ uint32 width = 8;
+ uint32 height = 11;
+ bytes data = 9;
+}
diff --git a/protocol/proto/HomeBlockFieldData.proto b/protocol/proto/HomeBlockFieldData.proto
new file mode 100644
index 00000000..17083d69
--- /dev/null
+++ b/protocol/proto/HomeBlockFieldData.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBlockSubFieldData.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBlockFieldData {
+ Vector rot = 15;
+ Vector pos = 4;
+ uint32 guid = 9;
+ uint32 furniture_id = 1;
+ repeated HomeBlockSubFieldData sub_field_list = 7;
+}
diff --git a/protocol/proto/HomeBlockNotify.proto b/protocol/proto/HomeBlockNotify.proto
new file mode 100644
index 00000000..70c99335
--- /dev/null
+++ b/protocol/proto/HomeBlockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4543
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeBlockNotify {
+ uint32 end_time = 3;
+}
diff --git a/protocol/proto/HomeBlockSubFieldData.proto b/protocol/proto/HomeBlockSubFieldData.proto
new file mode 100644
index 00000000..4ced6efa
--- /dev/null
+++ b/protocol/proto/HomeBlockSubFieldData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBlockSubFieldData {
+ Vector rot = 3;
+ Vector pos = 1;
+}
diff --git a/protocol/proto/HomeBlueprintBatchBriefMuipData.proto b/protocol/proto/HomeBlueprintBatchBriefMuipData.proto
new file mode 100644
index 00000000..415d0bda
--- /dev/null
+++ b/protocol/proto/HomeBlueprintBatchBriefMuipData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBlueprintBriefMuipData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBlueprintBatchBriefMuipData {
+ repeated HomeBlueprintBriefMuipData brief_list = 1;
+ repeated string not_exist_share_code_list = 2;
+}
diff --git a/protocol/proto/HomeBlueprintBriefMuipData.proto b/protocol/proto/HomeBlueprintBriefMuipData.proto
new file mode 100644
index 00000000..2fb90b14
--- /dev/null
+++ b/protocol/proto/HomeBlueprintBriefMuipData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBlueprintBriefMuipData {
+ string share_code = 1;
+ uint32 owner_uid = 2;
+ uint32 module_id = 3;
+ uint32 scene_id = 4;
+ uint32 block_id = 5;
+ bool is_allow_copy = 6;
+ uint32 create_time = 7;
+}
diff --git a/protocol/proto/HomeBlueprintInfoNotify.proto b/protocol/proto/HomeBlueprintInfoNotify.proto
new file mode 100644
index 00000000..2d38452e
--- /dev/null
+++ b/protocol/proto/HomeBlueprintInfoNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4765
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeBlueprintInfoNotify {
+ bool is_allow_friend_copy = 15;
+}
diff --git a/protocol/proto/HomeBlueprintSearchInfo.proto b/protocol/proto/HomeBlueprintSearchInfo.proto
new file mode 100644
index 00000000..23c31bd2
--- /dev/null
+++ b/protocol/proto/HomeBlueprintSearchInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBlueprintSearchInfo {
+ uint32 scene_id = 5;
+ uint32 module_id = 9;
+ string share_code = 8;
+ uint32 block_id = 12;
+}
diff --git a/protocol/proto/HomeBlueprintSlotInfo.proto b/protocol/proto/HomeBlueprintSlotInfo.proto
new file mode 100644
index 00000000..7a6a8722
--- /dev/null
+++ b/protocol/proto/HomeBlueprintSlotInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeBlueprintSlotInfo {
+ uint32 module_id = 12;
+ uint32 block_id = 14;
+ uint32 scene_id = 4;
+ uint32 slot_id = 5;
+ string share_code = 11;
+ bool is_allow_copy = 3;
+ uint32 create_time = 6;
+}
diff --git a/protocol/proto/HomeChangeBgmNotify.proto b/protocol/proto/HomeChangeBgmNotify.proto
new file mode 100644
index 00000000..9edb58d0
--- /dev/null
+++ b/protocol/proto/HomeChangeBgmNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4872
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeChangeBgmNotify {
+ uint32 bgm_id = 12;
+}
diff --git a/protocol/proto/HomeChangeBgmReq.proto b/protocol/proto/HomeChangeBgmReq.proto
new file mode 100644
index 00000000..15024907
--- /dev/null
+++ b/protocol/proto/HomeChangeBgmReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4558
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeChangeBgmReq {
+ uint32 bgm_id = 14;
+}
diff --git a/protocol/proto/HomeChangeBgmRsp.proto b/protocol/proto/HomeChangeBgmRsp.proto
new file mode 100644
index 00000000..f2f5e4d4
--- /dev/null
+++ b/protocol/proto/HomeChangeBgmRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4488
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeChangeBgmRsp {
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/HomeChangeEditModeReq.proto b/protocol/proto/HomeChangeEditModeReq.proto
new file mode 100644
index 00000000..67f1e199
--- /dev/null
+++ b/protocol/proto/HomeChangeEditModeReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4564
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeChangeEditModeReq {
+ bool is_enter_edit_mode = 12;
+}
diff --git a/protocol/proto/HomeChangeEditModeRsp.proto b/protocol/proto/HomeChangeEditModeRsp.proto
new file mode 100644
index 00000000..bcb82399
--- /dev/null
+++ b/protocol/proto/HomeChangeEditModeRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4559
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeChangeEditModeRsp {
+ int32 retcode = 10;
+ bool is_enter_edit_mode = 5;
+}
diff --git a/protocol/proto/HomeChangeModuleReq.proto b/protocol/proto/HomeChangeModuleReq.proto
new file mode 100644
index 00000000..0d1f539b
--- /dev/null
+++ b/protocol/proto/HomeChangeModuleReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4809
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeChangeModuleReq {
+ uint32 target_module_id = 5;
+}
diff --git a/protocol/proto/HomeChangeModuleRsp.proto b/protocol/proto/HomeChangeModuleRsp.proto
new file mode 100644
index 00000000..f9a0c3b3
--- /dev/null
+++ b/protocol/proto/HomeChangeModuleRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4596
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeChangeModuleRsp {
+ int32 retcode = 3;
+ uint32 target_module_id = 2;
+}
diff --git a/protocol/proto/HomeChooseModuleReq.proto b/protocol/proto/HomeChooseModuleReq.proto
new file mode 100644
index 00000000..09f062d9
--- /dev/null
+++ b/protocol/proto/HomeChooseModuleReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4524
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeChooseModuleReq {
+ uint32 module_id = 9;
+}
diff --git a/protocol/proto/HomeChooseModuleRsp.proto b/protocol/proto/HomeChooseModuleRsp.proto
new file mode 100644
index 00000000..f457ffc5
--- /dev/null
+++ b/protocol/proto/HomeChooseModuleRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4648
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeChooseModuleRsp {
+ int32 retcode = 2;
+ uint32 module_id = 8;
+}
diff --git a/protocol/proto/HomeClearGroupRecordReq.proto b/protocol/proto/HomeClearGroupRecordReq.proto
new file mode 100644
index 00000000..88088f7e
--- /dev/null
+++ b/protocol/proto/HomeClearGroupRecordReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4759
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeClearGroupRecordReq {
+ uint32 group_id = 2;
+}
diff --git a/protocol/proto/HomeClearGroupRecordRsp.proto b/protocol/proto/HomeClearGroupRecordRsp.proto
new file mode 100644
index 00000000..70a75b6f
--- /dev/null
+++ b/protocol/proto/HomeClearGroupRecordRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4605
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeClearGroupRecordRsp {
+ uint32 group_id = 4;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/HomeComfortInfoNotify.proto b/protocol/proto/HomeComfortInfoNotify.proto
new file mode 100644
index 00000000..adcb33bd
--- /dev/null
+++ b/protocol/proto/HomeComfortInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeModuleComfortInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4699
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeComfortInfoNotify {
+ repeated HomeModuleComfortInfo module_info_list = 6;
+}
diff --git a/protocol/proto/HomeCreateBlueprintReq.proto b/protocol/proto/HomeCreateBlueprintReq.proto
new file mode 100644
index 00000000..58a958cb
--- /dev/null
+++ b/protocol/proto/HomeCreateBlueprintReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeSceneArrangementInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4619
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeCreateBlueprintReq {
+ HomeSceneArrangementInfo scene_arrangement_info = 2;
+ uint32 slot_id = 13;
+ string server_share_code = 6;
+ uint32 gen_share_code_count = 4;
+}
diff --git a/protocol/proto/HomeCreateBlueprintRsp.proto b/protocol/proto/HomeCreateBlueprintRsp.proto
new file mode 100644
index 00000000..f5587b06
--- /dev/null
+++ b/protocol/proto/HomeCreateBlueprintRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBlueprintSlotInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4606
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeCreateBlueprintRsp {
+ HomeBlueprintSlotInfo slot_info = 1;
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/HomeCustomFurnitureInfo.proto b/protocol/proto/HomeCustomFurnitureInfo.proto
new file mode 100644
index 00000000..da772ad5
--- /dev/null
+++ b/protocol/proto/HomeCustomFurnitureInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomCommonNodeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeCustomFurnitureInfo {
+ repeated CustomCommonNodeInfo sub_furniture_list = 12;
+ uint32 guid = 6;
+}
diff --git a/protocol/proto/HomeCustomFurnitureInfoNotify.proto b/protocol/proto/HomeCustomFurnitureInfoNotify.proto
new file mode 100644
index 00000000..7994e27a
--- /dev/null
+++ b/protocol/proto/HomeCustomFurnitureInfoNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeCustomFurnitureInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4712
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeCustomFurnitureInfoNotify {
+ repeated uint32 delete_custom_furniture_list = 4;
+ map used_sub_furniture_count_map = 15;
+ repeated HomeCustomFurnitureInfo custom_furniture_info_list = 11;
+}
diff --git a/protocol/proto/HomeDeleteBlueprintReq.proto b/protocol/proto/HomeDeleteBlueprintReq.proto
new file mode 100644
index 00000000..f5509929
--- /dev/null
+++ b/protocol/proto/HomeDeleteBlueprintReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4502
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeDeleteBlueprintReq {
+ uint32 slot_id = 2;
+}
diff --git a/protocol/proto/HomeDeleteBlueprintRsp.proto b/protocol/proto/HomeDeleteBlueprintRsp.proto
new file mode 100644
index 00000000..00750462
--- /dev/null
+++ b/protocol/proto/HomeDeleteBlueprintRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4586
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeDeleteBlueprintRsp {
+ uint32 slot_id = 5;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/HomeEditCustomFurnitureReq.proto b/protocol/proto/HomeEditCustomFurnitureReq.proto
new file mode 100644
index 00000000..c4e49b51
--- /dev/null
+++ b/protocol/proto/HomeEditCustomFurnitureReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeCustomFurnitureInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4724
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeEditCustomFurnitureReq {
+ HomeCustomFurnitureInfo custom_furniture_info = 15;
+}
diff --git a/protocol/proto/HomeEditCustomFurnitureRsp.proto b/protocol/proto/HomeEditCustomFurnitureRsp.proto
new file mode 100644
index 00000000..0f80b895
--- /dev/null
+++ b/protocol/proto/HomeEditCustomFurnitureRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeCustomFurnitureInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4496
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeEditCustomFurnitureRsp {
+ HomeCustomFurnitureInfo custom_furniture_info = 11;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/HomeEnterEditModeFinishReq.proto b/protocol/proto/HomeEnterEditModeFinishReq.proto
new file mode 100644
index 00000000..8e77fbb8
--- /dev/null
+++ b/protocol/proto/HomeEnterEditModeFinishReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4537
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeEnterEditModeFinishReq {}
diff --git a/protocol/proto/HomeEnterEditModeFinishRsp.proto b/protocol/proto/HomeEnterEditModeFinishRsp.proto
new file mode 100644
index 00000000..63db72b6
--- /dev/null
+++ b/protocol/proto/HomeEnterEditModeFinishRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4615
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeEnterEditModeFinishRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/HomeExchangeWoodReq.proto b/protocol/proto/HomeExchangeWoodReq.proto
new file mode 100644
index 00000000..93921020
--- /dev/null
+++ b/protocol/proto/HomeExchangeWoodReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4576
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeExchangeWoodReq {
+ map material_count_map = 3;
+ uint32 wood_id = 12;
+}
diff --git a/protocol/proto/HomeExchangeWoodRsp.proto b/protocol/proto/HomeExchangeWoodRsp.proto
new file mode 100644
index 00000000..b86a4a38
--- /dev/null
+++ b/protocol/proto/HomeExchangeWoodRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4622
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeExchangeWoodRsp {
+ int32 retcode = 13;
+ uint32 wood_id = 1;
+ uint32 wood_count = 3;
+ uint32 exchanged_count = 2;
+}
diff --git a/protocol/proto/HomeFishFarmingInfo.proto b/protocol/proto/HomeFishFarmingInfo.proto
new file mode 100644
index 00000000..855ee69c
--- /dev/null
+++ b/protocol/proto/HomeFishFarmingInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeFishFarmingInfo {
+ repeated uint32 fish_id_list = 11;
+ uint32 fishpond_guid = 14;
+}
diff --git a/protocol/proto/HomeFishFarmingInfoNotify.proto b/protocol/proto/HomeFishFarmingInfoNotify.proto
new file mode 100644
index 00000000..eb888e5c
--- /dev/null
+++ b/protocol/proto/HomeFishFarmingInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeFishFarmingInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4677
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeFishFarmingInfoNotify {
+ repeated HomeFishFarmingInfo fish_farming_info_list = 15;
+}
diff --git a/protocol/proto/HomeFurnitureArrangementMuipData.proto b/protocol/proto/HomeFurnitureArrangementMuipData.proto
new file mode 100644
index 00000000..c3c4dc71
--- /dev/null
+++ b/protocol/proto/HomeFurnitureArrangementMuipData.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeFurnitureArrangementMuipData {
+ uint32 furniture_id = 1;
+ Vector spawn_pos = 2;
+ Vector spawn_rot = 3;
+}
diff --git a/protocol/proto/HomeFurnitureCustomSuiteData.proto b/protocol/proto/HomeFurnitureCustomSuiteData.proto
new file mode 100644
index 00000000..e8ffeb52
--- /dev/null
+++ b/protocol/proto/HomeFurnitureCustomSuiteData.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeFurnitureCustomSuiteData {
+ uint32 guid = 11;
+ Vector spawn_pos = 14;
+ repeated int32 included_furniture_index_list = 12;
+}
diff --git a/protocol/proto/HomeFurnitureData.proto b/protocol/proto/HomeFurnitureData.proto
new file mode 100644
index 00000000..c7dbf03d
--- /dev/null
+++ b/protocol/proto/HomeFurnitureData.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeFurnitureData {
+ uint32 version = 6;
+ int32 parent_furniture_index = 3;
+ uint32 furniture_id = 4;
+ uint32 guid = 9;
+ Vector spawn_rot = 10;
+ Vector spawn_pos = 8;
+}
diff --git a/protocol/proto/HomeFurnitureGroupData.proto b/protocol/proto/HomeFurnitureGroupData.proto
new file mode 100644
index 00000000..fe2645e0
--- /dev/null
+++ b/protocol/proto/HomeFurnitureGroupData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeFurnitureData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeFurnitureGroupData {
+ uint32 group_furniture_index = 8;
+ repeated HomeFurnitureData virtual_furniure_list = 3;
+}
diff --git a/protocol/proto/HomeFurnitureSuiteData.proto b/protocol/proto/HomeFurnitureSuiteData.proto
new file mode 100644
index 00000000..181e8753
--- /dev/null
+++ b/protocol/proto/HomeFurnitureSuiteData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeFurnitureSuiteData {
+ bool is_allow_summon = 10;
+ uint32 suite_id = 6;
+ Vector spawn_pos = 8;
+ uint32 guid = 13;
+ repeated int32 included_furniture_index_list = 1;
+}
diff --git a/protocol/proto/HomeGalleryInPlayingNotify.proto b/protocol/proto/HomeGalleryInPlayingNotify.proto
new file mode 100644
index 00000000..e68a2153
--- /dev/null
+++ b/protocol/proto/HomeGalleryInPlayingNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5553
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeGalleryInPlayingNotify {
+ uint32 gallery_id = 13;
+}
diff --git a/protocol/proto/HomeGetArrangementInfoReq.proto b/protocol/proto/HomeGetArrangementInfoReq.proto
new file mode 100644
index 00000000..eec00e28
--- /dev/null
+++ b/protocol/proto/HomeGetArrangementInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4848
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeGetArrangementInfoReq {
+ repeated uint32 scene_id_list = 13;
+}
diff --git a/protocol/proto/HomeGetArrangementInfoRsp.proto b/protocol/proto/HomeGetArrangementInfoRsp.proto
new file mode 100644
index 00000000..75175d35
--- /dev/null
+++ b/protocol/proto/HomeGetArrangementInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeSceneArrangementInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4844
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeGetArrangementInfoRsp {
+ int32 retcode = 6;
+ repeated HomeSceneArrangementInfo scene_arrangement_info_list = 14;
+}
diff --git a/protocol/proto/HomeGetBasicInfoReq.proto b/protocol/proto/HomeGetBasicInfoReq.proto
new file mode 100644
index 00000000..7a7ea8f9
--- /dev/null
+++ b/protocol/proto/HomeGetBasicInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4655
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeGetBasicInfoReq {}
diff --git a/protocol/proto/HomeGetBlueprintSlotInfoReq.proto b/protocol/proto/HomeGetBlueprintSlotInfoReq.proto
new file mode 100644
index 00000000..27929cc5
--- /dev/null
+++ b/protocol/proto/HomeGetBlueprintSlotInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4584
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeGetBlueprintSlotInfoReq {}
diff --git a/protocol/proto/HomeGetBlueprintSlotInfoRsp.proto b/protocol/proto/HomeGetBlueprintSlotInfoRsp.proto
new file mode 100644
index 00000000..d1dd4d66
--- /dev/null
+++ b/protocol/proto/HomeGetBlueprintSlotInfoRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBlueprintSlotInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4662
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeGetBlueprintSlotInfoRsp {
+ repeated uint32 delete_slot_id_list = 6;
+ repeated HomeBlueprintSlotInfo slot_info_list = 3;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/HomeGetFishFarmingInfoReq.proto b/protocol/proto/HomeGetFishFarmingInfoReq.proto
new file mode 100644
index 00000000..01b0a2c6
--- /dev/null
+++ b/protocol/proto/HomeGetFishFarmingInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4476
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeGetFishFarmingInfoReq {}
diff --git a/protocol/proto/HomeGetFishFarmingInfoRsp.proto b/protocol/proto/HomeGetFishFarmingInfoRsp.proto
new file mode 100644
index 00000000..dc0c4d68
--- /dev/null
+++ b/protocol/proto/HomeGetFishFarmingInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeFishFarmingInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4678
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeGetFishFarmingInfoRsp {
+ repeated HomeFishFarmingInfo fish_farming_info_list = 7;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/HomeGetGroupRecordReq.proto b/protocol/proto/HomeGetGroupRecordReq.proto
new file mode 100644
index 00000000..68f332be
--- /dev/null
+++ b/protocol/proto/HomeGetGroupRecordReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4523
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeGetGroupRecordReq {
+ uint32 group_id = 14;
+}
diff --git a/protocol/proto/HomeGetGroupRecordRsp.proto b/protocol/proto/HomeGetGroupRecordRsp.proto
new file mode 100644
index 00000000..a12014d4
--- /dev/null
+++ b/protocol/proto/HomeGetGroupRecordRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeGroupRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4538
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeGetGroupRecordRsp {
+ HomeGroupRecord group_record = 7;
+ int32 retcode = 11;
+ uint32 record_type = 1;
+}
diff --git a/protocol/proto/HomeGetOnlineStatusReq.proto b/protocol/proto/HomeGetOnlineStatusReq.proto
new file mode 100644
index 00000000..19da4f9d
--- /dev/null
+++ b/protocol/proto/HomeGetOnlineStatusReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4820
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeGetOnlineStatusReq {}
diff --git a/protocol/proto/HomeGetOnlineStatusRsp.proto b/protocol/proto/HomeGetOnlineStatusRsp.proto
new file mode 100644
index 00000000..1eb6399e
--- /dev/null
+++ b/protocol/proto/HomeGetOnlineStatusRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4705
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeGetOnlineStatusRsp {
+ repeated OnlinePlayerInfo player_info_list = 13;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/HomeGroupPlayerInfo.proto b/protocol/proto/HomeGroupPlayerInfo.proto
new file mode 100644
index 00000000..b3705b60
--- /dev/null
+++ b/protocol/proto/HomeGroupPlayerInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeGroupPlayerInfo {
+ string online_id = 14;
+ string psn_id = 6;
+ string nickname = 15;
+ uint32 player_level = 4;
+ uint32 uid = 2;
+ ProfilePicture profile_picture = 5;
+}
diff --git a/protocol/proto/HomeGroupRecord.proto b/protocol/proto/HomeGroupRecord.proto
new file mode 100644
index 00000000..5032ee88
--- /dev/null
+++ b/protocol/proto/HomeGroupRecord.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBalloonRecord.proto";
+import "HomeRacingRecord.proto";
+import "HomeStakeRecord.proto";
+import "SeekFurnitureGalleryInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeGroupRecord {
+ uint32 group_id = 5;
+ oneof detail {
+ HomeRacingRecord racing_gallery_info = 467;
+ HomeBalloonRecord balloon_gallery_info = 1410;
+ HomeStakeRecord stake_play_info = 347;
+ SeekFurnitureGalleryInfo seek_furniture_gallery_info = 1822;
+ }
+}
diff --git a/protocol/proto/HomeKickPlayerReq.proto b/protocol/proto/HomeKickPlayerReq.proto
new file mode 100644
index 00000000..3d7e307b
--- /dev/null
+++ b/protocol/proto/HomeKickPlayerReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4870
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeKickPlayerReq {
+ uint32 target_uid = 12;
+ bool is_kick_all = 13;
+}
diff --git a/protocol/proto/HomeKickPlayerRsp.proto b/protocol/proto/HomeKickPlayerRsp.proto
new file mode 100644
index 00000000..9693b3ea
--- /dev/null
+++ b/protocol/proto/HomeKickPlayerRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4691
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeKickPlayerRsp {
+ uint32 target_uid = 4;
+ int32 retcode = 8;
+ bool is_kick_all = 10;
+}
diff --git a/protocol/proto/HomeLimitedShop.proto b/protocol/proto/HomeLimitedShop.proto
new file mode 100644
index 00000000..c2fcfa57
--- /dev/null
+++ b/protocol/proto/HomeLimitedShop.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeLimitedShopGoods.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeLimitedShop {
+ repeated HomeLimitedShopGoods goods_list = 8;
+}
diff --git a/protocol/proto/HomeLimitedShopBuyGoodsReq.proto b/protocol/proto/HomeLimitedShopBuyGoodsReq.proto
new file mode 100644
index 00000000..bb0537ae
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopBuyGoodsReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeLimitedShopGoods.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4760
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeLimitedShopBuyGoodsReq {
+ HomeLimitedShopGoods goods = 3;
+ uint32 buy_count = 10;
+}
diff --git a/protocol/proto/HomeLimitedShopBuyGoodsRsp.proto b/protocol/proto/HomeLimitedShopBuyGoodsRsp.proto
new file mode 100644
index 00000000..64dcd5e5
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopBuyGoodsRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeLimitedShopGoods.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4750
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeLimitedShopBuyGoodsRsp {
+ repeated HomeLimitedShopGoods goods_list = 13;
+ int32 retcode = 14;
+ HomeLimitedShopGoods goods = 5;
+ uint32 buy_count = 8;
+}
diff --git a/protocol/proto/HomeLimitedShopGoods.proto b/protocol/proto/HomeLimitedShopGoods.proto
new file mode 100644
index 00000000..e0d66675
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopGoods.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeLimitedShopGoods {
+ uint32 buy_limit = 8;
+ repeated ItemParam cost_item_list = 15;
+ uint32 bought_num = 1;
+ ItemParam goods_item = 6;
+ uint32 goods_id = 13;
+ uint32 disable_type = 3;
+}
diff --git a/protocol/proto/HomeLimitedShopGoodsListReq.proto b/protocol/proto/HomeLimitedShopGoodsListReq.proto
new file mode 100644
index 00000000..61745934
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopGoodsListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4552
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeLimitedShopGoodsListReq {}
diff --git a/protocol/proto/HomeLimitedShopGoodsListRsp.proto b/protocol/proto/HomeLimitedShopGoodsListRsp.proto
new file mode 100644
index 00000000..2f89f4a3
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopGoodsListRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeLimitedShop.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4546
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeLimitedShopGoodsListRsp {
+ int32 retcode = 6;
+ HomeLimitedShop shop = 12;
+}
diff --git a/protocol/proto/HomeLimitedShopInfo.proto b/protocol/proto/HomeLimitedShopInfo.proto
new file mode 100644
index 00000000..ad2e356c
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeLimitedShopInfo {
+ fixed32 next_close_time = 9;
+ fixed32 next_guest_open_time = 11;
+ Vector djinn_rot = 7;
+ uint32 uid = 4;
+ fixed32 next_open_time = 6;
+ Vector djinn_pos = 2;
+}
diff --git a/protocol/proto/HomeLimitedShopInfoChangeNotify.proto b/protocol/proto/HomeLimitedShopInfoChangeNotify.proto
new file mode 100644
index 00000000..cbc9687a
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfoChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeLimitedShopGoods.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4790
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeLimitedShopInfoChangeNotify {
+ repeated HomeLimitedShopGoods goods_list = 5;
+}
diff --git a/protocol/proto/HomeLimitedShopInfoNotify.proto b/protocol/proto/HomeLimitedShopInfoNotify.proto
new file mode 100644
index 00000000..e4c81314
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeLimitedShopInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4887
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeLimitedShopInfoNotify {
+ HomeLimitedShopInfo shop_info = 2;
+}
diff --git a/protocol/proto/HomeLimitedShopInfoReq.proto b/protocol/proto/HomeLimitedShopInfoReq.proto
new file mode 100644
index 00000000..674b5272
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4825
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeLimitedShopInfoReq {}
diff --git a/protocol/proto/HomeLimitedShopInfoRsp.proto b/protocol/proto/HomeLimitedShopInfoRsp.proto
new file mode 100644
index 00000000..23e873fb
--- /dev/null
+++ b/protocol/proto/HomeLimitedShopInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeLimitedShopInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4796
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeLimitedShopInfoRsp {
+ HomeLimitedShopInfo shop_info = 10;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/HomeMarkPointFurnitureData.proto b/protocol/proto/HomeMarkPointFurnitureData.proto
new file mode 100644
index 00000000..ea35df9a
--- /dev/null
+++ b/protocol/proto/HomeMarkPointFurnitureData.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeMarkPointNPCData.proto";
+import "HomeMarkPointSuiteData.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeMarkPointFurnitureData {
+ uint32 guid = 1;
+ uint32 furniture_id = 2;
+ uint32 furniture_type = 3;
+ Vector pos = 4;
+ oneof extra {
+ HomeMarkPointNPCData npc_data = 6;
+ HomeMarkPointSuiteData suite_data = 7;
+ }
+}
diff --git a/protocol/proto/HomeMarkPointNPCData.proto b/protocol/proto/HomeMarkPointNPCData.proto
new file mode 100644
index 00000000..e076dbcf
--- /dev/null
+++ b/protocol/proto/HomeMarkPointNPCData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeMarkPointNPCData {
+ uint32 avatar_id = 1;
+ uint32 costume_id = 2;
+}
diff --git a/protocol/proto/HomeMarkPointNotify.proto b/protocol/proto/HomeMarkPointNotify.proto
new file mode 100644
index 00000000..3eb90ce4
--- /dev/null
+++ b/protocol/proto/HomeMarkPointNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeMarkPointSceneData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4474
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeMarkPointNotify {
+ repeated HomeMarkPointSceneData mark_point_data_list = 12;
+}
diff --git a/protocol/proto/HomeMarkPointSceneData.proto b/protocol/proto/HomeMarkPointSceneData.proto
new file mode 100644
index 00000000..3eaab946
--- /dev/null
+++ b/protocol/proto/HomeMarkPointSceneData.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeMarkPointFurnitureData.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeMarkPointSceneData {
+ repeated HomeMarkPointFurnitureData furniture_list = 6;
+ Vector teapot_spirit_pos = 4;
+ uint32 scene_id = 2;
+ uint32 module_id = 5;
+ Vector safe_point_pos = 11;
+}
diff --git a/protocol/proto/HomeMarkPointSuiteData.proto b/protocol/proto/HomeMarkPointSuiteData.proto
new file mode 100644
index 00000000..030a7d78
--- /dev/null
+++ b/protocol/proto/HomeMarkPointSuiteData.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeMarkPointSuiteData {
+ uint32 suite_id = 1;
+}
diff --git a/protocol/proto/HomeModuleComfortInfo.proto b/protocol/proto/HomeModuleComfortInfo.proto
new file mode 100644
index 00000000..b0363088
--- /dev/null
+++ b/protocol/proto/HomeModuleComfortInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeModuleComfortInfo {
+ uint32 module_id = 13;
+ uint32 room_scene_comfort_value = 9;
+ repeated uint32 world_scene_block_comfort_value_list = 3;
+}
diff --git a/protocol/proto/HomeModuleSeenReq.proto b/protocol/proto/HomeModuleSeenReq.proto
new file mode 100644
index 00000000..db3377d7
--- /dev/null
+++ b/protocol/proto/HomeModuleSeenReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4499
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeModuleSeenReq {
+ repeated uint32 seen_module_id_list = 5;
+}
diff --git a/protocol/proto/HomeModuleSeenRsp.proto b/protocol/proto/HomeModuleSeenRsp.proto
new file mode 100644
index 00000000..afec27b8
--- /dev/null
+++ b/protocol/proto/HomeModuleSeenRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4821
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeModuleSeenRsp {
+ repeated uint32 seen_module_id_list = 13;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/HomeModuleUnlockNotify.proto b/protocol/proto/HomeModuleUnlockNotify.proto
new file mode 100644
index 00000000..03a6bb95
--- /dev/null
+++ b/protocol/proto/HomeModuleUnlockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4560
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeModuleUnlockNotify {
+ uint32 module_id = 8;
+}
diff --git a/protocol/proto/HomeNewUnlockedBgmIdListNotify.proto b/protocol/proto/HomeNewUnlockedBgmIdListNotify.proto
new file mode 100644
index 00000000..98c9f305
--- /dev/null
+++ b/protocol/proto/HomeNewUnlockedBgmIdListNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4847
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeNewUnlockedBgmIdListNotify {
+ repeated uint32 new_unlocked_bgm_id_list = 11;
+}
diff --git a/protocol/proto/HomeNpcData.proto b/protocol/proto/HomeNpcData.proto
new file mode 100644
index 00000000..2d31b4de
--- /dev/null
+++ b/protocol/proto/HomeNpcData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeNpcData {
+ uint32 avatar_id = 14;
+ Vector spawn_pos = 15;
+ uint32 costume_id = 3;
+ Vector spawn_rot = 13;
+}
diff --git a/protocol/proto/HomePictureFrameInfo.proto b/protocol/proto/HomePictureFrameInfo.proto
new file mode 100644
index 00000000..1636a3d8
--- /dev/null
+++ b/protocol/proto/HomePictureFrameInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomePictureFrameInfo {
+ uint32 guid = 11;
+ uint32 picture_id = 6;
+}
diff --git a/protocol/proto/HomePictureFrameInfoNotify.proto b/protocol/proto/HomePictureFrameInfoNotify.proto
new file mode 100644
index 00000000..51750de2
--- /dev/null
+++ b/protocol/proto/HomePictureFrameInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomePictureFrameInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4878
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomePictureFrameInfoNotify {
+ repeated HomePictureFrameInfo picture_frame_info_list = 12;
+}
diff --git a/protocol/proto/HomePlantFieldData.proto b/protocol/proto/HomePlantFieldData.proto
new file mode 100644
index 00000000..336aa68a
--- /dev/null
+++ b/protocol/proto/HomePlantFieldData.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomePlantSubFieldData.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomePlantFieldData {
+ repeated HomePlantSubFieldData sub_field_list = 13;
+ uint32 furniture_id = 9;
+ uint32 scene_id = 1;
+ uint32 field_guid = 10;
+ Vector spawn_pos = 12;
+}
diff --git a/protocol/proto/HomePlantFieldNotify.proto b/protocol/proto/HomePlantFieldNotify.proto
new file mode 100644
index 00000000..a6862c0b
--- /dev/null
+++ b/protocol/proto/HomePlantFieldNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomePlantFieldData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4549
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomePlantFieldNotify {
+ HomePlantFieldData field = 13;
+}
diff --git a/protocol/proto/HomePlantFieldStatus.proto b/protocol/proto/HomePlantFieldStatus.proto
new file mode 100644
index 00000000..2924f815
--- /dev/null
+++ b/protocol/proto/HomePlantFieldStatus.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum HomePlantFieldStatus {
+ HOME_PLANT_FIELD_STATUS_STATUE_NONE = 0;
+ HOME_PLANT_FIELD_STATUS_STATUE_SEED = 1;
+ HOME_PLANT_FIELD_STATUS_STATUE_SPROUT = 2;
+ HOME_PLANT_FIELD_STATUS_STATUE_GATHER = 3;
+}
diff --git a/protocol/proto/HomePlantInfoNotify.proto b/protocol/proto/HomePlantInfoNotify.proto
new file mode 100644
index 00000000..57a4df24
--- /dev/null
+++ b/protocol/proto/HomePlantInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomePlantFieldData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4587
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomePlantInfoNotify {
+ repeated HomePlantFieldData field_list = 4;
+}
diff --git a/protocol/proto/HomePlantInfoReq.proto b/protocol/proto/HomePlantInfoReq.proto
new file mode 100644
index 00000000..fc7da2d1
--- /dev/null
+++ b/protocol/proto/HomePlantInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4647
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomePlantInfoReq {}
diff --git a/protocol/proto/HomePlantInfoRsp.proto b/protocol/proto/HomePlantInfoRsp.proto
new file mode 100644
index 00000000..3d4bfc73
--- /dev/null
+++ b/protocol/proto/HomePlantInfoRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomePlantFieldData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4701
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomePlantInfoRsp {
+ int32 retcode = 7;
+ repeated HomePlantFieldData field_list = 15;
+}
diff --git a/protocol/proto/HomePlantSeedReq.proto b/protocol/proto/HomePlantSeedReq.proto
new file mode 100644
index 00000000..d95ce34d
--- /dev/null
+++ b/protocol/proto/HomePlantSeedReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4804
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomePlantSeedReq {
+ uint32 index = 4;
+ uint32 field_guid = 14;
+ repeated uint32 seed_id_list = 13;
+}
diff --git a/protocol/proto/HomePlantSeedRsp.proto b/protocol/proto/HomePlantSeedRsp.proto
new file mode 100644
index 00000000..54441abd
--- /dev/null
+++ b/protocol/proto/HomePlantSeedRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4556
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomePlantSeedRsp {
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/HomePlantSubFieldData.proto b/protocol/proto/HomePlantSubFieldData.proto
new file mode 100644
index 00000000..7d9eac11
--- /dev/null
+++ b/protocol/proto/HomePlantSubFieldData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomePlantFieldStatus.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomePlantSubFieldData {
+ repeated uint32 entity_id_list = 15;
+ HomePlantFieldStatus field_status = 14;
+ uint32 home_gather_id = 9;
+ uint32 seed_id = 8;
+ fixed32 end_time = 4;
+}
diff --git a/protocol/proto/HomePlantWeedReq.proto b/protocol/proto/HomePlantWeedReq.proto
new file mode 100644
index 00000000..c066ddb9
--- /dev/null
+++ b/protocol/proto/HomePlantWeedReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4640
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomePlantWeedReq {
+ uint32 field_guid = 9;
+ uint32 index = 3;
+}
diff --git a/protocol/proto/HomePlantWeedRsp.proto b/protocol/proto/HomePlantWeedRsp.proto
new file mode 100644
index 00000000..6832e0b8
--- /dev/null
+++ b/protocol/proto/HomePlantWeedRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4527
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomePlantWeedRsp {
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/HomePreChangeEditModeNotify.proto b/protocol/proto/HomePreChangeEditModeNotify.proto
new file mode 100644
index 00000000..861f1620
--- /dev/null
+++ b/protocol/proto/HomePreChangeEditModeNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4639
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomePreChangeEditModeNotify {
+ bool is_enter_edit_mode = 15;
+}
diff --git a/protocol/proto/HomePreviewBlueprintReq.proto b/protocol/proto/HomePreviewBlueprintReq.proto
new file mode 100644
index 00000000..c25236b7
--- /dev/null
+++ b/protocol/proto/HomePreviewBlueprintReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4478
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomePreviewBlueprintReq {
+ string share_code = 7;
+}
diff --git a/protocol/proto/HomePreviewBlueprintRsp.proto b/protocol/proto/HomePreviewBlueprintRsp.proto
new file mode 100644
index 00000000..453c6227
--- /dev/null
+++ b/protocol/proto/HomePreviewBlueprintRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeSceneArrangementInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4738
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomePreviewBlueprintRsp {
+ HomeSceneArrangementInfo scene_arrangement_info = 12;
+ int32 retcode = 11;
+ string share_code = 14;
+}
diff --git a/protocol/proto/HomePriorCheckNotify.proto b/protocol/proto/HomePriorCheckNotify.proto
new file mode 100644
index 00000000..232dd85d
--- /dev/null
+++ b/protocol/proto/HomePriorCheckNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4599
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomePriorCheckNotify {
+ fixed32 end_time = 7;
+}
diff --git a/protocol/proto/HomeRacingGalleryRecord.proto b/protocol/proto/HomeRacingGalleryRecord.proto
new file mode 100644
index 00000000..fe9b86d9
--- /dev/null
+++ b/protocol/proto/HomeRacingGalleryRecord.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeGroupPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeRacingGalleryRecord {
+ uint32 use_time = 1;
+ uint32 timestamp = 8;
+ HomeGroupPlayerInfo player_info = 12;
+}
diff --git a/protocol/proto/HomeRacingGallerySettleNotify.proto b/protocol/proto/HomeRacingGallerySettleNotify.proto
new file mode 100644
index 00000000..a4078aa8
--- /dev/null
+++ b/protocol/proto/HomeRacingGallerySettleNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RacingGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4805
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeRacingGallerySettleNotify {
+ uint32 gallery_id = 11;
+ RacingGallerySettleInfo settle_info = 12;
+ uint32 rank = 7;
+ bool is_new_record = 2;
+}
diff --git a/protocol/proto/HomeRacingRecord.proto b/protocol/proto/HomeRacingRecord.proto
new file mode 100644
index 00000000..8a90050e
--- /dev/null
+++ b/protocol/proto/HomeRacingRecord.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeRacingGalleryRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeRacingRecord {
+ repeated HomeRacingGalleryRecord record_list = 7;
+}
diff --git a/protocol/proto/HomeResource.proto b/protocol/proto/HomeResource.proto
new file mode 100644
index 00000000..93169ebd
--- /dev/null
+++ b/protocol/proto/HomeResource.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeResource {
+ fixed32 next_refresh_time = 15;
+ uint32 store_limit = 3;
+ uint32 store_value = 12;
+}
diff --git a/protocol/proto/HomeResourceNotify.proto b/protocol/proto/HomeResourceNotify.proto
new file mode 100644
index 00000000..790de8b9
--- /dev/null
+++ b/protocol/proto/HomeResourceNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeResource.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4892
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeResourceNotify {
+ HomeResource home_coin = 9;
+ HomeResource fetter_exp = 8;
+}
diff --git a/protocol/proto/HomeResourceTakeFetterExpReq.proto b/protocol/proto/HomeResourceTakeFetterExpReq.proto
new file mode 100644
index 00000000..0c7982e1
--- /dev/null
+++ b/protocol/proto/HomeResourceTakeFetterExpReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4768
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeResourceTakeFetterExpReq {}
diff --git a/protocol/proto/HomeResourceTakeFetterExpRsp.proto b/protocol/proto/HomeResourceTakeFetterExpRsp.proto
new file mode 100644
index 00000000..8213b06f
--- /dev/null
+++ b/protocol/proto/HomeResourceTakeFetterExpRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeResource.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4645
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeResourceTakeFetterExpRsp {
+ HomeResource fetter_exp = 4;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/HomeResourceTakeHomeCoinReq.proto b/protocol/proto/HomeResourceTakeHomeCoinReq.proto
new file mode 100644
index 00000000..2f49f679
--- /dev/null
+++ b/protocol/proto/HomeResourceTakeHomeCoinReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4479
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeResourceTakeHomeCoinReq {}
diff --git a/protocol/proto/HomeResourceTakeHomeCoinRsp.proto b/protocol/proto/HomeResourceTakeHomeCoinRsp.proto
new file mode 100644
index 00000000..07a3f9db
--- /dev/null
+++ b/protocol/proto/HomeResourceTakeHomeCoinRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeResource.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4541
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeResourceTakeHomeCoinRsp {
+ HomeResource home_coin = 7;
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/HomeSaveArrangementNoChangeReq.proto b/protocol/proto/HomeSaveArrangementNoChangeReq.proto
new file mode 100644
index 00000000..6247cd71
--- /dev/null
+++ b/protocol/proto/HomeSaveArrangementNoChangeReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4704
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeSaveArrangementNoChangeReq {
+ uint32 scene_id = 4;
+}
diff --git a/protocol/proto/HomeSaveArrangementNoChangeRsp.proto b/protocol/proto/HomeSaveArrangementNoChangeRsp.proto
new file mode 100644
index 00000000..cf5ea004
--- /dev/null
+++ b/protocol/proto/HomeSaveArrangementNoChangeRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4668
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeSaveArrangementNoChangeRsp {
+ uint32 scene_id = 4;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/HomeSceneArrangementInfo.proto b/protocol/proto/HomeSceneArrangementInfo.proto
new file mode 100644
index 00000000..22f9a03d
--- /dev/null
+++ b/protocol/proto/HomeSceneArrangementInfo.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBlockArrangementInfo.proto";
+import "HomeFurnitureData.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeSceneArrangementInfo {
+ Vector born_rot = 4;
+ Vector born_pos = 1;
+ repeated HomeFurnitureData stair_list = 11;
+ repeated HomeFurnitureData door_list = 13;
+ bool is_set_born_pos = 10;
+ repeated HomeBlockArrangementInfo block_arrangement_info_list = 8;
+ uint32 scene_id = 2;
+ uint32 bgm_id = 12;
+ Vector djinn_pos = 9;
+ HomeFurnitureData main_house = 14;
+ uint32 comfort_value = 7;
+ uint32 tmp_version = 5;
+}
diff --git a/protocol/proto/HomeSceneArrangementMuipData.proto b/protocol/proto/HomeSceneArrangementMuipData.proto
new file mode 100644
index 00000000..11111cba
--- /dev/null
+++ b/protocol/proto/HomeSceneArrangementMuipData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBlockArrangementMuipData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeSceneArrangementMuipData {
+ uint32 module_id = 1;
+ uint32 scene_id = 2;
+ bool is_room = 3;
+ repeated HomeBlockArrangementMuipData block_data_list = 4;
+}
diff --git a/protocol/proto/HomeSceneInitFinishReq.proto b/protocol/proto/HomeSceneInitFinishReq.proto
new file mode 100644
index 00000000..9d3aae07
--- /dev/null
+++ b/protocol/proto/HomeSceneInitFinishReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4674
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeSceneInitFinishReq {}
diff --git a/protocol/proto/HomeSceneInitFinishRsp.proto b/protocol/proto/HomeSceneInitFinishRsp.proto
new file mode 100644
index 00000000..ae2bc5c0
--- /dev/null
+++ b/protocol/proto/HomeSceneInitFinishRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4505
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeSceneInitFinishRsp {
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/HomeSceneJumpReq.proto b/protocol/proto/HomeSceneJumpReq.proto
new file mode 100644
index 00000000..cfab98ac
--- /dev/null
+++ b/protocol/proto/HomeSceneJumpReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4528
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeSceneJumpReq {
+ bool is_enter_room_scene = 9;
+}
diff --git a/protocol/proto/HomeSceneJumpRsp.proto b/protocol/proto/HomeSceneJumpRsp.proto
new file mode 100644
index 00000000..2a862894
--- /dev/null
+++ b/protocol/proto/HomeSceneJumpRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4698
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeSceneJumpRsp {
+ int32 retcode = 11;
+ bool is_enter_room_scene = 8;
+}
diff --git a/protocol/proto/HomeScenePointFishFarmingInfo.proto b/protocol/proto/HomeScenePointFishFarmingInfo.proto
new file mode 100644
index 00000000..36e5cf6c
--- /dev/null
+++ b/protocol/proto/HomeScenePointFishFarmingInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeScenePointFishFarmingInfo {
+ uint32 scene_id = 13;
+ repeated uint32 fish_id_list = 1;
+ uint32 local_entity_id = 3;
+}
diff --git a/protocol/proto/HomeScenePointFishFarmingInfoNotify.proto b/protocol/proto/HomeScenePointFishFarmingInfoNotify.proto
new file mode 100644
index 00000000..328a7973
--- /dev/null
+++ b/protocol/proto/HomeScenePointFishFarmingInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeScenePointFishFarmingInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4547
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeScenePointFishFarmingInfoNotify {
+ repeated HomeScenePointFishFarmingInfo fish_farming_info_list = 7;
+}
diff --git a/protocol/proto/HomeSearchBlueprintReq.proto b/protocol/proto/HomeSearchBlueprintReq.proto
new file mode 100644
index 00000000..56f9df93
--- /dev/null
+++ b/protocol/proto/HomeSearchBlueprintReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4889
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeSearchBlueprintReq {
+ string share_code = 13;
+}
diff --git a/protocol/proto/HomeSearchBlueprintRsp.proto b/protocol/proto/HomeSearchBlueprintRsp.proto
new file mode 100644
index 00000000..aa4370ec
--- /dev/null
+++ b/protocol/proto/HomeSearchBlueprintRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeBlueprintSearchInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4593
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeSearchBlueprintRsp {
+ int32 retcode = 12;
+ HomeBlueprintSearchInfo search_info = 8;
+}
diff --git a/protocol/proto/HomeSeekFurnitureGalleryScoreNotify.proto b/protocol/proto/HomeSeekFurnitureGalleryScoreNotify.proto
new file mode 100644
index 00000000..d2991677
--- /dev/null
+++ b/protocol/proto/HomeSeekFurnitureGalleryScoreNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+import "HomeSeekFurnitureOneRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4583
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeSeekFurnitureGalleryScoreNotify {
+ uint32 gallery_id = 15;
+ HomeSeekFurnitureOneRecord record = 5;
+ GalleryStopReason reason = 4;
+}
diff --git a/protocol/proto/HomeSeekFurnitureOneRecord.proto b/protocol/proto/HomeSeekFurnitureOneRecord.proto
new file mode 100644
index 00000000..9812e1fa
--- /dev/null
+++ b/protocol/proto/HomeSeekFurnitureOneRecord.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeSeekFurniturePlayerScore.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeSeekFurnitureOneRecord {
+ repeated HomeSeekFurniturePlayerScore engaged_player_score_list = 8;
+ uint32 timestamp = 3;
+}
diff --git a/protocol/proto/HomeSeekFurniturePlayerScore.proto b/protocol/proto/HomeSeekFurniturePlayerScore.proto
new file mode 100644
index 00000000..821b3344
--- /dev/null
+++ b/protocol/proto/HomeSeekFurniturePlayerScore.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeGroupPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeSeekFurniturePlayerScore {
+ uint32 score = 12;
+ HomeGroupPlayerInfo player_info = 10;
+}
diff --git a/protocol/proto/HomeSetBlueprintFriendOptionReq.proto b/protocol/proto/HomeSetBlueprintFriendOptionReq.proto
new file mode 100644
index 00000000..ffa7d959
--- /dev/null
+++ b/protocol/proto/HomeSetBlueprintFriendOptionReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4554
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeSetBlueprintFriendOptionReq {
+ bool is_allow_friend_copy = 9;
+}
diff --git a/protocol/proto/HomeSetBlueprintFriendOptionRsp.proto b/protocol/proto/HomeSetBlueprintFriendOptionRsp.proto
new file mode 100644
index 00000000..4d8d8043
--- /dev/null
+++ b/protocol/proto/HomeSetBlueprintFriendOptionRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4604
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeSetBlueprintFriendOptionRsp {
+ bool is_allow_friend_copy = 2;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/HomeSetBlueprintSlotOptionReq.proto b/protocol/proto/HomeSetBlueprintSlotOptionReq.proto
new file mode 100644
index 00000000..2567bd95
--- /dev/null
+++ b/protocol/proto/HomeSetBlueprintSlotOptionReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4798
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeSetBlueprintSlotOptionReq {
+ uint32 slot_id = 1;
+ bool is_allow_copy = 8;
+}
diff --git a/protocol/proto/HomeSetBlueprintSlotOptionRsp.proto b/protocol/proto/HomeSetBlueprintSlotOptionRsp.proto
new file mode 100644
index 00000000..de283887
--- /dev/null
+++ b/protocol/proto/HomeSetBlueprintSlotOptionRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4786
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeSetBlueprintSlotOptionRsp {
+ uint32 slot_id = 13;
+ bool is_allow_copy = 7;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/HomeStakePlayRecord.proto b/protocol/proto/HomeStakePlayRecord.proto
new file mode 100644
index 00000000..747d2ae4
--- /dev/null
+++ b/protocol/proto/HomeStakePlayRecord.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeGroupPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeStakePlayRecord {
+ repeated HomeGroupPlayerInfo engaged_player_info_list = 14;
+ uint32 timestamp = 9;
+}
diff --git a/protocol/proto/HomeStakeRecord.proto b/protocol/proto/HomeStakeRecord.proto
new file mode 100644
index 00000000..9ca88707
--- /dev/null
+++ b/protocol/proto/HomeStakeRecord.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeStakePlayRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeStakeRecord {
+ repeated HomeStakePlayRecord record_list = 13;
+}
diff --git a/protocol/proto/HomeTransferData.proto b/protocol/proto/HomeTransferData.proto
new file mode 100644
index 00000000..0bbda5cc
--- /dev/null
+++ b/protocol/proto/HomeTransferData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeTransferData {
+ uint32 guid = 15;
+ Vector spawn_pos = 7;
+}
diff --git a/protocol/proto/HomeTransferReq.proto b/protocol/proto/HomeTransferReq.proto
new file mode 100644
index 00000000..69e5f46e
--- /dev/null
+++ b/protocol/proto/HomeTransferReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4726
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeTransferReq {
+ uint32 guid = 1;
+ bool is_transfer_to_safe_point = 12;
+}
diff --git a/protocol/proto/HomeTransferRsp.proto b/protocol/proto/HomeTransferRsp.proto
new file mode 100644
index 00000000..bb957722
--- /dev/null
+++ b/protocol/proto/HomeTransferRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4616
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeTransferRsp {
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/HomeUpdateArrangementInfoReq.proto b/protocol/proto/HomeUpdateArrangementInfoReq.proto
new file mode 100644
index 00000000..f26af687
--- /dev/null
+++ b/protocol/proto/HomeUpdateArrangementInfoReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeSceneArrangementInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4510
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeUpdateArrangementInfoReq {
+ HomeSceneArrangementInfo scene_arrangement_info = 6;
+}
diff --git a/protocol/proto/HomeUpdateArrangementInfoRsp.proto b/protocol/proto/HomeUpdateArrangementInfoRsp.proto
new file mode 100644
index 00000000..b8c8ebec
--- /dev/null
+++ b/protocol/proto/HomeUpdateArrangementInfoRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4757
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeUpdateArrangementInfoRsp {
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/HomeUpdateFishFarmingInfoReq.proto b/protocol/proto/HomeUpdateFishFarmingInfoReq.proto
new file mode 100644
index 00000000..4f98d268
--- /dev/null
+++ b/protocol/proto/HomeUpdateFishFarmingInfoReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeFishFarmingInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4544
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeUpdateFishFarmingInfoReq {
+ HomeFishFarmingInfo fish_farming_info = 5;
+}
diff --git a/protocol/proto/HomeUpdateFishFarmingInfoRsp.proto b/protocol/proto/HomeUpdateFishFarmingInfoRsp.proto
new file mode 100644
index 00000000..a979faac
--- /dev/null
+++ b/protocol/proto/HomeUpdateFishFarmingInfoRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4857
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeUpdateFishFarmingInfoRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/HomeUpdatePictureFrameInfoReq.proto b/protocol/proto/HomeUpdatePictureFrameInfoReq.proto
new file mode 100644
index 00000000..1330fd9e
--- /dev/null
+++ b/protocol/proto/HomeUpdatePictureFrameInfoReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomePictureFrameInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4486
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeUpdatePictureFrameInfoReq {
+ HomePictureFrameInfo picture_frame_info = 1;
+}
diff --git a/protocol/proto/HomeUpdatePictureFrameInfoRsp.proto b/protocol/proto/HomeUpdatePictureFrameInfoRsp.proto
new file mode 100644
index 00000000..a3e8f492
--- /dev/null
+++ b/protocol/proto/HomeUpdatePictureFrameInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomePictureFrameInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4641
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeUpdatePictureFrameInfoRsp {
+ int32 retcode = 13;
+ HomePictureFrameInfo picture_frame_info = 14;
+}
diff --git a/protocol/proto/HomeUpdateScenePointFishFarmingInfoReq.proto b/protocol/proto/HomeUpdateScenePointFishFarmingInfoReq.proto
new file mode 100644
index 00000000..d4a0b230
--- /dev/null
+++ b/protocol/proto/HomeUpdateScenePointFishFarmingInfoReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeScenePointFishFarmingInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4511
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HomeUpdateScenePointFishFarmingInfoReq {
+ HomeScenePointFishFarmingInfo fish_farming_info = 7;
+}
diff --git a/protocol/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto b/protocol/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto
new file mode 100644
index 00000000..0b460b32
--- /dev/null
+++ b/protocol/proto/HomeUpdateScenePointFishFarmingInfoRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4540
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HomeUpdateScenePointFishFarmingInfoRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/HomeVerifyBlockData.proto b/protocol/proto/HomeVerifyBlockData.proto
new file mode 100644
index 00000000..5cfc332c
--- /dev/null
+++ b/protocol/proto/HomeVerifyBlockData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeVerifyBlockData {
+ uint32 block_id = 10;
+ uint32 furnitures = 9;
+}
diff --git a/protocol/proto/HomeVerifyData.proto b/protocol/proto/HomeVerifyData.proto
new file mode 100644
index 00000000..2275e55b
--- /dev/null
+++ b/protocol/proto/HomeVerifyData.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeSceneArrangementMuipData.proto";
+import "HomeVerifySceneData.proto";
+import "LanguageType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeVerifyData {
+ string aid = 7;
+ fixed32 timestamp = 15;
+ uint32 uid = 5;
+ HomeSceneArrangementMuipData arrangement_data = 9;
+ string region = 3;
+ string token = 1;
+ HomeVerifySceneData home_info = 6;
+ LanguageType lang = 8;
+}
diff --git a/protocol/proto/HomeVerifyFurnitureData.proto b/protocol/proto/HomeVerifyFurnitureData.proto
new file mode 100644
index 00000000..a6d41371
--- /dev/null
+++ b/protocol/proto/HomeVerifyFurnitureData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeVerifyFurnitureData {
+ repeated uint32 type = 7;
+ uint32 id = 5;
+ uint32 num = 9;
+}
diff --git a/protocol/proto/HomeVerifySceneData.proto b/protocol/proto/HomeVerifySceneData.proto
new file mode 100644
index 00000000..0b991ae1
--- /dev/null
+++ b/protocol/proto/HomeVerifySceneData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeVerifyBlockData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HomeVerifySceneData {
+ repeated HomeVerifyBlockData blocks = 6;
+ uint32 module_id = 11;
+ uint32 scene_id = 4;
+ uint32 version = 14;
+ uint32 is_room = 2;
+}
diff --git a/protocol/proto/HostPlayerNotify.proto b/protocol/proto/HostPlayerNotify.proto
new file mode 100644
index 00000000..0875af6e
--- /dev/null
+++ b/protocol/proto/HostPlayerNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 312
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HostPlayerNotify {
+ uint32 host_peer_id = 13;
+ uint32 host_uid = 10;
+}
diff --git a/protocol/proto/HuntingFailNotify.proto b/protocol/proto/HuntingFailNotify.proto
new file mode 100644
index 00000000..16d66194
--- /dev/null
+++ b/protocol/proto/HuntingFailNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4320
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HuntingFailNotify {
+ HuntingPair hunting_pair = 12;
+}
diff --git a/protocol/proto/HuntingGiveUpReq.proto b/protocol/proto/HuntingGiveUpReq.proto
new file mode 100644
index 00000000..3560d5a5
--- /dev/null
+++ b/protocol/proto/HuntingGiveUpReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4341
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message HuntingGiveUpReq {
+ HuntingPair hunting_pair = 1;
+}
diff --git a/protocol/proto/HuntingGiveUpRsp.proto b/protocol/proto/HuntingGiveUpRsp.proto
new file mode 100644
index 00000000..f1ec18f0
--- /dev/null
+++ b/protocol/proto/HuntingGiveUpRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4342
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HuntingGiveUpRsp {
+ int32 retcode = 3;
+ HuntingPair hunting_pair = 4;
+}
diff --git a/protocol/proto/HuntingOfferData.proto b/protocol/proto/HuntingOfferData.proto
new file mode 100644
index 00000000..f6f7b5e5
--- /dev/null
+++ b/protocol/proto/HuntingOfferData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingOfferState.proto";
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HuntingOfferData {
+ HuntingPair hunting_pair = 4;
+ uint32 city_id = 8;
+ HuntingOfferState state = 1;
+}
diff --git a/protocol/proto/HuntingOfferState.proto b/protocol/proto/HuntingOfferState.proto
new file mode 100644
index 00000000..9fedb3fa
--- /dev/null
+++ b/protocol/proto/HuntingOfferState.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum HuntingOfferState {
+ HUNTING_OFFER_STATE_NONE = 0;
+ HUNTING_OFFER_STATE_STARTED = 1;
+ HUNTING_OFFER_STATE_UNSTARTED = 2;
+ HUNTING_OFFER_STATE_SUCC = 3;
+}
diff --git a/protocol/proto/HuntingOngoingNotify.proto b/protocol/proto/HuntingOngoingNotify.proto
new file mode 100644
index 00000000..37b08580
--- /dev/null
+++ b/protocol/proto/HuntingOngoingNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4345
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HuntingOngoingNotify {
+ HuntingPair hunting_pair = 15;
+ bool is_started = 8;
+ Vector next_position = 3;
+ uint32 finish_clue_count = 10;
+ bool is_final = 14;
+ uint32 fail_time = 7;
+}
diff --git a/protocol/proto/HuntingPair.proto b/protocol/proto/HuntingPair.proto
new file mode 100644
index 00000000..1c9c74e4
--- /dev/null
+++ b/protocol/proto/HuntingPair.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message HuntingPair {
+ uint32 refresh_id = 9;
+ uint32 monster_config_id = 4;
+}
diff --git a/protocol/proto/HuntingRevealClueNotify.proto b/protocol/proto/HuntingRevealClueNotify.proto
new file mode 100644
index 00000000..ea57db24
--- /dev/null
+++ b/protocol/proto/HuntingRevealClueNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4322
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HuntingRevealClueNotify {
+ uint32 finish_clue_count = 5;
+ Vector clue_position = 4;
+ HuntingPair hunting_pair = 12;
+ uint32 finished_group_id = 7;
+}
diff --git a/protocol/proto/HuntingRevealFinalNotify.proto b/protocol/proto/HuntingRevealFinalNotify.proto
new file mode 100644
index 00000000..384303c1
--- /dev/null
+++ b/protocol/proto/HuntingRevealFinalNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4344
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HuntingRevealFinalNotify {
+ uint32 finished_group_id = 5;
+ HuntingPair hunting_pair = 11;
+ Vector final_position = 2;
+}
diff --git a/protocol/proto/HuntingStartNotify.proto b/protocol/proto/HuntingStartNotify.proto
new file mode 100644
index 00000000..63c81cc5
--- /dev/null
+++ b/protocol/proto/HuntingStartNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4329
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HuntingStartNotify {
+ Vector clue_position = 4;
+ uint32 fail_time = 15;
+ HuntingPair hunting_pair = 3;
+ bool is_final = 8;
+}
diff --git a/protocol/proto/HuntingSuccessNotify.proto b/protocol/proto/HuntingSuccessNotify.proto
new file mode 100644
index 00000000..a4f1093b
--- /dev/null
+++ b/protocol/proto/HuntingSuccessNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4349
+// EnetChannelId: 0
+// EnetIsReliable: true
+message HuntingSuccessNotify {
+ HuntingPair hunting_pair = 4;
+}
diff --git a/protocol/proto/InBattleChessInfo.proto b/protocol/proto/InBattleChessInfo.proto
new file mode 100644
index 00000000..289e76e9
--- /dev/null
+++ b/protocol/proto/InBattleChessInfo.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChessCardInfo.proto";
+import "ChessMysteryInfo.proto";
+import "ChessPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleChessInfo {
+ repeated uint32 ban_card_tag_list = 2;
+ uint32 round = 4;
+ repeated ChessCardInfo selected_card_info_list = 9;
+ ChessMysteryInfo mystery_info = 1;
+ map player_info_map = 8;
+ uint32 max_escapable_monsters = 6;
+ uint32 escaped_monsters = 12;
+ uint32 total_round = 14;
+ uint32 left_monsters = 15;
+}
diff --git a/protocol/proto/InBattleChessSettleInfo.proto b/protocol/proto/InBattleChessSettleInfo.proto
new file mode 100644
index 00000000..dde7df51
--- /dev/null
+++ b/protocol/proto/InBattleChessSettleInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExhibitionDisplayInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleChessSettleInfo {
+ bool is_success = 7;
+ uint32 chess_exp = 11;
+ uint32 chess_level = 13;
+ uint32 old_chess_level = 10;
+ repeated ExhibitionDisplayInfo score_list = 1;
+ uint64 scene_time_ms = 14;
+ uint32 old_chess_exp = 2;
+}
diff --git a/protocol/proto/InBattleFleurFairInfo.proto b/protocol/proto/InBattleFleurFairInfo.proto
new file mode 100644
index 00000000..86a6d79c
--- /dev/null
+++ b/protocol/proto/InBattleFleurFairInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleFleurFairInfo {
+ repeated uint32 gallery_id_list = 5;
+ uint32 gallery_stage_index = 6;
+ uint32 preview_stage_index = 8;
+ repeated uint32 ability_group_id_list = 2;
+ uint32 preview_display_duration = 12;
+}
diff --git a/protocol/proto/InBattleIrodoriChessSettleInfo.proto b/protocol/proto/InBattleIrodoriChessSettleInfo.proto
new file mode 100644
index 00000000..10dde9a5
--- /dev/null
+++ b/protocol/proto/InBattleIrodoriChessSettleInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleIrodoriChessSettleInfo {
+ bool is_new_record = 5;
+ bool is_activity_end = 2;
+ uint64 scene_time_ms = 1;
+ uint32 settle_score = 3;
+ bool is_perfect = 12;
+ uint32 kill_monster_num = 7;
+}
diff --git a/protocol/proto/InBattleMechanicusBuildingInfo.proto b/protocol/proto/InBattleMechanicusBuildingInfo.proto
new file mode 100644
index 00000000..d1a4fcb6
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusBuildingInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleMechanicusBuildingInfo {
+ uint32 building_id = 8;
+ uint32 level = 7;
+ uint32 cost_points = 2;
+ uint32 refund_points = 11;
+}
diff --git a/protocol/proto/InBattleMechanicusBuildingPointsNotify.proto b/protocol/proto/InBattleMechanicusBuildingPointsNotify.proto
new file mode 100644
index 00000000..9293106d
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusBuildingPointsNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5303
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InBattleMechanicusBuildingPointsNotify {
+ map player_building_points_map = 4;
+}
diff --git a/protocol/proto/InBattleMechanicusCardChallengeState.proto b/protocol/proto/InBattleMechanicusCardChallengeState.proto
new file mode 100644
index 00000000..ca70016c
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusCardChallengeState.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum InBattleMechanicusCardChallengeState {
+ IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_NONE = 0;
+ IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_ON_GOING = 1;
+ IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_FAIL = 2;
+ IN_BATTLE_MECHANICUS_CARD_CHALLENGE_STATE_SUCCESS = 3;
+}
diff --git a/protocol/proto/InBattleMechanicusCardInfo.proto b/protocol/proto/InBattleMechanicusCardInfo.proto
new file mode 100644
index 00000000..2e6d18a8
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusCardInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InBattleMechanicusCardChallengeState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleMechanicusCardInfo {
+ uint32 rand_effect_id = 12;
+ uint32 end_round = 3;
+ InBattleMechanicusCardChallengeState challenge_state = 5;
+ uint32 cost_points = 1;
+ uint32 card_id = 11;
+ uint32 begin_round = 8;
+}
diff --git a/protocol/proto/InBattleMechanicusCardResultNotify.proto b/protocol/proto/InBattleMechanicusCardResultNotify.proto
new file mode 100644
index 00000000..18b39438
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusCardResultNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InBattleMechanicusCardInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5397
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InBattleMechanicusCardResultNotify {
+ uint32 wait_seconds = 6;
+ uint32 group_id = 2;
+ repeated InBattleMechanicusCardInfo card_list = 9;
+ uint64 wait_begin_time_us = 7;
+ map player_confirmed_card_map = 12;
+ uint32 play_index = 8;
+}
diff --git a/protocol/proto/InBattleMechanicusConfirmCardNotify.proto b/protocol/proto/InBattleMechanicusConfirmCardNotify.proto
new file mode 100644
index 00000000..49323a17
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusConfirmCardNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5348
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InBattleMechanicusConfirmCardNotify {
+ uint32 play_index = 11;
+ uint32 card_id = 13;
+ uint32 group_id = 10;
+ uint32 player_uid = 2;
+}
diff --git a/protocol/proto/InBattleMechanicusConfirmCardReq.proto b/protocol/proto/InBattleMechanicusConfirmCardReq.proto
new file mode 100644
index 00000000..9fa730e8
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusConfirmCardReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5331
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InBattleMechanicusConfirmCardReq {
+ uint32 play_index = 6;
+ uint32 card_id = 1;
+ uint32 group_id = 3;
+}
diff --git a/protocol/proto/InBattleMechanicusConfirmCardRsp.proto b/protocol/proto/InBattleMechanicusConfirmCardRsp.proto
new file mode 100644
index 00000000..13eff0f1
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusConfirmCardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5375
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InBattleMechanicusConfirmCardRsp {
+ uint32 play_index = 2;
+ uint32 card_id = 14;
+ int32 retcode = 11;
+ uint32 group_id = 6;
+}
diff --git a/protocol/proto/InBattleMechanicusEscapeMonsterNotify.proto b/protocol/proto/InBattleMechanicusEscapeMonsterNotify.proto
new file mode 100644
index 00000000..ac8483f5
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusEscapeMonsterNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5307
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InBattleMechanicusEscapeMonsterNotify {
+ uint32 escaped_monster_num = 4;
+}
diff --git a/protocol/proto/InBattleMechanicusInfo.proto b/protocol/proto/InBattleMechanicusInfo.proto
new file mode 100644
index 00000000..be04ff0e
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusInfo.proto
@@ -0,0 +1,45 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InBattleMechanicusCardInfo.proto";
+import "InBattleMechanicusMonsterInfo.proto";
+import "InBattleMechanicusPlayerInfo.proto";
+import "InBattleMechanicusStageType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleMechanicusInfo {
+ uint32 left_monster = 5;
+ uint32 wait_seconds = 13;
+ repeated uint32 entrance_list = 410;
+ repeated uint32 exit_list = 115;
+ repeated InBattleMechanicusCardInfo history_card_list = 11;
+ uint32 max_escape_monster_num = 10;
+ uint32 building_stage_duration = 4;
+ uint64 duration_ms = 8;
+ InBattleMechanicusStageType stage = 9;
+ uint32 total_round = 12;
+ repeated InBattleMechanicusMonsterInfo monster_list = 14;
+ uint32 escaped_monster_num = 6;
+ uint32 round = 3;
+ repeated InBattleMechanicusCardInfo pick_card_list = 15;
+ repeated InBattleMechanicusPlayerInfo player_list = 7;
+ uint64 wait_begin_time_us = 1;
+ uint64 begin_time_ms = 2;
+}
diff --git a/protocol/proto/InBattleMechanicusLeftMonsterNotify.proto b/protocol/proto/InBattleMechanicusLeftMonsterNotify.proto
new file mode 100644
index 00000000..2e077ef6
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusLeftMonsterNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5321
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InBattleMechanicusLeftMonsterNotify {
+ uint32 left_monster = 14;
+}
diff --git a/protocol/proto/InBattleMechanicusMonsterInfo.proto b/protocol/proto/InBattleMechanicusMonsterInfo.proto
new file mode 100644
index 00000000..0f84d3fb
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusMonsterInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleMechanicusMonsterInfo {
+ uint32 monster_id = 1;
+ uint32 level = 14;
+ uint32 count = 13;
+}
diff --git a/protocol/proto/InBattleMechanicusPickCardNotify.proto b/protocol/proto/InBattleMechanicusPickCardNotify.proto
new file mode 100644
index 00000000..42cbaebd
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusPickCardNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5399
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InBattleMechanicusPickCardNotify {
+ uint32 player_uid = 6;
+ uint32 group_id = 7;
+ uint32 play_index = 8;
+ uint32 card_id = 10;
+}
diff --git a/protocol/proto/InBattleMechanicusPickCardReq.proto b/protocol/proto/InBattleMechanicusPickCardReq.proto
new file mode 100644
index 00000000..257db5c3
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusPickCardReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5390
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InBattleMechanicusPickCardReq {
+ uint32 group_id = 11;
+ uint32 play_index = 7;
+ uint32 card_id = 1;
+}
diff --git a/protocol/proto/InBattleMechanicusPickCardRsp.proto b/protocol/proto/InBattleMechanicusPickCardRsp.proto
new file mode 100644
index 00000000..f9e8ed58
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusPickCardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5373
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InBattleMechanicusPickCardRsp {
+ int32 retcode = 11;
+ uint32 card_id = 2;
+ uint32 play_index = 4;
+ uint32 group_id = 9;
+}
diff --git a/protocol/proto/InBattleMechanicusPlayerInfo.proto b/protocol/proto/InBattleMechanicusPlayerInfo.proto
new file mode 100644
index 00000000..5eb74f6d
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusPlayerInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InBattleMechanicusBuildingInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleMechanicusPlayerInfo {
+ uint32 pick_card_id = 5;
+ uint32 uid = 14;
+ repeated InBattleMechanicusBuildingInfo building_list = 4;
+ bool is_card_confirmed = 13;
+ uint32 building_points = 3;
+}
diff --git a/protocol/proto/InBattleMechanicusSettleInfo.proto b/protocol/proto/InBattleMechanicusSettleInfo.proto
new file mode 100644
index 00000000..890c00bb
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusSettleInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MultistageSettleWatcherInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InBattleMechanicusSettleInfo {
+ uint64 scene_time_ms = 15;
+ uint32 total_token = 4;
+ uint32 real_token = 8;
+ repeated MultistageSettleWatcherInfo watcher_list = 7;
+ bool is_success = 6;
+ uint32 play_index = 3;
+ uint32 difficulty_percentage = 10;
+ uint32 group_id = 13;
+}
diff --git a/protocol/proto/InBattleMechanicusSettleNotify.proto b/protocol/proto/InBattleMechanicusSettleNotify.proto
new file mode 100644
index 00000000..6cf30875
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusSettleNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MultistageSettleWatcherInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5305
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InBattleMechanicusSettleNotify {
+ uint32 group_id = 15;
+ uint64 scene_time_ms = 11;
+ uint32 difficulty_percentage = 6;
+ uint32 total_token = 7;
+ repeated MultistageSettleWatcherInfo watcher_list = 3;
+ uint32 real_token = 13;
+ bool is_success = 2;
+ uint32 play_index = 14;
+}
diff --git a/protocol/proto/InBattleMechanicusStageType.proto b/protocol/proto/InBattleMechanicusStageType.proto
new file mode 100644
index 00000000..6219b0eb
--- /dev/null
+++ b/protocol/proto/InBattleMechanicusStageType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum InBattleMechanicusStageType {
+ IN_BATTLE_MECHANICUS_STAGE_TYPE_NONE = 0;
+ IN_BATTLE_MECHANICUS_STAGE_TYPE_BUILD = 1;
+ IN_BATTLE_MECHANICUS_STAGE_TYPE_CARD_FLIP = 2;
+ IN_BATTLE_MECHANICUS_STAGE_TYPE_KILL = 3;
+}
diff --git a/protocol/proto/InferencePageInfo.proto b/protocol/proto/InferencePageInfo.proto
new file mode 100644
index 00000000..8e4c4bed
--- /dev/null
+++ b/protocol/proto/InferencePageInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InfernceWordInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InferencePageInfo {
+ uint32 page_id = 3;
+ repeated InfernceWordInfo unlock_word_list = 15;
+}
diff --git a/protocol/proto/InfernceWordInfo.proto b/protocol/proto/InfernceWordInfo.proto
new file mode 100644
index 00000000..5781e7a1
--- /dev/null
+++ b/protocol/proto/InfernceWordInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InfernceWordInfo {
+ uint32 word_id = 8;
+ bool is_interpret = 15;
+ bool is_submit = 10;
+ bool is_associate = 6;
+ uint32 unlock_by_word_id = 5;
+}
diff --git a/protocol/proto/InstableSprayAvatarInfo.proto b/protocol/proto/InstableSprayAvatarInfo.proto
new file mode 100644
index 00000000..e550bcda
--- /dev/null
+++ b/protocol/proto/InstableSprayAvatarInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InstableSprayAvatarInfo {
+ bool is_trial = 8;
+ uint64 avatar_id = 2;
+}
diff --git a/protocol/proto/InstableSprayDetailInfo.proto b/protocol/proto/InstableSprayDetailInfo.proto
new file mode 100644
index 00000000..9607174c
--- /dev/null
+++ b/protocol/proto/InstableSprayDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InstableSprayStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InstableSprayDetailInfo {
+ repeated InstableSprayStageInfo stage_info_list = 9;
+}
diff --git a/protocol/proto/InstableSprayEnterDungeonReq.proto b/protocol/proto/InstableSprayEnterDungeonReq.proto
new file mode 100644
index 00000000..d6a81db2
--- /dev/null
+++ b/protocol/proto/InstableSprayEnterDungeonReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InstableSprayAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24312
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InstableSprayEnterDungeonReq {
+ uint32 stage_id = 13;
+ uint32 difficulty = 2;
+ repeated InstableSprayAvatarInfo avatar_info_list = 7;
+}
diff --git a/protocol/proto/InstableSprayEnterDungeonRsp.proto b/protocol/proto/InstableSprayEnterDungeonRsp.proto
new file mode 100644
index 00000000..af6564f1
--- /dev/null
+++ b/protocol/proto/InstableSprayEnterDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23381
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InstableSprayEnterDungeonRsp {
+ uint32 level_id = 11;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/InstableSprayGalleryInfoNotify.proto b/protocol/proto/InstableSprayGalleryInfoNotify.proto
new file mode 100644
index 00000000..0bc55904
--- /dev/null
+++ b/protocol/proto/InstableSprayGalleryInfoNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5588
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InstableSprayGalleryInfoNotify {
+ uint32 score = 3;
+}
diff --git a/protocol/proto/InstableSprayLevelFinishNotify.proto b/protocol/proto/InstableSprayLevelFinishNotify.proto
new file mode 100644
index 00000000..4f318ac6
--- /dev/null
+++ b/protocol/proto/InstableSprayLevelFinishNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21961
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InstableSprayLevelFinishNotify {
+ bool is_need_switch_team = 11;
+ bool is_skip_black_screen = 7;
+ uint32 round = 15;
+ uint32 stage_id = 8;
+ uint32 level_id = 10;
+}
diff --git a/protocol/proto/InstableSprayRestartDungeonReq.proto b/protocol/proto/InstableSprayRestartDungeonReq.proto
new file mode 100644
index 00000000..d08154e8
--- /dev/null
+++ b/protocol/proto/InstableSprayRestartDungeonReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InstableSprayAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23678
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InstableSprayRestartDungeonReq {
+ repeated InstableSprayAvatarInfo avatar_info_list = 6;
+}
diff --git a/protocol/proto/InstableSprayRestartDungeonRsp.proto b/protocol/proto/InstableSprayRestartDungeonRsp.proto
new file mode 100644
index 00000000..6520c5e8
--- /dev/null
+++ b/protocol/proto/InstableSprayRestartDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24923
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InstableSprayRestartDungeonRsp {
+ uint32 level_id = 1;
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/InstableSpraySettleInfo.proto b/protocol/proto/InstableSpraySettleInfo.proto
new file mode 100644
index 00000000..907de331
--- /dev/null
+++ b/protocol/proto/InstableSpraySettleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InstableSpraySettleInfo {
+ uint32 stage_id = 1;
+ repeated uint32 score_list = 4;
+ bool is_new_record = 13;
+ uint32 difficulty = 5;
+}
diff --git a/protocol/proto/InstableSprayStageInfo.proto b/protocol/proto/InstableSprayStageInfo.proto
new file mode 100644
index 00000000..2f0fd78e
--- /dev/null
+++ b/protocol/proto/InstableSprayStageInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InstableSprayTeamInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InstableSprayStageInfo {
+ bool is_finished = 10;
+ uint32 max_score = 3;
+ uint32 stage_id = 4;
+ repeated InstableSprayTeamInfo team_info_list = 6;
+}
diff --git a/protocol/proto/InstableSpraySwitchTeamReq.proto b/protocol/proto/InstableSpraySwitchTeamReq.proto
new file mode 100644
index 00000000..4139457b
--- /dev/null
+++ b/protocol/proto/InstableSpraySwitchTeamReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InstableSprayAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24857
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InstableSpraySwitchTeamReq {
+ repeated InstableSprayAvatarInfo avatar_info_list = 13;
+}
diff --git a/protocol/proto/InstableSpraySwitchTeamRsp.proto b/protocol/proto/InstableSpraySwitchTeamRsp.proto
new file mode 100644
index 00000000..e4757497
--- /dev/null
+++ b/protocol/proto/InstableSpraySwitchTeamRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24152
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InstableSpraySwitchTeamRsp {
+ uint32 level_id = 1;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/InstableSprayTeamInfo.proto b/protocol/proto/InstableSprayTeamInfo.proto
new file mode 100644
index 00000000..3bedc201
--- /dev/null
+++ b/protocol/proto/InstableSprayTeamInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InstableSprayAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InstableSprayTeamInfo {
+ repeated InstableSprayAvatarInfo avatar_info_list = 13;
+}
diff --git a/protocol/proto/InterOpType.proto b/protocol/proto/InterOpType.proto
new file mode 100644
index 00000000..82571ccc
--- /dev/null
+++ b/protocol/proto/InterOpType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum InterOpType {
+ INTER_OP_TYPE_FINISH = 0;
+ INTER_OP_TYPE_START = 1;
+}
diff --git a/protocol/proto/InteractDailyDungeonInfoNotify.proto b/protocol/proto/InteractDailyDungeonInfoNotify.proto
new file mode 100644
index 00000000..911311ee
--- /dev/null
+++ b/protocol/proto/InteractDailyDungeonInfoNotify.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 919
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InteractDailyDungeonInfoNotify {}
diff --git a/protocol/proto/InteractType.proto b/protocol/proto/InteractType.proto
new file mode 100644
index 00000000..1cea8bbc
--- /dev/null
+++ b/protocol/proto/InteractType.proto
@@ -0,0 +1,40 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum InteractType {
+ INTERACT_TYPE_NONE = 0;
+ INTERACT_TYPE_PICK_ITEM = 1;
+ INTERACT_TYPE_GATHER = 2;
+ INTERACT_TYPE_OPEN_CHEST = 3;
+ INTERACT_TYPE_OPEN_STATUE = 4;
+ INTERACT_TYPE_CONSUM = 5;
+ INTERACT_TYPE_MP_PLAY_REWARD = 6;
+ INTERACT_TYPE_VIEW = 7;
+ INTERACT_TYPE_GENERAL_REWARD = 8;
+ INTERACT_TYPE_MIRACLE_RING = 9;
+ INTERACT_TYPE_FOUNDATION = 10;
+ INTERACT_TYPE_ECHO_SHELL = 11;
+ INTERACT_TYPE_HOME_GATHER = 12;
+ INTERACT_TYPE_ENV_ANIMAL = 13;
+ INTERACT_TYPE_QUEST_GADGET = 14;
+ INTERACT_TYPE_UI_INTERACT = 15;
+ INTERACT_TYPE_DESHRET_OBELISK = 16;
+}
diff --git a/protocol/proto/InterpretInferenceWordReq.proto b/protocol/proto/InterpretInferenceWordReq.proto
new file mode 100644
index 00000000..7eb9af0a
--- /dev/null
+++ b/protocol/proto/InterpretInferenceWordReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 419
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InterpretInferenceWordReq {
+ uint32 word_id = 2;
+ uint32 page_id = 4;
+}
diff --git a/protocol/proto/InterpretInferenceWordRsp.proto b/protocol/proto/InterpretInferenceWordRsp.proto
new file mode 100644
index 00000000..c5d48b85
--- /dev/null
+++ b/protocol/proto/InterpretInferenceWordRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 461
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InterpretInferenceWordRsp {
+ int32 retcode = 5;
+ uint32 word_id = 14;
+ uint32 page_id = 13;
+}
diff --git a/protocol/proto/InterruptGalleryReq.proto b/protocol/proto/InterruptGalleryReq.proto
new file mode 100644
index 00000000..91ca6205
--- /dev/null
+++ b/protocol/proto/InterruptGalleryReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5548
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InterruptGalleryReq {
+ uint32 gallery_id = 13;
+}
diff --git a/protocol/proto/InterruptGalleryRsp.proto b/protocol/proto/InterruptGalleryRsp.proto
new file mode 100644
index 00000000..c59d656f
--- /dev/null
+++ b/protocol/proto/InterruptGalleryRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5597
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InterruptGalleryRsp {
+ int32 retcode = 12;
+ uint32 gallery_id = 9;
+}
diff --git a/protocol/proto/Investigation.proto b/protocol/proto/Investigation.proto
new file mode 100644
index 00000000..764d8268
--- /dev/null
+++ b/protocol/proto/Investigation.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Investigation {
+ uint32 total_progress = 5;
+ State state = 2;
+ uint32 progress = 13;
+ uint32 id = 9;
+
+ enum State {
+ STATE_INVALID = 0;
+ STATE_IN_PROGRESS = 1;
+ STATE_COMPLETE = 2;
+ STATE_REWARD_TAKEN = 3;
+ }
+}
diff --git a/protocol/proto/InvestigationMonster.proto b/protocol/proto/InvestigationMonster.proto
new file mode 100644
index 00000000..74bd6b09
--- /dev/null
+++ b/protocol/proto/InvestigationMonster.proto
@@ -0,0 +1,48 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+import "WeeklyBossResinDiscountInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InvestigationMonster {
+ bool is_alive = 9;
+ uint32 refresh_interval = 3;
+ uint32 id = 13;
+ uint32 level = 5;
+ uint32 boss_chest_num = 1;
+ WeeklyBossResinDiscountInfo weekly_boss_resin_discount_info = 12;
+ uint32 monster_id = 301;
+ Vector pos = 14;
+ uint32 resin = 8;
+ uint32 max_boss_chest_num = 4;
+ uint32 next_refresh_time = 11;
+ uint32 group_id = 285;
+ uint32 scene_id = 10;
+ bool is_area_locked = 15;
+ LockState lock_state = 2;
+ uint32 next_boss_chest_refresh_time = 7;
+ uint32 city_id = 6;
+
+ enum LockState {
+ LOCK_STATE_NONE = 0;
+ LOCK_STATE_QUEST = 1;
+ }
+}
diff --git a/protocol/proto/InvestigationMonsterUpdateNotify.proto b/protocol/proto/InvestigationMonsterUpdateNotify.proto
new file mode 100644
index 00000000..67885b25
--- /dev/null
+++ b/protocol/proto/InvestigationMonsterUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InvestigationMonster.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1906
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InvestigationMonsterUpdateNotify {
+ InvestigationMonster investigation_monster = 5;
+}
diff --git a/protocol/proto/InvestigationQuestDailyNotify.proto b/protocol/proto/InvestigationQuestDailyNotify.proto
new file mode 100644
index 00000000..2fca484f
--- /dev/null
+++ b/protocol/proto/InvestigationQuestDailyNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1921
+// EnetChannelId: 0
+// EnetIsReliable: true
+message InvestigationQuestDailyNotify {}
diff --git a/protocol/proto/InvestigationReadQuestDailyNotify.proto b/protocol/proto/InvestigationReadQuestDailyNotify.proto
new file mode 100644
index 00000000..c9309f7a
--- /dev/null
+++ b/protocol/proto/InvestigationReadQuestDailyNotify.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1902
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message InvestigationReadQuestDailyNotify {}
diff --git a/protocol/proto/InvestigationTarget.proto b/protocol/proto/InvestigationTarget.proto
new file mode 100644
index 00000000..36bf3f07
--- /dev/null
+++ b/protocol/proto/InvestigationTarget.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message InvestigationTarget {
+ uint32 quest_id = 15;
+ State state = 2;
+ uint32 progress = 8;
+ uint32 total_progress = 7;
+ uint32 investigation_id = 3;
+
+ enum State {
+ STATE_INVALID = 0;
+ STATE_IN_PROGRESS = 1;
+ STATE_COMPLETE = 2;
+ STATE_REWARD_TAKEN = 3;
+ }
+}
diff --git a/protocol/proto/IrodoriActivityDetailInfo.proto b/protocol/proto/IrodoriActivityDetailInfo.proto
new file mode 100644
index 00000000..ec74301d
--- /dev/null
+++ b/protocol/proto/IrodoriActivityDetailInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriChessData.proto";
+import "IrodoriFlowerData.proto";
+import "IrodoriMasterLevelInfo.proto";
+import "IrodoriPoetryData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriActivityDetailInfo {
+ repeated IrodoriMasterLevelInfo master_level_list = 11;
+ IrodoriFlowerData flower_data = 6;
+ IrodoriPoetryData poetry_data = 8;
+ IrodoriChessData chess_data = 14;
+}
diff --git a/protocol/proto/IrodoriChessData.proto b/protocol/proto/IrodoriChessData.proto
new file mode 100644
index 00000000..4e43d319
--- /dev/null
+++ b/protocol/proto/IrodoriChessData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriChessLevelData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriChessData {
+ bool is_open = 8;
+ repeated IrodoriChessLevelData level_data_list = 1;
+}
diff --git a/protocol/proto/IrodoriChessEntranceDetailInfo.proto b/protocol/proto/IrodoriChessEntranceDetailInfo.proto
new file mode 100644
index 00000000..1430091a
--- /dev/null
+++ b/protocol/proto/IrodoriChessEntranceDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriChessEntranceInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriChessEntranceDetailInfo {
+ repeated IrodoriChessEntranceInfo info_list = 15;
+}
diff --git a/protocol/proto/IrodoriChessEntranceInfo.proto b/protocol/proto/IrodoriChessEntranceInfo.proto
new file mode 100644
index 00000000..abf5dab7
--- /dev/null
+++ b/protocol/proto/IrodoriChessEntranceInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriChessMonsterInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriChessEntranceInfo {
+ repeated IrodoriChessMonsterInfo monster_info_list = 6;
+ uint32 entrance_point_id = 4;
+}
diff --git a/protocol/proto/IrodoriChessEquipCardReq.proto b/protocol/proto/IrodoriChessEquipCardReq.proto
new file mode 100644
index 00000000..03bb4813
--- /dev/null
+++ b/protocol/proto/IrodoriChessEquipCardReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8561
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message IrodoriChessEquipCardReq {
+ bool is_hard_map = 2;
+ uint32 level_id = 12;
+ uint32 card_id = 9;
+}
diff --git a/protocol/proto/IrodoriChessEquipCardRsp.proto b/protocol/proto/IrodoriChessEquipCardRsp.proto
new file mode 100644
index 00000000..9598c33b
--- /dev/null
+++ b/protocol/proto/IrodoriChessEquipCardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8308
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IrodoriChessEquipCardRsp {
+ int32 retcode = 2;
+ uint32 card_id = 8;
+ uint32 level_id = 5;
+ bool is_hard_map = 12;
+}
diff --git a/protocol/proto/IrodoriChessInfo.proto b/protocol/proto/IrodoriChessInfo.proto
new file mode 100644
index 00000000..b05ae28f
--- /dev/null
+++ b/protocol/proto/IrodoriChessInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriChessMysteryInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriChessInfo {
+ IrodoriChessMysteryInfo mystery_info = 3;
+ uint32 left_monsters = 12;
+ repeated uint32 selected_card_id_list = 13;
+ uint32 building_points = 7;
+ uint32 settle_score = 4;
+}
diff --git a/protocol/proto/IrodoriChessLeftMonsterNotify.proto b/protocol/proto/IrodoriChessLeftMonsterNotify.proto
new file mode 100644
index 00000000..a2b1b4cf
--- /dev/null
+++ b/protocol/proto/IrodoriChessLeftMonsterNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5338
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IrodoriChessLeftMonsterNotify {
+ uint32 left_monsters = 8;
+}
diff --git a/protocol/proto/IrodoriChessLevelData.proto b/protocol/proto/IrodoriChessLevelData.proto
new file mode 100644
index 00000000..0db936eb
--- /dev/null
+++ b/protocol/proto/IrodoriChessLevelData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriChessMapData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriChessLevelData {
+ uint32 open_time = 8;
+ uint32 level_id = 15;
+ IrodoriChessMapData hard_map_data = 7;
+ IrodoriChessMapData normal_map_data = 11;
+}
diff --git a/protocol/proto/IrodoriChessMapData.proto b/protocol/proto/IrodoriChessMapData.proto
new file mode 100644
index 00000000..27339389
--- /dev/null
+++ b/protocol/proto/IrodoriChessMapData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriChessEntranceDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriChessMapData {
+ uint32 map_id = 6;
+ IrodoriChessEntranceDetailInfo entrance_detail_info = 7;
+ repeated uint32 equiped_card_list = 3;
+ uint32 best_score = 8;
+}
diff --git a/protocol/proto/IrodoriChessMonsterInfo.proto b/protocol/proto/IrodoriChessMonsterInfo.proto
new file mode 100644
index 00000000..ad0b67e9
--- /dev/null
+++ b/protocol/proto/IrodoriChessMonsterInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriChessMonsterInfo {
+ uint32 grant_points = 6;
+ uint32 level = 13;
+ uint32 monster_id = 14;
+ repeated uint32 affix_list = 11;
+}
diff --git a/protocol/proto/IrodoriChessMysteryInfo.proto b/protocol/proto/IrodoriChessMysteryInfo.proto
new file mode 100644
index 00000000..ef405eda
--- /dev/null
+++ b/protocol/proto/IrodoriChessMysteryInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriChessEntranceDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriChessMysteryInfo {
+ IrodoriChessEntranceDetailInfo entrance_detail_info = 5;
+ repeated uint32 entrance_point_id_list = 2;
+ repeated uint32 exit_point_id_list = 13;
+}
diff --git a/protocol/proto/IrodoriChessPlayerInfo.proto b/protocol/proto/IrodoriChessPlayerInfo.proto
new file mode 100644
index 00000000..e4d93be7
--- /dev/null
+++ b/protocol/proto/IrodoriChessPlayerInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriChessPlayerInfo {
+ uint32 uid = 4;
+ uint32 building_points = 9;
+ uint32 settle_score = 3;
+}
diff --git a/protocol/proto/IrodoriChessPlayerInfoNotify.proto b/protocol/proto/IrodoriChessPlayerInfoNotify.proto
new file mode 100644
index 00000000..1a848202
--- /dev/null
+++ b/protocol/proto/IrodoriChessPlayerInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriChessPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5364
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IrodoriChessPlayerInfoNotify {
+ IrodoriChessPlayerInfo player_info = 6;
+}
diff --git a/protocol/proto/IrodoriChessUnequipCardReq.proto b/protocol/proto/IrodoriChessUnequipCardReq.proto
new file mode 100644
index 00000000..e2a96e0c
--- /dev/null
+++ b/protocol/proto/IrodoriChessUnequipCardReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8057
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message IrodoriChessUnequipCardReq {
+ uint32 card_id = 8;
+ uint32 level_id = 5;
+ bool is_hard_map = 10;
+}
diff --git a/protocol/proto/IrodoriChessUnequipCardRsp.proto b/protocol/proto/IrodoriChessUnequipCardRsp.proto
new file mode 100644
index 00000000..9248a1a1
--- /dev/null
+++ b/protocol/proto/IrodoriChessUnequipCardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8817
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IrodoriChessUnequipCardRsp {
+ bool is_hard_map = 10;
+ uint32 card_id = 13;
+ uint32 level_id = 14;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/IrodoriEditFlowerCombinationReq.proto b/protocol/proto/IrodoriEditFlowerCombinationReq.proto
new file mode 100644
index 00000000..77a0ad99
--- /dev/null
+++ b/protocol/proto/IrodoriEditFlowerCombinationReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomGadgetTreeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8608
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message IrodoriEditFlowerCombinationReq {
+ uint32 entity_id = 13;
+ CustomGadgetTreeInfo combination_info = 1;
+}
diff --git a/protocol/proto/IrodoriEditFlowerCombinationRsp.proto b/protocol/proto/IrodoriEditFlowerCombinationRsp.proto
new file mode 100644
index 00000000..35c38570
--- /dev/null
+++ b/protocol/proto/IrodoriEditFlowerCombinationRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8833
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IrodoriEditFlowerCombinationRsp {
+ bool is_already_finished = 4;
+ bool is_can_take_reward = 3;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/IrodoriFillPoetryReq.proto b/protocol/proto/IrodoriFillPoetryReq.proto
new file mode 100644
index 00000000..aa73a68a
--- /dev/null
+++ b/protocol/proto/IrodoriFillPoetryReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8129
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message IrodoriFillPoetryReq {
+ uint32 theme_id = 9;
+ uint32 line_id = 13;
+}
diff --git a/protocol/proto/IrodoriFillPoetryRsp.proto b/protocol/proto/IrodoriFillPoetryRsp.proto
new file mode 100644
index 00000000..097c628f
--- /dev/null
+++ b/protocol/proto/IrodoriFillPoetryRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriPoetryThemeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8880
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IrodoriFillPoetryRsp {
+ IrodoriPoetryThemeData theme_data = 13;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/IrodoriFlowerData.proto b/protocol/proto/IrodoriFlowerData.proto
new file mode 100644
index 00000000..bf526570
--- /dev/null
+++ b/protocol/proto/IrodoriFlowerData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriFlowerData {
+ repeated uint32 finished_theme_list = 1;
+ repeated ItemParam used_flower_list = 7;
+}
diff --git a/protocol/proto/IrodoriMasterGalleryCgEndNotify.proto b/protocol/proto/IrodoriMasterGalleryCgEndNotify.proto
new file mode 100644
index 00000000..ff81859c
--- /dev/null
+++ b/protocol/proto/IrodoriMasterGalleryCgEndNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8061
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message IrodoriMasterGalleryCgEndNotify {
+ uint32 level_id = 15;
+ uint32 gallery_id = 4;
+}
diff --git a/protocol/proto/IrodoriMasterGallerySettleInfo.proto b/protocol/proto/IrodoriMasterGallerySettleInfo.proto
new file mode 100644
index 00000000..42e46eeb
--- /dev/null
+++ b/protocol/proto/IrodoriMasterGallerySettleInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriMasterGallerySettleInfo {
+ GalleryStopReason reason = 15;
+ bool is_finish = 11;
+ uint32 finish_time = 14;
+ uint32 difficult = 6;
+ uint32 level_id = 4;
+}
diff --git a/protocol/proto/IrodoriMasterGallerySettleNotify.proto b/protocol/proto/IrodoriMasterGallerySettleNotify.proto
new file mode 100644
index 00000000..29d25e0e
--- /dev/null
+++ b/protocol/proto/IrodoriMasterGallerySettleNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriMasterGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8340
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message IrodoriMasterGallerySettleNotify {
+ IrodoriMasterGallerySettleInfo settle_info = 13;
+ uint32 gallery_id = 5;
+}
diff --git a/protocol/proto/IrodoriMasterLevelDetailInfo.proto b/protocol/proto/IrodoriMasterLevelDetailInfo.proto
new file mode 100644
index 00000000..d6bfd7e6
--- /dev/null
+++ b/protocol/proto/IrodoriMasterLevelDetailInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriMasterLevelDetailInfo {
+ bool is_finish = 1;
+ uint32 diffculty = 2;
+ uint32 min_finish_time = 8;
+ bool is_have_try = 7;
+}
diff --git a/protocol/proto/IrodoriMasterLevelInfo.proto b/protocol/proto/IrodoriMasterLevelInfo.proto
new file mode 100644
index 00000000..be355729
--- /dev/null
+++ b/protocol/proto/IrodoriMasterLevelInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriMasterLevelDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriMasterLevelInfo {
+ repeated IrodoriMasterLevelDetailInfo detail_info = 11;
+ uint32 level_id = 14;
+}
diff --git a/protocol/proto/IrodoriMasterStartGalleryReq.proto b/protocol/proto/IrodoriMasterStartGalleryReq.proto
new file mode 100644
index 00000000..f1bb3c77
--- /dev/null
+++ b/protocol/proto/IrodoriMasterStartGalleryReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8165
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message IrodoriMasterStartGalleryReq {
+ uint32 level_id = 12;
+ uint32 difficulty = 4;
+}
diff --git a/protocol/proto/IrodoriMasterStartGalleryRsp.proto b/protocol/proto/IrodoriMasterStartGalleryRsp.proto
new file mode 100644
index 00000000..727bae8d
--- /dev/null
+++ b/protocol/proto/IrodoriMasterStartGalleryRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8381
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IrodoriMasterStartGalleryRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/IrodoriPoetryData.proto b/protocol/proto/IrodoriPoetryData.proto
new file mode 100644
index 00000000..70a8d330
--- /dev/null
+++ b/protocol/proto/IrodoriPoetryData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriPoetryThemeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriPoetryData {
+ repeated IrodoriPoetryThemeData theme_data_list = 3;
+ uint32 cur_theme_id = 14;
+}
diff --git a/protocol/proto/IrodoriPoetryThemeData.proto b/protocol/proto/IrodoriPoetryThemeData.proto
new file mode 100644
index 00000000..e1fd41be
--- /dev/null
+++ b/protocol/proto/IrodoriPoetryThemeData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IrodoriPoetryThemeData {
+ repeated uint32 scanned_index_list = 1;
+ repeated uint32 line_id_list = 4;
+ uint32 max_progress = 2;
+ uint32 theme_id = 13;
+ uint32 progress = 5;
+ uint32 min_progress = 12;
+ uint32 selected_line_id = 9;
+}
diff --git a/protocol/proto/IrodoriScanEntityReq.proto b/protocol/proto/IrodoriScanEntityReq.proto
new file mode 100644
index 00000000..73c1dfeb
--- /dev/null
+++ b/protocol/proto/IrodoriScanEntityReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8767
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message IrodoriScanEntityReq {
+ uint32 entity_id = 11;
+}
diff --git a/protocol/proto/IrodoriScanEntityRsp.proto b/protocol/proto/IrodoriScanEntityRsp.proto
new file mode 100644
index 00000000..724396d5
--- /dev/null
+++ b/protocol/proto/IrodoriScanEntityRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IrodoriPoetryThemeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8026
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IrodoriScanEntityRsp {
+ IrodoriPoetryThemeData theme_data = 10;
+ int32 retcode = 5;
+ bool is_get_inspiration = 1;
+}
diff --git a/protocol/proto/IslandPartyDetailInfo.proto b/protocol/proto/IslandPartyDetailInfo.proto
new file mode 100644
index 00000000..6ef361be
--- /dev/null
+++ b/protocol/proto/IslandPartyDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IslandPartyStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IslandPartyDetailInfo {
+ repeated IslandPartyStageData stage_data_list = 15;
+}
diff --git a/protocol/proto/IslandPartyGallerySettleInfo.proto b/protocol/proto/IslandPartyGallerySettleInfo.proto
new file mode 100644
index 00000000..27cf490f
--- /dev/null
+++ b/protocol/proto/IslandPartyGallerySettleInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExhibitionDisplayInfo.proto";
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IslandPartyGallerySettleInfo {
+ OnlinePlayerInfo player_info = 13;
+ repeated ExhibitionDisplayInfo card_list = 11;
+}
diff --git a/protocol/proto/IslandPartyRaftInfoNotify.proto b/protocol/proto/IslandPartyRaftInfoNotify.proto
new file mode 100644
index 00000000..bd98121d
--- /dev/null
+++ b/protocol/proto/IslandPartyRaftInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5565
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IslandPartyRaftInfoNotify {
+ uint32 point_id = 7;
+ uint32 coin = 15;
+ uint32 fuel = 3;
+ uint32 component = 13;
+}
diff --git a/protocol/proto/IslandPartySailInfoNotify.proto b/protocol/proto/IslandPartySailInfoNotify.proto
new file mode 100644
index 00000000..fe509a0e
--- /dev/null
+++ b/protocol/proto/IslandPartySailInfoNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "IslandPartySailStage.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5504
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IslandPartySailInfoNotify {
+ uint32 coin = 10;
+ IslandPartySailStage stage = 8;
+ uint32 kill_monster_count = 4;
+ uint32 progress = 15;
+}
diff --git a/protocol/proto/IslandPartySailStage.proto b/protocol/proto/IslandPartySailStage.proto
new file mode 100644
index 00000000..637c0dbe
--- /dev/null
+++ b/protocol/proto/IslandPartySailStage.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum IslandPartySailStage {
+ ISLAND_PARTY_SAIL_STAGE_NONE = 0;
+ ISLAND_PARTY_SAIL_STAGE_SAIL = 1;
+ ISLAND_PARTY_SAIL_STAGE_BATTLE = 2;
+}
diff --git a/protocol/proto/IslandPartySettleNotify.proto b/protocol/proto/IslandPartySettleNotify.proto
new file mode 100644
index 00000000..0e6c9563
--- /dev/null
+++ b/protocol/proto/IslandPartySettleNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExhibitionDisplayInfo.proto";
+import "GalleryStopReason.proto";
+import "IslandPartyGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24601
+// EnetChannelId: 0
+// EnetIsReliable: true
+message IslandPartySettleNotify {
+ bool is_new_record = 13;
+ GalleryStopReason reason = 1;
+ repeated IslandPartyGallerySettleInfo settle_info_list = 8;
+ repeated ExhibitionDisplayInfo score_list = 6;
+ uint32 time_remain = 15;
+}
diff --git a/protocol/proto/IslandPartyStageData.proto b/protocol/proto/IslandPartyStageData.proto
new file mode 100644
index 00000000..5abdc6c6
--- /dev/null
+++ b/protocol/proto/IslandPartyStageData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message IslandPartyStageData {
+ uint32 stage_id = 13;
+ bool is_open = 14;
+ uint32 best_score = 4;
+}
diff --git a/protocol/proto/Item.proto b/protocol/proto/Item.proto
new file mode 100644
index 00000000..cc3a65e9
--- /dev/null
+++ b/protocol/proto/Item.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Equip.proto";
+import "Furniture.proto";
+import "Material.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Item {
+ uint32 item_id = 1;
+ uint64 guid = 2;
+ oneof detail {
+ Material material = 5;
+ Equip equip = 6;
+ Furniture furniture = 7;
+ }
+}
diff --git a/protocol/proto/ItemAddHintNotify.proto b/protocol/proto/ItemAddHintNotify.proto
new file mode 100644
index 00000000..28c5429f
--- /dev/null
+++ b/protocol/proto/ItemAddHintNotify.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemHint.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 607
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ItemAddHintNotify {
+ bool is_position_valid = 14;
+ uint32 quest_id = 3;
+ uint32 reason = 6;
+ bool is_general_reward_hiden = 15;
+ repeated ItemHint item_list = 10;
+ bool is_transfered_from_avatar_card = 12;
+ Vector position = 9;
+ repeated ItemHint overflow_transformed_item_list = 8;
+}
diff --git a/protocol/proto/ItemCdGroupTimeNotify.proto b/protocol/proto/ItemCdGroupTimeNotify.proto
new file mode 100644
index 00000000..93e3a4fa
--- /dev/null
+++ b/protocol/proto/ItemCdGroupTimeNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 634
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ItemCdGroupTimeNotify {
+ map item_cd_map = 9;
+}
diff --git a/protocol/proto/ItemGivingReq.proto b/protocol/proto/ItemGivingReq.proto
new file mode 100644
index 00000000..d2632fc9
--- /dev/null
+++ b/protocol/proto/ItemGivingReq.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 140
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ItemGivingReq {
+ map item_guid_count_map = 15;
+ uint32 giving_id = 13;
+ repeated ItemParam item_param_list = 4;
+ ItemGivingRsp item_giving_type = 2;
+
+ enum ItemGivingRsp {
+ ITEM_GIVING_RSP_QUEST = 0;
+ ITEM_GIVING_RSP_GADGET = 1;
+ }
+}
diff --git a/protocol/proto/ItemGivingRsp.proto b/protocol/proto/ItemGivingRsp.proto
new file mode 100644
index 00000000..a723d50e
--- /dev/null
+++ b/protocol/proto/ItemGivingRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 118
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ItemGivingRsp {
+ uint32 giving_group_id = 1;
+ uint32 giving_id = 13;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/ItemHint.proto b/protocol/proto/ItemHint.proto
new file mode 100644
index 00000000..0be1ad0f
--- /dev/null
+++ b/protocol/proto/ItemHint.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ItemHint {
+ uint32 item_id = 8;
+ bool is_new = 2;
+ uint32 count = 15;
+ uint64 guid = 4;
+}
diff --git a/protocol/proto/ItemParam.proto b/protocol/proto/ItemParam.proto
new file mode 100644
index 00000000..225c5afa
--- /dev/null
+++ b/protocol/proto/ItemParam.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ItemParam {
+ uint32 item_id = 1;
+ uint32 count = 2;
+}
diff --git a/protocol/proto/JigsawPictureData.proto b/protocol/proto/JigsawPictureData.proto
new file mode 100644
index 00000000..b6ef47ad
--- /dev/null
+++ b/protocol/proto/JigsawPictureData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message JigsawPictureData {
+ bool is_finished = 7;
+ uint32 shortest_time = 10;
+ bool is_open = 5;
+ uint32 last_duration = 6;
+}
diff --git a/protocol/proto/JoinHomeWorldFailNotify.proto b/protocol/proto/JoinHomeWorldFailNotify.proto
new file mode 100644
index 00000000..6e2728dc
--- /dev/null
+++ b/protocol/proto/JoinHomeWorldFailNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4530
+// EnetChannelId: 0
+// EnetIsReliable: true
+message JoinHomeWorldFailNotify {
+ uint32 target_uid = 6;
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/JoinPlayerFailNotify.proto b/protocol/proto/JoinPlayerFailNotify.proto
new file mode 100644
index 00000000..202d3032
--- /dev/null
+++ b/protocol/proto/JoinPlayerFailNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 236
+// EnetChannelId: 0
+// EnetIsReliable: true
+message JoinPlayerFailNotify {
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/JoinPlayerSceneReq.proto b/protocol/proto/JoinPlayerSceneReq.proto
new file mode 100644
index 00000000..c3e8c36a
--- /dev/null
+++ b/protocol/proto/JoinPlayerSceneReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 292
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message JoinPlayerSceneReq {
+ uint32 target_uid = 12;
+}
diff --git a/protocol/proto/JoinPlayerSceneRsp.proto b/protocol/proto/JoinPlayerSceneRsp.proto
new file mode 100644
index 00000000..6453cf4e
--- /dev/null
+++ b/protocol/proto/JoinPlayerSceneRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 220
+// EnetChannelId: 0
+// EnetIsReliable: true
+message JoinPlayerSceneRsp {
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/KeepAliveNotify.proto b/protocol/proto/KeepAliveNotify.proto
new file mode 100644
index 00000000..b7f21990
--- /dev/null
+++ b/protocol/proto/KeepAliveNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 72
+// EnetChannelId: 0
+// EnetIsReliable: true
+message KeepAliveNotify {}
diff --git a/protocol/proto/LanguageType.proto b/protocol/proto/LanguageType.proto
new file mode 100644
index 00000000..e208ddfb
--- /dev/null
+++ b/protocol/proto/LanguageType.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum LanguageType {
+ LANGUAGE_TYPE_NONE = 0;
+ LANGUAGE_TYPE_EN = 1;
+ LANGUAGE_TYPE_SC = 2;
+ LANGUAGE_TYPE_TC = 3;
+ LANGUAGE_TYPE_FR = 4;
+ LANGUAGE_TYPE_DE = 5;
+ LANGUAGE_TYPE_ES = 6;
+ LANGUAGE_TYPE_PT = 7;
+ LANGUAGE_TYPE_RU = 8;
+ LANGUAGE_TYPE_JP = 9;
+ LANGUAGE_TYPE_KR = 10;
+ LANGUAGE_TYPE_TH = 11;
+ LANGUAGE_TYPE_VN = 12;
+ LANGUAGE_TYPE_ID = 13;
+ LANGUAGE_TYPE_TR = 14;
+ LANGUAGE_TYPE_IT = 15;
+}
diff --git a/protocol/proto/LanternProjectionInfo.proto b/protocol/proto/LanternProjectionInfo.proto
new file mode 100644
index 00000000..febad592
--- /dev/null
+++ b/protocol/proto/LanternProjectionInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ClientInputType.proto";
+import "LanternProjectionLevelInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LanternProjectionInfo {
+ repeated ClientInputType view_switch_tips_list = 12;
+ repeated LanternProjectionLevelInfo level_list = 6;
+ repeated uint32 open_stage_list = 10;
+ repeated ClientInputType view_input_tips_list = 13;
+}
diff --git a/protocol/proto/LanternProjectionLevelInfo.proto b/protocol/proto/LanternProjectionLevelInfo.proto
new file mode 100644
index 00000000..0faa88c5
--- /dev/null
+++ b/protocol/proto/LanternProjectionLevelInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LanternProjectionLevelInfo {
+ uint32 min_finish_time = 1;
+ uint32 id = 2;
+ bool is_finished = 7;
+ bool is_can_start = 9;
+ bool is_show_tips = 10;
+}
diff --git a/protocol/proto/LanternRiteActivityDetailInfo.proto b/protocol/proto/LanternRiteActivityDetailInfo.proto
new file mode 100644
index 00000000..f9293b13
--- /dev/null
+++ b/protocol/proto/LanternRiteActivityDetailInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LanternProjectionInfo.proto";
+import "LanternRiteFireworksInfo.proto";
+import "SalvageStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LanternRiteActivityDetailInfo {
+ LanternProjectionInfo projection_info = 13;
+ repeated SalvageStageInfo stage_info_list = 5;
+ LanternRiteFireworksInfo fireworks_info = 8;
+ bool is_mini_eldritch_dungeon_open = 2;
+ bool is_content_closed = 14;
+ bool is_taken_skin_reward = 6;
+}
diff --git a/protocol/proto/LanternRiteDoFireworksReformReq.proto b/protocol/proto/LanternRiteDoFireworksReformReq.proto
new file mode 100644
index 00000000..d17548b5
--- /dev/null
+++ b/protocol/proto/LanternRiteDoFireworksReformReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8226
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LanternRiteDoFireworksReformReq {
+ uint32 stage_id = 12;
+ uint32 skill_id = 11;
+ uint32 challenge_id = 10;
+ uint32 factor_id = 13;
+}
diff --git a/protocol/proto/LanternRiteDoFireworksReformRsp.proto b/protocol/proto/LanternRiteDoFireworksReformRsp.proto
new file mode 100644
index 00000000..565de630
--- /dev/null
+++ b/protocol/proto/LanternRiteDoFireworksReformRsp.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LanternRiteFireworksReformFactorInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8657
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LanternRiteDoFireworksReformRsp {
+ uint32 stage_id = 7;
+ bool is_lucky = 13;
+ uint32 challenge_id = 8;
+ repeated LanternRiteFireworksReformFactorInfo factor_info_list = 2;
+ uint32 stamina_value = 10;
+ uint32 reform_score = 15;
+ uint32 fire_element_value = 11;
+ int32 retcode = 3;
+ uint32 fire_element_addition_ratio = 12;
+}
diff --git a/protocol/proto/LanternRiteEndFireworksReformReq.proto b/protocol/proto/LanternRiteEndFireworksReformReq.proto
new file mode 100644
index 00000000..b704a6f5
--- /dev/null
+++ b/protocol/proto/LanternRiteEndFireworksReformReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8277
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LanternRiteEndFireworksReformReq {
+ uint32 stage_id = 9;
+ uint32 challenge_id = 1;
+}
diff --git a/protocol/proto/LanternRiteEndFireworksReformRsp.proto b/protocol/proto/LanternRiteEndFireworksReformRsp.proto
new file mode 100644
index 00000000..a61226b1
--- /dev/null
+++ b/protocol/proto/LanternRiteEndFireworksReformRsp.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8933
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LanternRiteEndFireworksReformRsp {
+ bool is_full_score = 10;
+ int32 retcode = 1;
+ bool is_unlock_fireworks = 6;
+ uint32 stage_id = 15;
+ bool is_unlock_new_skill = 12;
+ bool is_stamina_up = 4;
+ uint32 final_score = 13;
+ uint32 challenge_id = 5;
+ bool is_new_record = 9;
+}
diff --git a/protocol/proto/LanternRiteFireworksChallengeInfo.proto b/protocol/proto/LanternRiteFireworksChallengeInfo.proto
new file mode 100644
index 00000000..030c2e82
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksChallengeInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LanternRiteFireworksChallengeInfo {
+ bool is_full_score = 13;
+ uint32 best_score = 7;
+ uint32 challenge_id = 3;
+}
diff --git a/protocol/proto/LanternRiteFireworksInfo.proto b/protocol/proto/LanternRiteFireworksInfo.proto
new file mode 100644
index 00000000..7a47ca9a
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LanternRiteFireworksStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LanternRiteFireworksInfo {
+ repeated LanternRiteFireworksStageInfo stage_info_list = 6;
+}
diff --git a/protocol/proto/LanternRiteFireworksReformFactorInfo.proto b/protocol/proto/LanternRiteFireworksReformFactorInfo.proto
new file mode 100644
index 00000000..bd57d892
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksReformFactorInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LanternRiteFireworksReformFactorInfo {
+ uint32 factor_value = 5;
+ uint32 factor_id = 13;
+}
diff --git a/protocol/proto/LanternRiteFireworksReformSkillInfo.proto b/protocol/proto/LanternRiteFireworksReformSkillInfo.proto
new file mode 100644
index 00000000..028b4c34
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksReformSkillInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LanternRiteFireworksReformSkillInfo {
+ uint32 skill_id = 2;
+ bool is_unlock = 11;
+ uint32 unlock_challenge_time = 1;
+ uint32 unlock_challenge_id = 14;
+}
diff --git a/protocol/proto/LanternRiteFireworksStageInfo.proto b/protocol/proto/LanternRiteFireworksStageInfo.proto
new file mode 100644
index 00000000..fa0c2256
--- /dev/null
+++ b/protocol/proto/LanternRiteFireworksStageInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LanternRiteFireworksChallengeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LanternRiteFireworksStageInfo {
+ bool is_open = 8;
+ repeated LanternRiteFireworksChallengeInfo challenge_info_list = 9;
+ uint32 stage_id = 15;
+}
diff --git a/protocol/proto/LanternRiteStartFireworksReformReq.proto b/protocol/proto/LanternRiteStartFireworksReformReq.proto
new file mode 100644
index 00000000..a75ac047
--- /dev/null
+++ b/protocol/proto/LanternRiteStartFireworksReformReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8518
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LanternRiteStartFireworksReformReq {
+ uint32 stage_id = 2;
+ uint32 challenge_id = 7;
+}
diff --git a/protocol/proto/LanternRiteStartFireworksReformRsp.proto b/protocol/proto/LanternRiteStartFireworksReformRsp.proto
new file mode 100644
index 00000000..0c3515c0
--- /dev/null
+++ b/protocol/proto/LanternRiteStartFireworksReformRsp.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LanternRiteFireworksReformFactorInfo.proto";
+import "LanternRiteFireworksReformSkillInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8862
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LanternRiteStartFireworksReformRsp {
+ repeated LanternRiteFireworksReformFactorInfo factor_info_list = 15;
+ uint32 fire_element_addition_ratio = 13;
+ uint32 stamina_value = 2;
+ repeated LanternRiteFireworksReformSkillInfo skill_info_list = 8;
+ uint32 reform_score = 6;
+ uint32 stage_id = 12;
+ uint32 challenge_id = 11;
+ uint32 fire_element_value = 14;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/LanternRiteTakeSkinRewardReq.proto b/protocol/proto/LanternRiteTakeSkinRewardReq.proto
new file mode 100644
index 00000000..43db7943
--- /dev/null
+++ b/protocol/proto/LanternRiteTakeSkinRewardReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8826
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LanternRiteTakeSkinRewardReq {}
diff --git a/protocol/proto/LanternRiteTakeSkinRewardRsp.proto b/protocol/proto/LanternRiteTakeSkinRewardRsp.proto
new file mode 100644
index 00000000..5017c9f1
--- /dev/null
+++ b/protocol/proto/LanternRiteTakeSkinRewardRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8777
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LanternRiteTakeSkinRewardRsp {
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/LastPacketPrintNotify.proto b/protocol/proto/LastPacketPrintNotify.proto
new file mode 100644
index 00000000..8176e8cd
--- /dev/null
+++ b/protocol/proto/LastPacketPrintNotify.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 88
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LastPacketPrintNotify {}
diff --git a/protocol/proto/LaunchFireworksReq.proto b/protocol/proto/LaunchFireworksReq.proto
new file mode 100644
index 00000000..1fe363f2
--- /dev/null
+++ b/protocol/proto/LaunchFireworksReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FireworksLaunchSchemeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6090
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LaunchFireworksReq {
+ FireworksLaunchSchemeData scheme_data = 13;
+}
diff --git a/protocol/proto/LaunchFireworksRsp.proto b/protocol/proto/LaunchFireworksRsp.proto
new file mode 100644
index 00000000..3de40569
--- /dev/null
+++ b/protocol/proto/LaunchFireworksRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6057
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LaunchFireworksRsp {
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/LeaveSceneReq.proto b/protocol/proto/LeaveSceneReq.proto
new file mode 100644
index 00000000..51314642
--- /dev/null
+++ b/protocol/proto/LeaveSceneReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 298
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LeaveSceneReq {}
diff --git a/protocol/proto/LeaveSceneRsp.proto b/protocol/proto/LeaveSceneRsp.proto
new file mode 100644
index 00000000..68953ae7
--- /dev/null
+++ b/protocol/proto/LeaveSceneRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 212
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LeaveSceneRsp {
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/LeaveWorldNotify.proto b/protocol/proto/LeaveWorldNotify.proto
new file mode 100644
index 00000000..610ff631
--- /dev/null
+++ b/protocol/proto/LeaveWorldNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3017
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LeaveWorldNotify {}
diff --git a/protocol/proto/LevelTagDataNotify.proto b/protocol/proto/LevelTagDataNotify.proto
new file mode 100644
index 00000000..32fd061d
--- /dev/null
+++ b/protocol/proto/LevelTagDataNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3314
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LevelTagDataNotify {
+ repeated uint32 level_tag_id_list = 9;
+}
diff --git a/protocol/proto/LevelupCityReq.proto b/protocol/proto/LevelupCityReq.proto
new file mode 100644
index 00000000..4fa54e38
--- /dev/null
+++ b/protocol/proto/LevelupCityReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 216
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LevelupCityReq {
+ uint32 scene_id = 5;
+ uint32 area_id = 3;
+ uint32 item_num = 14;
+}
diff --git a/protocol/proto/LevelupCityRsp.proto b/protocol/proto/LevelupCityRsp.proto
new file mode 100644
index 00000000..de60561a
--- /dev/null
+++ b/protocol/proto/LevelupCityRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 287
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LevelupCityRsp {
+ uint32 area_id = 9;
+ int32 retcode = 3;
+ uint32 scene_id = 4;
+ CityInfo city_info = 6;
+}
diff --git a/protocol/proto/LifeStateChangeNotify.proto b/protocol/proto/LifeStateChangeNotify.proto
new file mode 100644
index 00000000..e50adbab
--- /dev/null
+++ b/protocol/proto/LifeStateChangeNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerDieType.proto";
+import "ServerBuff.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1298
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LifeStateChangeNotify {
+ uint32 entity_id = 4;
+ repeated ServerBuff server_buff_list = 6;
+ string attack_tag = 7;
+ uint32 move_reliable_seq = 15;
+ PlayerDieType die_type = 14;
+ uint32 life_state = 5;
+ uint32 source_entity_id = 1;
+}
diff --git a/protocol/proto/LikeCustomDungeonReq.proto b/protocol/proto/LikeCustomDungeonReq.proto
new file mode 100644
index 00000000..ceec03a1
--- /dev/null
+++ b/protocol/proto/LikeCustomDungeonReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6210
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LikeCustomDungeonReq {
+ bool is_cancel_like = 5;
+ uint64 dungeon_guid = 10;
+}
diff --git a/protocol/proto/LikeCustomDungeonRsp.proto b/protocol/proto/LikeCustomDungeonRsp.proto
new file mode 100644
index 00000000..a299d401
--- /dev/null
+++ b/protocol/proto/LikeCustomDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6219
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LikeCustomDungeonRsp {
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/LiveEndNotify.proto b/protocol/proto/LiveEndNotify.proto
new file mode 100644
index 00000000..9b8d59df
--- /dev/null
+++ b/protocol/proto/LiveEndNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 806
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LiveEndNotify {
+ uint32 live_id = 5;
+}
diff --git a/protocol/proto/LiveStartNotify.proto b/protocol/proto/LiveStartNotify.proto
new file mode 100644
index 00000000..8705ec4d
--- /dev/null
+++ b/protocol/proto/LiveStartNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 826
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LiveStartNotify {
+ uint32 live_id = 2;
+}
diff --git a/protocol/proto/LoadActivityTerrainNotify.proto b/protocol/proto/LoadActivityTerrainNotify.proto
new file mode 100644
index 00000000..967e0354
--- /dev/null
+++ b/protocol/proto/LoadActivityTerrainNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2029
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LoadActivityTerrainNotify {
+ uint32 activity_id = 3;
+}
diff --git a/protocol/proto/LockedPersonallineData.proto b/protocol/proto/LockedPersonallineData.proto
new file mode 100644
index 00000000..6f9c747f
--- /dev/null
+++ b/protocol/proto/LockedPersonallineData.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LockedPersonallineData {
+ LockReason lock_reason = 2;
+ uint32 personal_line_id = 13;
+ oneof param {
+ uint32 chapter_id = 3;
+ uint32 level = 1;
+ }
+
+ enum LockReason {
+ LOCK_REASON_LEVEL = 0;
+ LOCK_REASON_QUEST = 1;
+ }
+}
diff --git a/protocol/proto/LuaEnvironmentEffectNotify.proto b/protocol/proto/LuaEnvironmentEffectNotify.proto
new file mode 100644
index 00000000..a73e138c
--- /dev/null
+++ b/protocol/proto/LuaEnvironmentEffectNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3408
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LuaEnvironmentEffectNotify {
+ uint32 type = 1;
+ repeated int32 int_param_list = 12;
+ string effect_alias = 3;
+ repeated float float_param_list = 14;
+}
diff --git a/protocol/proto/LuaSetOptionNotify.proto b/protocol/proto/LuaSetOptionNotify.proto
new file mode 100644
index 00000000..a69a7226
--- /dev/null
+++ b/protocol/proto/LuaSetOptionNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 316
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LuaSetOptionNotify {
+ string lua_set_param = 8;
+ LuaOptionType option_type = 10;
+
+ enum LuaOptionType {
+ LUA_OPTION_TYPE_NONE = 0;
+ LUA_OPTION_TYPE_PLAYER_INPUT = 1;
+ }
+}
diff --git a/protocol/proto/LuaShellType.proto b/protocol/proto/LuaShellType.proto
new file mode 100644
index 00000000..a8562ff1
--- /dev/null
+++ b/protocol/proto/LuaShellType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum LuaShellType {
+ LUA_SHELL_TYPE_LUASHELL_NONE = 0;
+ LUA_SHELL_TYPE_LUASHELL_NORMAL = 1;
+ LUA_SHELL_TYPE_LUASHELL_SECURITY = 2;
+ LUA_SHELL_TYPE_LUASHELL_SHELL_CODE = 3;
+}
diff --git a/protocol/proto/LuminanceStoneChallengeActivityDetailInfo.proto b/protocol/proto/LuminanceStoneChallengeActivityDetailInfo.proto
new file mode 100644
index 00000000..bc5991b2
--- /dev/null
+++ b/protocol/proto/LuminanceStoneChallengeActivityDetailInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LuminanceStoneChallengeActivityDetailInfo {
+ uint32 best_score = 11;
+ bool is_content_closed = 6;
+ bool is_final_gallery_complete = 12;
+ uint32 current_stage_id = 15;
+}
diff --git a/protocol/proto/LuminanceStoneChallengeGallerySettleInfo.proto b/protocol/proto/LuminanceStoneChallengeGallerySettleInfo.proto
new file mode 100644
index 00000000..0f71ff7b
--- /dev/null
+++ b/protocol/proto/LuminanceStoneChallengeGallerySettleInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LuminanceStoneChallengeGallerySettleInfo {
+ uint32 kill_monster_count = 12;
+ uint32 kill_special_monster_count = 8;
+ uint32 clean_mud_count = 10;
+ uint32 gallery_id = 2;
+ GalleryStopReason reason = 11;
+ uint32 final_score = 13;
+}
diff --git a/protocol/proto/LuminanceStoneChallengeSettleInfo.proto b/protocol/proto/LuminanceStoneChallengeSettleInfo.proto
new file mode 100644
index 00000000..61dc2796
--- /dev/null
+++ b/protocol/proto/LuminanceStoneChallengeSettleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LuminanceStoneChallengeGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LuminanceStoneChallengeSettleInfo {
+ LuminanceStoneChallengeGallerySettleInfo settle_info = 13;
+ bool is_new_record = 12;
+}
diff --git a/protocol/proto/LuminanceStoneChallengeSettleNotify.proto b/protocol/proto/LuminanceStoneChallengeSettleNotify.proto
new file mode 100644
index 00000000..89a5d6b2
--- /dev/null
+++ b/protocol/proto/LuminanceStoneChallengeSettleNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LuminanceStoneChallengeSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8186
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LuminanceStoneChallengeSettleNotify {
+ uint32 gallery_id = 10;
+ LuminanceStoneChallengeSettleInfo settle_info = 13;
+}
diff --git a/protocol/proto/LunaRiteAreaFinishNotify.proto b/protocol/proto/LunaRiteAreaFinishNotify.proto
new file mode 100644
index 00000000..2fd5685e
--- /dev/null
+++ b/protocol/proto/LunaRiteAreaFinishNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8213
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LunaRiteAreaFinishNotify {
+ uint32 area_id = 2;
+}
diff --git a/protocol/proto/LunaRiteAreaInfo.proto b/protocol/proto/LunaRiteAreaInfo.proto
new file mode 100644
index 00000000..c524ee69
--- /dev/null
+++ b/protocol/proto/LunaRiteAreaInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LunaRiteHintStatusType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LunaRiteAreaInfo {
+ repeated uint32 sacrifice_list = 11;
+ LunaRiteHintStatusType hint_status = 7;
+ repeated uint32 sacrifice_reward_list = 4;
+ uint32 area_id = 8;
+ uint32 challenge_index = 6;
+}
diff --git a/protocol/proto/LunaRiteDetailInfo.proto b/protocol/proto/LunaRiteDetailInfo.proto
new file mode 100644
index 00000000..d0341936
--- /dev/null
+++ b/protocol/proto/LunaRiteDetailInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LunaRiteAreaInfo.proto";
+import "LunaRiteHintPoint.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LunaRiteDetailInfo {
+ repeated LunaRiteHintPoint hint_point = 3;
+ repeated LunaRiteAreaInfo area_info_list = 13;
+}
diff --git a/protocol/proto/LunaRiteGroupBundleRegisterNotify.proto b/protocol/proto/LunaRiteGroupBundleRegisterNotify.proto
new file mode 100644
index 00000000..5f8b4678
--- /dev/null
+++ b/protocol/proto/LunaRiteGroupBundleRegisterNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8465
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LunaRiteGroupBundleRegisterNotify {
+ uint32 group_link_bundle_id = 11;
+}
diff --git a/protocol/proto/LunaRiteHintPoint.proto b/protocol/proto/LunaRiteHintPoint.proto
new file mode 100644
index 00000000..353d4f39
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPoint.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LunaRiteHintPointType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LunaRiteHintPoint {
+ uint32 area_id = 11;
+ uint32 index = 7;
+ LunaRiteHintPointType type = 2;
+ Vector pos = 10;
+}
diff --git a/protocol/proto/LunaRiteHintPointRemoveNotify.proto b/protocol/proto/LunaRiteHintPointRemoveNotify.proto
new file mode 100644
index 00000000..a28238ba
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPointRemoveNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8787
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LunaRiteHintPointRemoveNotify {
+ repeated uint32 hint_point_index = 14;
+}
diff --git a/protocol/proto/LunaRiteHintPointReq.proto b/protocol/proto/LunaRiteHintPointReq.proto
new file mode 100644
index 00000000..7b55f41e
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPointReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8195
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LunaRiteHintPointReq {
+ uint32 area_id = 13;
+}
diff --git a/protocol/proto/LunaRiteHintPointRsp.proto b/protocol/proto/LunaRiteHintPointRsp.proto
new file mode 100644
index 00000000..86f601d4
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPointRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LunaRiteHintPoint.proto";
+import "LunaRiteHintStatusType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8765
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LunaRiteHintPointRsp {
+ LunaRiteHintStatusType hint_status = 4;
+ uint32 area_id = 5;
+ int32 retcode = 13;
+ repeated LunaRiteHintPoint hint_point = 9;
+}
diff --git a/protocol/proto/LunaRiteHintPointType.proto b/protocol/proto/LunaRiteHintPointType.proto
new file mode 100644
index 00000000..ae4900b2
--- /dev/null
+++ b/protocol/proto/LunaRiteHintPointType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum LunaRiteHintPointType {
+ LUNA_RITE_HINT_POINT_TYPE_NONE = 0;
+ LUNA_RITE_HINT_POINT_TYPE_RUNE = 1;
+ LUNA_RITE_HINT_POINT_TYPE_CHEST = 2;
+}
diff --git a/protocol/proto/LunaRiteHintStatusType.proto b/protocol/proto/LunaRiteHintStatusType.proto
new file mode 100644
index 00000000..51d0d25e
--- /dev/null
+++ b/protocol/proto/LunaRiteHintStatusType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum LunaRiteHintStatusType {
+ LUNA_RITE_HINT_STATUS_TYPE_DEFAULT = 0;
+ LUNA_RITE_HINT_STATUS_TYPE_NO_COUNT = 1;
+ LUNA_RITE_HINT_STATUS_TYPE_FINISH = 2;
+}
diff --git a/protocol/proto/LunaRiteSacrificeReq.proto b/protocol/proto/LunaRiteSacrificeReq.proto
new file mode 100644
index 00000000..6641334a
--- /dev/null
+++ b/protocol/proto/LunaRiteSacrificeReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8805
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LunaRiteSacrificeReq {
+ uint32 area_id = 15;
+ uint32 index = 14;
+}
diff --git a/protocol/proto/LunaRiteSacrificeRsp.proto b/protocol/proto/LunaRiteSacrificeRsp.proto
new file mode 100644
index 00000000..69d9d04a
--- /dev/null
+++ b/protocol/proto/LunaRiteSacrificeRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8080
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LunaRiteSacrificeRsp {
+ uint32 area_id = 13;
+ repeated uint32 sacrifice_list = 14;
+ uint32 index = 8;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/LunaRiteTakeSacrificeRewardReq.proto b/protocol/proto/LunaRiteTakeSacrificeRewardReq.proto
new file mode 100644
index 00000000..c2fd9c95
--- /dev/null
+++ b/protocol/proto/LunaRiteTakeSacrificeRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8045
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message LunaRiteTakeSacrificeRewardReq {
+ uint32 area_id = 11;
+ uint32 index = 3;
+}
diff --git a/protocol/proto/LunaRiteTakeSacrificeRewardRsp.proto b/protocol/proto/LunaRiteTakeSacrificeRewardRsp.proto
new file mode 100644
index 00000000..9a5eaecc
--- /dev/null
+++ b/protocol/proto/LunaRiteTakeSacrificeRewardRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8397
+// EnetChannelId: 0
+// EnetIsReliable: true
+message LunaRiteTakeSacrificeRewardRsp {
+ uint32 index = 11;
+ repeated uint32 sacrifice_reward_list = 2;
+ uint32 sacrifice_reward_index = 14;
+ uint32 area_id = 6;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/LunchBoxData.proto b/protocol/proto/LunchBoxData.proto
new file mode 100644
index 00000000..a4431ba8
--- /dev/null
+++ b/protocol/proto/LunchBoxData.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message LunchBoxData {
+ map slot_material_map = 3;
+}
diff --git a/protocol/proto/MPLevelEntityInfo.proto b/protocol/proto/MPLevelEntityInfo.proto
new file mode 100644
index 00000000..332d0a5e
--- /dev/null
+++ b/protocol/proto/MPLevelEntityInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilitySyncStateInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MPLevelEntityInfo {
+ AbilitySyncStateInfo ability_info = 2;
+ uint32 entity_id = 11;
+ uint32 authority_peer_id = 3;
+}
diff --git a/protocol/proto/MailChangeNotify.proto b/protocol/proto/MailChangeNotify.proto
new file mode 100644
index 00000000..320477ce
--- /dev/null
+++ b/protocol/proto/MailChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MailData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1498
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MailChangeNotify {
+ repeated MailData mail_list = 14;
+ repeated uint32 del_mail_id_list = 8;
+}
diff --git a/protocol/proto/MailCollectState.proto b/protocol/proto/MailCollectState.proto
new file mode 100644
index 00000000..d3f0c266
--- /dev/null
+++ b/protocol/proto/MailCollectState.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MailCollectState {
+ MAIL_COLLECT_STATE_COLLECTIBLE_UNKNOWN = 0;
+ MAIL_COLLECT_STATE_NOT_COLLECTIBLE = 1;
+ MAIL_COLLECT_STATE_COLLECTIBLE_UNCOLLECTED = 2;
+ MAIL_COLLECT_STATE_COLLECTIBLE_COLLECTED = 3;
+}
diff --git a/protocol/proto/MailData.proto b/protocol/proto/MailData.proto
new file mode 100644
index 00000000..f427fcff
--- /dev/null
+++ b/protocol/proto/MailData.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MailCollectState.proto";
+import "MailItem.proto";
+import "MailTextContent.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MailData {
+ uint32 mail_id = 1;
+ MailTextContent mail_text_content = 4;
+ repeated MailItem item_list = 7;
+ uint32 send_time = 8;
+ uint32 expire_time = 9;
+ uint32 importance = 10;
+ bool is_read = 11;
+ bool is_attachment_got = 12;
+ uint32 config_id = 13;
+ repeated string argument_list = 14;
+ MailCollectState collect_state = 15;
+}
diff --git a/protocol/proto/MailItem.proto b/protocol/proto/MailItem.proto
new file mode 100644
index 00000000..255c3c81
--- /dev/null
+++ b/protocol/proto/MailItem.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EquipParam.proto";
+import "MaterialDeleteInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MailItem {
+ EquipParam equip_param = 1;
+ MaterialDeleteInfo delete_info = 2;
+}
diff --git a/protocol/proto/MailTextContent.proto b/protocol/proto/MailTextContent.proto
new file mode 100644
index 00000000..f67cbc0f
--- /dev/null
+++ b/protocol/proto/MailTextContent.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MailTextContent {
+ string title = 1;
+ string content = 2;
+ string sender = 3;
+}
diff --git a/protocol/proto/MainCoop.proto b/protocol/proto/MainCoop.proto
new file mode 100644
index 00000000..15f339c7
--- /dev/null
+++ b/protocol/proto/MainCoop.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MainCoop {
+ map seen_ending_map = 13;
+ map normal_var_map = 4;
+ uint32 self_confidence = 5;
+ repeated uint32 save_point_id_list = 1;
+ Status status = 6;
+ map temp_var_map = 11;
+ uint32 id = 9;
+
+ enum Status {
+ STATUS_INVALID = 0;
+ STATUS_RUNNING = 1;
+ STATUS_FINISHED = 2;
+ }
+}
diff --git a/protocol/proto/MainCoopFailNotify.proto b/protocol/proto/MainCoopFailNotify.proto
new file mode 100644
index 00000000..f73f47a0
--- /dev/null
+++ b/protocol/proto/MainCoopFailNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1951
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MainCoopFailNotify {
+ string textmap_id = 7;
+ uint32 chapter_id = 15;
+}
diff --git a/protocol/proto/MainCoopUpdateNotify.proto b/protocol/proto/MainCoopUpdateNotify.proto
new file mode 100644
index 00000000..83c508f9
--- /dev/null
+++ b/protocol/proto/MainCoopUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MainCoop.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1968
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MainCoopUpdateNotify {
+ repeated MainCoop main_coop_list = 5;
+}
diff --git a/protocol/proto/MapAreaChangeNotify.proto b/protocol/proto/MapAreaChangeNotify.proto
new file mode 100644
index 00000000..04fba674
--- /dev/null
+++ b/protocol/proto/MapAreaChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MapAreaInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3378
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MapAreaChangeNotify {
+ repeated MapAreaInfo map_area_info_list = 3;
+}
diff --git a/protocol/proto/MapAreaInfo.proto b/protocol/proto/MapAreaInfo.proto
new file mode 100644
index 00000000..22f86af3
--- /dev/null
+++ b/protocol/proto/MapAreaInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MapAreaInfo {
+ uint32 map_area_id = 1;
+ bool is_open = 2;
+}
diff --git a/protocol/proto/MapInfo.proto b/protocol/proto/MapInfo.proto
new file mode 100644
index 00000000..ca311313
--- /dev/null
+++ b/protocol/proto/MapInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CellInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MapInfo {
+ int32 minx = 1;
+ int32 maxx = 2;
+ int32 minz = 3;
+ int32 maxz = 4;
+ repeated CellInfo cells = 5;
+}
diff --git a/protocol/proto/MapMarkFromType.proto b/protocol/proto/MapMarkFromType.proto
new file mode 100644
index 00000000..fa76780f
--- /dev/null
+++ b/protocol/proto/MapMarkFromType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MapMarkFromType {
+ MAP_MARK_FROM_TYPE_NONE = 0;
+ MAP_MARK_FROM_TYPE_MONSTER = 1;
+ MAP_MARK_FROM_TYPE_QUEST = 2;
+}
diff --git a/protocol/proto/MapMarkPoint.proto b/protocol/proto/MapMarkPoint.proto
new file mode 100644
index 00000000..dfcb54ab
--- /dev/null
+++ b/protocol/proto/MapMarkPoint.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MapMarkFromType.proto";
+import "MapMarkPointType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MapMarkPoint {
+ uint32 scene_id = 1;
+ string name = 2;
+ Vector pos = 3;
+ MapMarkPointType point_type = 4;
+ uint32 monster_id = 5;
+ MapMarkFromType from_type = 6;
+ uint32 quest_id = 7;
+}
diff --git a/protocol/proto/MapMarkPointType.proto b/protocol/proto/MapMarkPointType.proto
new file mode 100644
index 00000000..377315de
--- /dev/null
+++ b/protocol/proto/MapMarkPointType.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MapMarkPointType {
+ MAP_MARK_POINT_TYPE_NPC = 0;
+ MAP_MARK_POINT_TYPE_QUEST = 1;
+ MAP_MARK_POINT_TYPE_SPECIAL = 2;
+ MAP_MARK_POINT_TYPE_MINE = 3;
+ MAP_MARK_POINT_TYPE_COLLECTION = 4;
+ MAP_MARK_POINT_TYPE_MONSTER = 5;
+ MAP_MARK_POINT_TYPE_FISH_POOL = 6;
+}
diff --git a/protocol/proto/MapMarkTipsInfo.proto b/protocol/proto/MapMarkTipsInfo.proto
new file mode 100644
index 00000000..46210d4b
--- /dev/null
+++ b/protocol/proto/MapMarkTipsInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MapMarkTipsType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MapMarkTipsInfo {
+ MapMarkTipsType tips_type = 1;
+ repeated uint32 point_id_list = 2;
+}
diff --git a/protocol/proto/MapMarkTipsType.proto b/protocol/proto/MapMarkTipsType.proto
new file mode 100644
index 00000000..539fc0ca
--- /dev/null
+++ b/protocol/proto/MapMarkTipsType.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MapMarkTipsType {
+ MAP_MARK_TIPS_TYPE_DUNGEON_ELEMENT_TRIAL = 0;
+}
diff --git a/protocol/proto/MarkEntityInMinMapNotify.proto b/protocol/proto/MarkEntityInMinMapNotify.proto
new file mode 100644
index 00000000..8aed063f
--- /dev/null
+++ b/protocol/proto/MarkEntityInMinMapNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 202
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MarkEntityInMinMapNotify {
+ Vector position = 4;
+ uint32 monster_id = 7;
+ uint32 entity_id = 14;
+}
diff --git a/protocol/proto/MarkMapReq.proto b/protocol/proto/MarkMapReq.proto
new file mode 100644
index 00000000..911b30c4
--- /dev/null
+++ b/protocol/proto/MarkMapReq.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MapMarkPoint.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3466
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MarkMapReq {
+ MapMarkPoint mark = 8;
+ MapMarkPoint old = 6;
+ Operation op = 9;
+
+ enum Operation {
+ OPERATION_ADD = 0;
+ OPERATION_MOD = 1;
+ OPERATION_DEL = 2;
+ OPERATION_GET = 3;
+ }
+}
diff --git a/protocol/proto/MarkMapRsp.proto b/protocol/proto/MarkMapRsp.proto
new file mode 100644
index 00000000..09b081ba
--- /dev/null
+++ b/protocol/proto/MarkMapRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MapMarkPoint.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3079
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MarkMapRsp {
+ repeated MapMarkPoint mark_list = 8;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/MarkNewNotify.proto b/protocol/proto/MarkNewNotify.proto
new file mode 100644
index 00000000..62dfc0fd
--- /dev/null
+++ b/protocol/proto/MarkNewNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1275
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MarkNewNotify {
+ repeated uint32 id_list = 7;
+ uint32 mark_new_type = 11;
+}
diff --git a/protocol/proto/MarkTargetInvestigationMonsterNotify.proto b/protocol/proto/MarkTargetInvestigationMonsterNotify.proto
new file mode 100644
index 00000000..0ceee428
--- /dev/null
+++ b/protocol/proto/MarkTargetInvestigationMonsterNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1915
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MarkTargetInvestigationMonsterNotify {
+ uint32 scene_id = 11;
+ uint32 monster_id = 4;
+ uint32 group_id = 5;
+ uint32 investigation_monster_id = 12;
+}
diff --git a/protocol/proto/MassiveBoxInfo.proto b/protocol/proto/MassiveBoxInfo.proto
new file mode 100644
index 00000000..6efd7d99
--- /dev/null
+++ b/protocol/proto/MassiveBoxInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MassiveBoxInfo {
+ int32 id = 1;
+ uint32 config_id = 2;
+ Vector center = 3;
+ Vector extents = 4;
+ Vector up = 5;
+ Vector forward = 6;
+ Vector right = 7;
+}
diff --git a/protocol/proto/MassiveEntityElementOpBatchNotify.proto b/protocol/proto/MassiveEntityElementOpBatchNotify.proto
new file mode 100644
index 00000000..10350f16
--- /dev/null
+++ b/protocol/proto/MassiveEntityElementOpBatchNotify.proto
@@ -0,0 +1,41 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ShapeBox.proto";
+import "ShapeSphere.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 357
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MassiveEntityElementOpBatchNotify {
+ int32 entity_type = 6;
+ uint32 op_idx = 9;
+ uint32 user_id = 11;
+ uint32 attacker_id = 3;
+ int32 source_element_type = 12;
+ int32 reaction_source_type = 4;
+ float attack_element_durability = 7;
+ oneof check_shape {
+ ShapeSphere shape_sphere = 10;
+ ShapeBox shape_box = 2;
+ }
+}
diff --git a/protocol/proto/MassiveEntityState.proto b/protocol/proto/MassiveEntityState.proto
new file mode 100644
index 00000000..7761abd7
--- /dev/null
+++ b/protocol/proto/MassiveEntityState.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MassiveEntityState {
+ uint32 entity_type = 1;
+ int64 obj_id = 2;
+ uint32 element_state = 3;
+}
diff --git a/protocol/proto/MassiveEntityStateChangedNotify.proto b/protocol/proto/MassiveEntityStateChangedNotify.proto
new file mode 100644
index 00000000..f1afaa30
--- /dev/null
+++ b/protocol/proto/MassiveEntityStateChangedNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MassiveEntityState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 370
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MassiveEntityStateChangedNotify {
+ repeated MassiveEntityState massive_entity_state_list = 4;
+}
diff --git a/protocol/proto/MassiveGrassInfo.proto b/protocol/proto/MassiveGrassInfo.proto
new file mode 100644
index 00000000..68478564
--- /dev/null
+++ b/protocol/proto/MassiveGrassInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MassiveGrassInfo {
+ uint32 id = 1;
+ Vector center = 2;
+ Vector size = 3;
+}
diff --git a/protocol/proto/MassivePropParam.proto b/protocol/proto/MassivePropParam.proto
new file mode 100644
index 00000000..5698ccdb
--- /dev/null
+++ b/protocol/proto/MassivePropParam.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MassivePropParam {
+ int32 type = 1;
+ repeated uint32 reaction_info_list = 2;
+ repeated float param_list = 3;
+ uint32 sync_flag = 4;
+}
diff --git a/protocol/proto/MassivePropSyncInfo.proto b/protocol/proto/MassivePropSyncInfo.proto
new file mode 100644
index 00000000..66a71407
--- /dev/null
+++ b/protocol/proto/MassivePropSyncInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MassivePropParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MassivePropSyncInfo {
+ int64 id = 1;
+ repeated MassivePropParam prop_list = 2;
+}
diff --git a/protocol/proto/MassiveWaterInfo.proto b/protocol/proto/MassiveWaterInfo.proto
new file mode 100644
index 00000000..88564495
--- /dev/null
+++ b/protocol/proto/MassiveWaterInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MassiveWaterInfo {
+ int64 id = 1;
+}
diff --git a/protocol/proto/MatchPlayerInfo.proto b/protocol/proto/MatchPlayerInfo.proto
new file mode 100644
index 00000000..203ec197
--- /dev/null
+++ b/protocol/proto/MatchPlayerInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MatchPlayerInfo {
+ bool is_agreed = 9;
+ OnlinePlayerInfo player_info = 2;
+}
diff --git a/protocol/proto/MatchReason.proto b/protocol/proto/MatchReason.proto
new file mode 100644
index 00000000..4114f721
--- /dev/null
+++ b/protocol/proto/MatchReason.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MatchReason {
+ MATCH_REASON_NONE = 0;
+ MATCH_REASON_FINISH = 1;
+ MATCH_REASON_PLAYER_CANCEL = 2;
+ MATCH_REASON_TIMEOUT = 3;
+ MATCH_REASON_PLAYER_CONFIRM = 4;
+ MATCH_REASON_FAILED = 5;
+ MATCH_REASON_SYSTEM_ERROR = 6;
+ MATCH_REASON_INTERRUPTED = 7;
+ MATCH_REASON_MP_UNAVAILABLE = 8;
+ MATCH_REASON_CONFIRM_TIMEOUT = 9;
+}
diff --git a/protocol/proto/MatchType.proto b/protocol/proto/MatchType.proto
new file mode 100644
index 00000000..50bdd053
--- /dev/null
+++ b/protocol/proto/MatchType.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MatchType {
+ MATCH_TYPE_NONE = 0;
+ MATCH_TYPE_DUNGEON = 1;
+ MATCH_TYPE_MP_PLAY = 2;
+ MATCH_TYPE_MECHANICUS = 3;
+ MATCH_TYPE_GENERAL = 4;
+ MATCH_TYPE_GCG = 5;
+}
diff --git a/protocol/proto/Material.proto b/protocol/proto/Material.proto
new file mode 100644
index 00000000..ee7264d1
--- /dev/null
+++ b/protocol/proto/Material.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MaterialDeleteInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Material {
+ uint32 count = 1;
+ MaterialDeleteInfo delete_info = 2;
+}
diff --git a/protocol/proto/MaterialDeleteInfo.proto b/protocol/proto/MaterialDeleteInfo.proto
new file mode 100644
index 00000000..d1db705b
--- /dev/null
+++ b/protocol/proto/MaterialDeleteInfo.proto
@@ -0,0 +1,44 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MaterialDeleteInfo {
+ bool has_delete_config = 1;
+ oneof delete_info {
+ CountDownDelete count_down_delete = 2;
+ DateTimeDelete date_delete = 3;
+ DelayWeekCountDownDelete delay_week_count_down_delete = 4;
+ }
+
+ message CountDownDelete {
+ map delete_time_num_map = 1;
+ uint32 config_count_down_time = 2;
+ }
+
+ message DateTimeDelete {
+ uint32 delete_time = 1;
+ }
+
+ message DelayWeekCountDownDelete {
+ map delete_time_num_map = 1;
+ uint32 config_delay_week = 2;
+ uint32 config_count_down_time = 3;
+ }
+}
diff --git a/protocol/proto/MaterialDeleteReturnNotify.proto b/protocol/proto/MaterialDeleteReturnNotify.proto
new file mode 100644
index 00000000..b696cd7b
--- /dev/null
+++ b/protocol/proto/MaterialDeleteReturnNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MaterialDeleteReturnType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 661
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MaterialDeleteReturnNotify {
+ map return_item_map = 5;
+ MaterialDeleteReturnType type = 8;
+ map delete_material_map = 6;
+}
diff --git a/protocol/proto/MaterialDeleteReturnType.proto b/protocol/proto/MaterialDeleteReturnType.proto
new file mode 100644
index 00000000..402ac52a
--- /dev/null
+++ b/protocol/proto/MaterialDeleteReturnType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MaterialDeleteReturnType {
+ MATERIAL_DELETE_RETURN_TYPE_BAG = 0;
+ MATERIAL_DELETE_RETURN_TYPE_SEED = 1;
+}
diff --git a/protocol/proto/MaterialDeleteUpdateNotify.proto b/protocol/proto/MaterialDeleteUpdateNotify.proto
new file mode 100644
index 00000000..1b1514ee
--- /dev/null
+++ b/protocol/proto/MaterialDeleteUpdateNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 700
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MaterialDeleteUpdateNotify {}
diff --git a/protocol/proto/MaterialInfo.proto b/protocol/proto/MaterialInfo.proto
new file mode 100644
index 00000000..637e4b1d
--- /dev/null
+++ b/protocol/proto/MaterialInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MaterialInfo {
+ uint32 count = 11;
+ uint64 guid = 5;
+}
diff --git a/protocol/proto/MathQuaternion.proto b/protocol/proto/MathQuaternion.proto
new file mode 100644
index 00000000..13cbdb14
--- /dev/null
+++ b/protocol/proto/MathQuaternion.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MathQuaternion {
+ float x = 1;
+ float y = 2;
+ float z = 3;
+ float w = 4;
+}
diff --git a/protocol/proto/McoinExchangeHcoinReq.proto b/protocol/proto/McoinExchangeHcoinReq.proto
new file mode 100644
index 00000000..47010273
--- /dev/null
+++ b/protocol/proto/McoinExchangeHcoinReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 616
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message McoinExchangeHcoinReq {
+ uint32 hcoin = 5;
+ uint32 mcoin_cost = 1;
+}
diff --git a/protocol/proto/McoinExchangeHcoinRsp.proto b/protocol/proto/McoinExchangeHcoinRsp.proto
new file mode 100644
index 00000000..0bee4676
--- /dev/null
+++ b/protocol/proto/McoinExchangeHcoinRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 687
+// EnetChannelId: 0
+// EnetIsReliable: true
+message McoinExchangeHcoinRsp {
+ uint32 mcoin_cost = 8;
+ uint32 hcoin = 7;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/MechanicusCandidateTeamCreateReq.proto b/protocol/proto/MechanicusCandidateTeamCreateReq.proto
new file mode 100644
index 00000000..1b73ab03
--- /dev/null
+++ b/protocol/proto/MechanicusCandidateTeamCreateReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3981
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MechanicusCandidateTeamCreateReq {
+ uint32 difficult_level = 6;
+}
diff --git a/protocol/proto/MechanicusCandidateTeamCreateRsp.proto b/protocol/proto/MechanicusCandidateTeamCreateRsp.proto
new file mode 100644
index 00000000..fbe974de
--- /dev/null
+++ b/protocol/proto/MechanicusCandidateTeamCreateRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3905
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MechanicusCandidateTeamCreateRsp {
+ uint32 dungeon_id = 1;
+ int32 retcode = 7;
+ uint32 difficult_level = 10;
+}
diff --git a/protocol/proto/MechanicusCloseNotify.proto b/protocol/proto/MechanicusCloseNotify.proto
new file mode 100644
index 00000000..8876a258
--- /dev/null
+++ b/protocol/proto/MechanicusCloseNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3921
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MechanicusCloseNotify {
+ uint32 mechanicus_id = 6;
+}
diff --git a/protocol/proto/MechanicusCoinNotify.proto b/protocol/proto/MechanicusCoinNotify.proto
new file mode 100644
index 00000000..1782af5b
--- /dev/null
+++ b/protocol/proto/MechanicusCoinNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3935
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MechanicusCoinNotify {
+ uint32 mechanicus_id = 7;
+ uint32 coin = 4;
+}
diff --git a/protocol/proto/MechanicusInfo.proto b/protocol/proto/MechanicusInfo.proto
new file mode 100644
index 00000000..115975ca
--- /dev/null
+++ b/protocol/proto/MechanicusInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Uint32Pair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MechanicusInfo {
+ repeated Uint32Pair gear_level_pair_list = 14;
+ repeated uint32 open_sequence_id_list = 7;
+ uint32 coin = 8;
+ uint32 punish_over_time = 12;
+ uint32 mechanicus_id = 10;
+ repeated uint32 finish_difficult_level_list = 13;
+ bool is_finish_teach_dungeon = 4;
+}
diff --git a/protocol/proto/MechanicusLevelupGearReq.proto b/protocol/proto/MechanicusLevelupGearReq.proto
new file mode 100644
index 00000000..bcd5aa1d
--- /dev/null
+++ b/protocol/proto/MechanicusLevelupGearReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3973
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MechanicusLevelupGearReq {
+ uint32 gear_id = 14;
+ uint32 mechanicus_id = 12;
+}
diff --git a/protocol/proto/MechanicusLevelupGearRsp.proto b/protocol/proto/MechanicusLevelupGearRsp.proto
new file mode 100644
index 00000000..22c28b74
--- /dev/null
+++ b/protocol/proto/MechanicusLevelupGearRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3999
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MechanicusLevelupGearRsp {
+ uint32 gear_id = 7;
+ uint32 mechanicus_id = 2;
+ uint32 after_gear_level = 12;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/MechanicusOpenNotify.proto b/protocol/proto/MechanicusOpenNotify.proto
new file mode 100644
index 00000000..f4a8a2f8
--- /dev/null
+++ b/protocol/proto/MechanicusOpenNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3907
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MechanicusOpenNotify {
+ uint32 mechanicus_id = 2;
+}
diff --git a/protocol/proto/MechanicusSequenceOpenNotify.proto b/protocol/proto/MechanicusSequenceOpenNotify.proto
new file mode 100644
index 00000000..93ad7336
--- /dev/null
+++ b/protocol/proto/MechanicusSequenceOpenNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3912
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MechanicusSequenceOpenNotify {
+ uint32 mechanicus_id = 8;
+ uint32 sequence_id = 7;
+}
diff --git a/protocol/proto/MechanicusUnlockGearReq.proto b/protocol/proto/MechanicusUnlockGearReq.proto
new file mode 100644
index 00000000..533a2025
--- /dev/null
+++ b/protocol/proto/MechanicusUnlockGearReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3903
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MechanicusUnlockGearReq {
+ uint32 mechanicus_id = 7;
+ uint32 gear_id = 6;
+}
diff --git a/protocol/proto/MechanicusUnlockGearRsp.proto b/protocol/proto/MechanicusUnlockGearRsp.proto
new file mode 100644
index 00000000..b2287361
--- /dev/null
+++ b/protocol/proto/MechanicusUnlockGearRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3990
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MechanicusUnlockGearRsp {
+ int32 retcode = 3;
+ uint32 mechanicus_id = 8;
+ uint32 gear_id = 14;
+}
diff --git a/protocol/proto/MeetNpcReq.proto b/protocol/proto/MeetNpcReq.proto
new file mode 100644
index 00000000..d52d7f81
--- /dev/null
+++ b/protocol/proto/MeetNpcReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 503
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MeetNpcReq {
+ uint32 npc_id = 4;
+}
diff --git a/protocol/proto/MeetNpcRsp.proto b/protocol/proto/MeetNpcRsp.proto
new file mode 100644
index 00000000..6f443c3e
--- /dev/null
+++ b/protocol/proto/MeetNpcRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 590
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MeetNpcRsp {
+ int32 retcode = 14;
+ uint32 npc_first_met_id = 8;
+}
diff --git a/protocol/proto/MetNpcIdListNotify.proto b/protocol/proto/MetNpcIdListNotify.proto
new file mode 100644
index 00000000..d8838419
--- /dev/null
+++ b/protocol/proto/MetNpcIdListNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 521
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MetNpcIdListNotify {
+ repeated uint32 npc_first_met_id_list = 9;
+}
diff --git a/protocol/proto/MichiaeMatsuriActivityDetailInfo.proto b/protocol/proto/MichiaeMatsuriActivityDetailInfo.proto
new file mode 100644
index 00000000..6e2100b7
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriActivityDetailInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MichiaeMatsuriChallengePositionInfo.proto";
+import "MichiaeMatsuriChestPositionInfo.proto";
+import "MichiaeMatsuriStage.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MichiaeMatsuriActivityDetailInfo {
+ repeated MichiaeMatsuriChallengePositionInfo challenge_pos_list = 6;
+ uint32 gain_crystal_exp = 13;
+ repeated uint32 unlocked_crystal_skill_list = 2;
+ repeated MichiaeMatsuriChestPositionInfo chest_pos_list = 10;
+ repeated MichiaeMatsuriStage stage_list = 14;
+}
diff --git a/protocol/proto/MichiaeMatsuriChallengePositionInfo.proto b/protocol/proto/MichiaeMatsuriChallengePositionInfo.proto
new file mode 100644
index 00000000..f818c23a
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriChallengePositionInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MichiaeMatsuriChallengePositionInfo {
+ uint32 group_id = 4;
+ uint32 gadget_id = 7;
+ Vector pos = 8;
+}
diff --git a/protocol/proto/MichiaeMatsuriChestPositionInfo.proto b/protocol/proto/MichiaeMatsuriChestPositionInfo.proto
new file mode 100644
index 00000000..b2836906
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriChestPositionInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MichiaeMatsuriChestPositionInfo {
+ Vector pos = 10;
+ uint32 group_id = 2;
+ uint32 config_id = 11;
+}
diff --git a/protocol/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto b/protocol/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto
new file mode 100644
index 00000000..4ff92a49
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriDarkPressureLevelUpdateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8825
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MichiaeMatsuriDarkPressureLevelUpdateNotify {
+ uint32 dark_pressure_level = 8;
+}
diff --git a/protocol/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto b/protocol/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto
new file mode 100644
index 00000000..c9ed71cd
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriGainCrystalExpUpdateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8523
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MichiaeMatsuriGainCrystalExpUpdateNotify {
+ uint32 gain_crystal_exp = 2;
+ uint32 activity_id = 3;
+}
diff --git a/protocol/proto/MichiaeMatsuriInteractStatueReq.proto b/protocol/proto/MichiaeMatsuriInteractStatueReq.proto
new file mode 100644
index 00000000..1cd6d1cf
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriInteractStatueReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8718
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MichiaeMatsuriInteractStatueReq {
+ uint32 statue_entity_id = 7;
+}
diff --git a/protocol/proto/MichiaeMatsuriInteractStatueRsp.proto b/protocol/proto/MichiaeMatsuriInteractStatueRsp.proto
new file mode 100644
index 00000000..7bde9781
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriInteractStatueRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8449
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MichiaeMatsuriInteractStatueRsp {
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto b/protocol/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto
new file mode 100644
index 00000000..58aab78a
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriRemoveChallengeMarkNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8072
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MichiaeMatsuriRemoveChallengeMarkNotify {
+ uint32 gadget_id = 9;
+ uint32 group_id = 2;
+}
diff --git a/protocol/proto/MichiaeMatsuriRemoveChestMarkNotify.proto b/protocol/proto/MichiaeMatsuriRemoveChestMarkNotify.proto
new file mode 100644
index 00000000..84eeb66e
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriRemoveChestMarkNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8726
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MichiaeMatsuriRemoveChestMarkNotify {
+ uint32 config_id = 9;
+ uint32 group_id = 11;
+}
diff --git a/protocol/proto/MichiaeMatsuriStage.proto b/protocol/proto/MichiaeMatsuriStage.proto
new file mode 100644
index 00000000..5d6c1ea4
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStage.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MichiaeMatsuriStage {
+ bool is_open = 11;
+ uint32 open_time = 5;
+ uint32 stage_id = 12;
+}
diff --git a/protocol/proto/MichiaeMatsuriStartBossChallengeReq.proto b/protocol/proto/MichiaeMatsuriStartBossChallengeReq.proto
new file mode 100644
index 00000000..6aebb0f2
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStartBossChallengeReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8703
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MichiaeMatsuriStartBossChallengeReq {
+ uint32 difficulty = 5;
+ uint32 gadget_entity_id = 15;
+}
diff --git a/protocol/proto/MichiaeMatsuriStartBossChallengeRsp.proto b/protocol/proto/MichiaeMatsuriStartBossChallengeRsp.proto
new file mode 100644
index 00000000..bd32d7f4
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStartBossChallengeRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8426
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MichiaeMatsuriStartBossChallengeRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/MichiaeMatsuriStartDarkChallengeReq.proto b/protocol/proto/MichiaeMatsuriStartDarkChallengeReq.proto
new file mode 100644
index 00000000..86bd4f73
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStartDarkChallengeReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8054
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MichiaeMatsuriStartDarkChallengeReq {
+ uint32 worktop_entity_id = 2;
+}
diff --git a/protocol/proto/MichiaeMatsuriStartDarkChallengeRsp.proto b/protocol/proto/MichiaeMatsuriStartDarkChallengeRsp.proto
new file mode 100644
index 00000000..e0fc51fd
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriStartDarkChallengeRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8791
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MichiaeMatsuriStartDarkChallengeRsp {
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto b/protocol/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto
new file mode 100644
index 00000000..e50af192
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriUnlockCrystalSkillReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8345
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MichiaeMatsuriUnlockCrystalSkillReq {
+ uint32 crystal_skill_id = 1;
+}
diff --git a/protocol/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto b/protocol/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto
new file mode 100644
index 00000000..f0d06f14
--- /dev/null
+++ b/protocol/proto/MichiaeMatsuriUnlockCrystalSkillRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8588
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MichiaeMatsuriUnlockCrystalSkillRsp {
+ uint32 crystal_skill_id = 1;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/MiracleRingDataNotify.proto b/protocol/proto/MiracleRingDataNotify.proto
new file mode 100644
index 00000000..ed7a497e
--- /dev/null
+++ b/protocol/proto/MiracleRingDataNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5225
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MiracleRingDataNotify {
+ bool is_gadget_created = 8;
+ uint32 last_take_reward_time = 14;
+ uint32 gadget_entity_id = 12;
+ uint32 last_deliver_item_time = 10;
+ uint32 miracle_ring_cd = 7;
+}
diff --git a/protocol/proto/MiracleRingDeliverItemReq.proto b/protocol/proto/MiracleRingDeliverItemReq.proto
new file mode 100644
index 00000000..539e7811
--- /dev/null
+++ b/protocol/proto/MiracleRingDeliverItemReq.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InterOpType.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5229
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MiracleRingDeliverItemReq {
+ InterOpType op_type = 9;
+ repeated ItemParam item_param_list = 1;
+ repeated uint64 food_weapon_guid_list = 4;
+ uint32 gadget_id = 14;
+ uint32 gadget_entity_id = 5;
+}
diff --git a/protocol/proto/MiracleRingDeliverItemRsp.proto b/protocol/proto/MiracleRingDeliverItemRsp.proto
new file mode 100644
index 00000000..a1fad0b2
--- /dev/null
+++ b/protocol/proto/MiracleRingDeliverItemRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InterOpType.proto";
+import "InteractType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5222
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MiracleRingDeliverItemRsp {
+ InteractType interact_type = 15;
+ int32 retcode = 11;
+ InterOpType op_type = 14;
+ uint32 gadget_id = 4;
+ uint32 gadget_entity_id = 9;
+}
diff --git a/protocol/proto/MiracleRingDestroyNotify.proto b/protocol/proto/MiracleRingDestroyNotify.proto
new file mode 100644
index 00000000..2125c1bd
--- /dev/null
+++ b/protocol/proto/MiracleRingDestroyNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5244
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MiracleRingDestroyNotify {
+ uint32 entity_id = 7;
+}
diff --git a/protocol/proto/MiracleRingDropResultNotify.proto b/protocol/proto/MiracleRingDropResultNotify.proto
new file mode 100644
index 00000000..8807b3ba
--- /dev/null
+++ b/protocol/proto/MiracleRingDropResultNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5231
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MiracleRingDropResultNotify {
+ int32 last_take_reward_time = 5;
+ int32 drop_result = 9;
+}
diff --git a/protocol/proto/MiracleRingTakeRewardReq.proto b/protocol/proto/MiracleRingTakeRewardReq.proto
new file mode 100644
index 00000000..1c59a02d
--- /dev/null
+++ b/protocol/proto/MiracleRingTakeRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5207
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MiracleRingTakeRewardReq {
+ uint32 gadget_id = 11;
+ uint32 gadget_entity_id = 7;
+}
diff --git a/protocol/proto/MiracleRingTakeRewardRsp.proto b/protocol/proto/MiracleRingTakeRewardRsp.proto
new file mode 100644
index 00000000..440b1bdf
--- /dev/null
+++ b/protocol/proto/MiracleRingTakeRewardRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5202
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MiracleRingTakeRewardRsp {
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/MistTrialActivityDetailInfo.proto b/protocol/proto/MistTrialActivityDetailInfo.proto
new file mode 100644
index 00000000..21fd3f92
--- /dev/null
+++ b/protocol/proto/MistTrialActivityDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MistTrialLevelData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MistTrialActivityDetailInfo {
+ repeated MistTrialLevelData trial_level_data_list = 5;
+}
diff --git a/protocol/proto/MistTrialDunegonFailNotify.proto b/protocol/proto/MistTrialDunegonFailNotify.proto
new file mode 100644
index 00000000..843452d4
--- /dev/null
+++ b/protocol/proto/MistTrialDunegonFailNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8135
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MistTrialDunegonFailNotify {
+ int32 dungeon_id = 9;
+}
diff --git a/protocol/proto/MistTrialGetChallengeMissionReq.proto b/protocol/proto/MistTrialGetChallengeMissionReq.proto
new file mode 100644
index 00000000..56c9d1ad
--- /dev/null
+++ b/protocol/proto/MistTrialGetChallengeMissionReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8893
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MistTrialGetChallengeMissionReq {
+ uint32 trial_id = 9;
+}
diff --git a/protocol/proto/MistTrialGetChallengeMissionRsp.proto b/protocol/proto/MistTrialGetChallengeMissionRsp.proto
new file mode 100644
index 00000000..8978b578
--- /dev/null
+++ b/protocol/proto/MistTrialGetChallengeMissionRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MistTrialMissionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8508
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MistTrialGetChallengeMissionRsp {
+ uint32 trial_id = 1;
+ repeated MistTrialMissionInfo mission_info_list = 15;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/MistTrialGetDungeonExhibitionDataReq.proto b/protocol/proto/MistTrialGetDungeonExhibitionDataReq.proto
new file mode 100644
index 00000000..c0336891
--- /dev/null
+++ b/protocol/proto/MistTrialGetDungeonExhibitionDataReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8740
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MistTrialGetDungeonExhibitionDataReq {
+ uint32 trial_id = 13;
+}
diff --git a/protocol/proto/MistTrialGetDungeonExhibitionDataRsp.proto b/protocol/proto/MistTrialGetDungeonExhibitionDataRsp.proto
new file mode 100644
index 00000000..234a3198
--- /dev/null
+++ b/protocol/proto/MistTrialGetDungeonExhibitionDataRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8066
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MistTrialGetDungeonExhibitionDataRsp {
+ uint32 trial_id = 12;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/MistTrialLevelData.proto b/protocol/proto/MistTrialLevelData.proto
new file mode 100644
index 00000000..875d4383
--- /dev/null
+++ b/protocol/proto/MistTrialLevelData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MistTrialLevelData {
+ uint32 open_time = 1;
+ bool is_open = 12;
+ uint32 level_id = 7;
+}
diff --git a/protocol/proto/MistTrialMissionInfo.proto b/protocol/proto/MistTrialMissionInfo.proto
new file mode 100644
index 00000000..836dfce6
--- /dev/null
+++ b/protocol/proto/MistTrialMissionInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MistTrialMissionInfo {
+ uint32 param = 9;
+ uint32 watcher_list_id = 13;
+}
diff --git a/protocol/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto b/protocol/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto
new file mode 100644
index 00000000..e6a041f6
--- /dev/null
+++ b/protocol/proto/MistTrialSelectAvatarAndEnterDungeonReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8666
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MistTrialSelectAvatarAndEnterDungeonReq {
+ uint32 trial_id = 4;
+ repeated uint32 select_trial_avatar_id_list = 10;
+ uint32 enter_point_id = 7;
+}
diff --git a/protocol/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto b/protocol/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto
new file mode 100644
index 00000000..bbc39f49
--- /dev/null
+++ b/protocol/proto/MistTrialSelectAvatarAndEnterDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8239
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MistTrialSelectAvatarAndEnterDungeonRsp {
+ uint32 trial_id = 1;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/MistTrialSettleNotify.proto b/protocol/proto/MistTrialSettleNotify.proto
new file mode 100644
index 00000000..c308e843
--- /dev/null
+++ b/protocol/proto/MistTrialSettleNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8373
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MistTrialSettleNotify {
+ map exhibition_list_data_record_map = 15;
+ map exhibition_list_data_result_map = 14;
+ uint32 dungeon_id = 5;
+}
diff --git a/protocol/proto/ModifierAction.proto b/protocol/proto/ModifierAction.proto
new file mode 100644
index 00000000..204840c4
--- /dev/null
+++ b/protocol/proto/ModifierAction.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ModifierAction {
+ MODIFIER_ACTION_ADDED = 0;
+ MODIFIER_ACTION_REMOVED = 1;
+}
diff --git a/protocol/proto/ModifierDurability.proto b/protocol/proto/ModifierDurability.proto
new file mode 100644
index 00000000..46be76ee
--- /dev/null
+++ b/protocol/proto/ModifierDurability.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ModifierDurability {
+ float reduce_ratio = 1;
+ float remaining_durability = 2;
+}
diff --git a/protocol/proto/ModifierProperty.proto b/protocol/proto/ModifierProperty.proto
new file mode 100644
index 00000000..ab530ddd
--- /dev/null
+++ b/protocol/proto/ModifierProperty.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityString.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ModifierProperty {
+ AbilityString key = 15;
+ float value = 5;
+}
diff --git a/protocol/proto/MonsterAIConfigHashNotify.proto b/protocol/proto/MonsterAIConfigHashNotify.proto
new file mode 100644
index 00000000..c8373d80
--- /dev/null
+++ b/protocol/proto/MonsterAIConfigHashNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3039
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MonsterAIConfigHashNotify {
+ uint32 job_id = 10;
+ uint32 entity_id = 15;
+ int32 hash_value = 11;
+}
diff --git a/protocol/proto/MonsterAlertChangeNotify.proto b/protocol/proto/MonsterAlertChangeNotify.proto
new file mode 100644
index 00000000..e8db7abd
--- /dev/null
+++ b/protocol/proto/MonsterAlertChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 363
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MonsterAlertChangeNotify {
+ uint32 avatar_entity_id = 15;
+ repeated uint32 monster_entity_list = 5;
+ uint32 is_alert = 13;
+}
diff --git a/protocol/proto/MonsterBornType.proto b/protocol/proto/MonsterBornType.proto
new file mode 100644
index 00000000..3b061c93
--- /dev/null
+++ b/protocol/proto/MonsterBornType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MonsterBornType {
+ MONSTER_BORN_TYPE_NONE = 0;
+ MONSTER_BORN_TYPE_DEFAULT = 1;
+ MONSTER_BORN_TYPE_RANDOM = 2;
+}
diff --git a/protocol/proto/MonsterForceAlertNotify.proto b/protocol/proto/MonsterForceAlertNotify.proto
new file mode 100644
index 00000000..edba18ad
--- /dev/null
+++ b/protocol/proto/MonsterForceAlertNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 395
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MonsterForceAlertNotify {
+ uint32 monster_entity_id = 13;
+}
diff --git a/protocol/proto/MonsterPointArrayRouteUpdateNotify.proto b/protocol/proto/MonsterPointArrayRouteUpdateNotify.proto
new file mode 100644
index 00000000..86d83884
--- /dev/null
+++ b/protocol/proto/MonsterPointArrayRouteUpdateNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MonsterRoute.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3410
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MonsterPointArrayRouteUpdateNotify {
+ uint32 entity_id = 7;
+ MonsterRoute monster_route = 5;
+}
diff --git a/protocol/proto/MonsterRoute.proto b/protocol/proto/MonsterRoute.proto
new file mode 100644
index 00000000..829da13a
--- /dev/null
+++ b/protocol/proto/MonsterRoute.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RoutePoint.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MonsterRoute {
+ repeated RoutePoint route_points = 1;
+ uint32 speed_level = 2;
+ uint32 route_type = 3;
+ float arrive_range = 4;
+}
diff --git a/protocol/proto/MonsterSummonTagNotify.proto b/protocol/proto/MonsterSummonTagNotify.proto
new file mode 100644
index 00000000..80112b41
--- /dev/null
+++ b/protocol/proto/MonsterSummonTagNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1372
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MonsterSummonTagNotify {
+ map summon_tag_map = 1;
+ uint32 monster_entity_id = 8;
+}
diff --git a/protocol/proto/MoonfinTrialActivityDetailInfo.proto b/protocol/proto/MoonfinTrialActivityDetailInfo.proto
new file mode 100644
index 00000000..fba80aed
--- /dev/null
+++ b/protocol/proto/MoonfinTrialActivityDetailInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MoonfinTrialLevelInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MoonfinTrialActivityDetailInfo {
+ map level_info_map = 5;
+ uint32 special_fish_count = 11;
+}
diff --git a/protocol/proto/MoonfinTrialLevelInfo.proto b/protocol/proto/MoonfinTrialLevelInfo.proto
new file mode 100644
index 00000000..a4caf3b6
--- /dev/null
+++ b/protocol/proto/MoonfinTrialLevelInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MoonfinTrialLevelInfo {
+ uint32 best_record = 3;
+ uint32 open_time = 1;
+}
diff --git a/protocol/proto/MotionInfo.proto b/protocol/proto/MotionInfo.proto
new file mode 100644
index 00000000..73cf17bc
--- /dev/null
+++ b/protocol/proto/MotionInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MotionState.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MotionInfo {
+ Vector pos = 1;
+ Vector rot = 2;
+ Vector speed = 3;
+ MotionState state = 4;
+ repeated Vector params = 5;
+ Vector ref_pos = 6;
+ uint32 ref_id = 7;
+ uint32 scene_time = 8;
+ uint64 interval_velocity = 9;
+}
diff --git a/protocol/proto/MotionState.proto b/protocol/proto/MotionState.proto
new file mode 100644
index 00000000..61e5b684
--- /dev/null
+++ b/protocol/proto/MotionState.proto
@@ -0,0 +1,80 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MotionState {
+ MOTION_STATE_NONE = 0;
+ MOTION_STATE_RESET = 1;
+ MOTION_STATE_STANDBY = 2;
+ MOTION_STATE_STANDBY_MOVE = 3;
+ MOTION_STATE_WALK = 4;
+ MOTION_STATE_RUN = 5;
+ MOTION_STATE_DASH = 6;
+ MOTION_STATE_CLIMB = 7;
+ MOTION_STATE_CLIMB_JUMP = 8;
+ MOTION_STATE_STANDBY_TO_CLIMB = 9;
+ MOTION_STATE_FIGHT = 10;
+ MOTION_STATE_JUMP = 11;
+ MOTION_STATE_DROP = 12;
+ MOTION_STATE_FLY = 13;
+ MOTION_STATE_SWIM_MOVE = 14;
+ MOTION_STATE_SWIM_IDLE = 15;
+ MOTION_STATE_SWIM_DASH = 16;
+ MOTION_STATE_SWIM_JUMP = 17;
+ MOTION_STATE_SLIP = 18;
+ MOTION_STATE_GO_UPSTAIRS = 19;
+ MOTION_STATE_FALL_ON_GROUND = 20;
+ MOTION_STATE_JUMP_UP_WALL_FOR_STANDBY = 21;
+ MOTION_STATE_JUMP_OFF_WALL = 22;
+ MOTION_STATE_POWERED_FLY = 23;
+ MOTION_STATE_LADDER_IDLE = 24;
+ MOTION_STATE_LADDER_MOVE = 25;
+ MOTION_STATE_LADDER_SLIP = 26;
+ MOTION_STATE_STANDBY_TO_LADDER = 27;
+ MOTION_STATE_LADDER_TO_STANDBY = 28;
+ MOTION_STATE_DANGER_STANDBY = 29;
+ MOTION_STATE_DANGER_STANDBY_MOVE = 30;
+ MOTION_STATE_DANGER_WALK = 31;
+ MOTION_STATE_DANGER_RUN = 32;
+ MOTION_STATE_DANGER_DASH = 33;
+ MOTION_STATE_CROUCH_IDLE = 34;
+ MOTION_STATE_CROUCH_MOVE = 35;
+ MOTION_STATE_CROUCH_ROLL = 36;
+ MOTION_STATE_NOTIFY = 37;
+ MOTION_STATE_LAND_SPEED = 38;
+ MOTION_STATE_MOVE_FAIL_ACK = 39;
+ MOTION_STATE_WATERFALL = 40;
+ MOTION_STATE_DASH_BEFORE_SHAKE = 41;
+ MOTION_STATE_SIT_IDLE = 42;
+ MOTION_STATE_FORCE_SET_POS = 43;
+ MOTION_STATE_QUEST_FORCE_DRAG = 44;
+ MOTION_STATE_FOLLOW_ROUTE = 45;
+ MOTION_STATE_SKIFF_BOARDING = 46;
+ MOTION_STATE_SKIFF_NORMAL = 47;
+ MOTION_STATE_SKIFF_DASH = 48;
+ MOTION_STATE_SKIFF_POWERED_DASH = 49;
+ MOTION_STATE_DESTROY_VEHICLE = 50;
+ MOTION_STATE_FLY_IDLE = 51;
+ MOTION_STATE_FLY_SLOW = 52;
+ MOTION_STATE_FLY_FAST = 53;
+ MOTION_STATE_AIM_MOVE = 54;
+ MOTION_STATE_AIR_COMPENSATION = 55;
+ MOTION_STATE_NUM = 56;
+}
diff --git a/protocol/proto/MovingPlatformType.proto b/protocol/proto/MovingPlatformType.proto
new file mode 100644
index 00000000..71c199bb
--- /dev/null
+++ b/protocol/proto/MovingPlatformType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MovingPlatformType {
+ MOVING_PLATFORM_TYPE_NONE = 0;
+ MOVING_PLATFORM_TYPE_USE_CONFIG = 1;
+ MOVING_PLATFORM_TYPE_ABILITY = 2;
+ MOVING_PLATFORM_TYPE_ROUTE = 3;
+}
diff --git a/protocol/proto/MpBlockNotify.proto b/protocol/proto/MpBlockNotify.proto
new file mode 100644
index 00000000..6dcfc502
--- /dev/null
+++ b/protocol/proto/MpBlockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1801
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MpBlockNotify {
+ uint32 end_time = 13;
+}
diff --git a/protocol/proto/MpPlayGuestReplyInviteReq.proto b/protocol/proto/MpPlayGuestReplyInviteReq.proto
new file mode 100644
index 00000000..f66ba478
--- /dev/null
+++ b/protocol/proto/MpPlayGuestReplyInviteReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1848
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MpPlayGuestReplyInviteReq {
+ uint32 mp_play_id = 3;
+ bool is_agree = 15;
+}
diff --git a/protocol/proto/MpPlayGuestReplyInviteRsp.proto b/protocol/proto/MpPlayGuestReplyInviteRsp.proto
new file mode 100644
index 00000000..216c8371
--- /dev/null
+++ b/protocol/proto/MpPlayGuestReplyInviteRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1850
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MpPlayGuestReplyInviteRsp {
+ int32 retcode = 4;
+ uint32 mp_play_id = 10;
+}
diff --git a/protocol/proto/MpPlayGuestReplyNotify.proto b/protocol/proto/MpPlayGuestReplyNotify.proto
new file mode 100644
index 00000000..ff1205e0
--- /dev/null
+++ b/protocol/proto/MpPlayGuestReplyNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1812
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MpPlayGuestReplyNotify {
+ uint32 uid = 7;
+ bool is_agree = 4;
+ uint32 mp_play_id = 14;
+}
diff --git a/protocol/proto/MpPlayInviteResultNotify.proto b/protocol/proto/MpPlayInviteResultNotify.proto
new file mode 100644
index 00000000..34b8979e
--- /dev/null
+++ b/protocol/proto/MpPlayInviteResultNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1815
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MpPlayInviteResultNotify {
+ uint32 mp_play_id = 11;
+ bool all_argee = 10;
+}
diff --git a/protocol/proto/MpPlayOwnerCheckReq.proto b/protocol/proto/MpPlayOwnerCheckReq.proto
new file mode 100644
index 00000000..60d81f58
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerCheckReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1814
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MpPlayOwnerCheckReq {
+ uint32 mp_play_id = 9;
+ bool is_skip_match = 3;
+}
diff --git a/protocol/proto/MpPlayOwnerCheckRsp.proto b/protocol/proto/MpPlayOwnerCheckRsp.proto
new file mode 100644
index 00000000..46a59546
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerCheckRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1847
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MpPlayOwnerCheckRsp {
+ uint32 wrong_uid = 4;
+ bool is_skip_match = 15;
+ uint32 mp_play_id = 10;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/MpPlayOwnerInviteNotify.proto b/protocol/proto/MpPlayOwnerInviteNotify.proto
new file mode 100644
index 00000000..0eb8929d
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerInviteNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1835
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MpPlayOwnerInviteNotify {
+ uint32 cd = 12;
+ uint32 mp_play_id = 13;
+ bool is_remain_reward = 10;
+}
diff --git a/protocol/proto/MpPlayOwnerStartInviteReq.proto b/protocol/proto/MpPlayOwnerStartInviteReq.proto
new file mode 100644
index 00000000..de6a5877
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerStartInviteReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1837
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MpPlayOwnerStartInviteReq {
+ uint32 mp_play_id = 3;
+ bool is_skip_match = 6;
+}
diff --git a/protocol/proto/MpPlayOwnerStartInviteRsp.proto b/protocol/proto/MpPlayOwnerStartInviteRsp.proto
new file mode 100644
index 00000000..1186eab4
--- /dev/null
+++ b/protocol/proto/MpPlayOwnerStartInviteRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1823
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MpPlayOwnerStartInviteRsp {
+ int32 retcode = 14;
+ uint32 mp_play_id = 3;
+ bool is_skip_match = 9;
+}
diff --git a/protocol/proto/MpPlayPrepareInterruptNotify.proto b/protocol/proto/MpPlayPrepareInterruptNotify.proto
new file mode 100644
index 00000000..640b051f
--- /dev/null
+++ b/protocol/proto/MpPlayPrepareInterruptNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1813
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MpPlayPrepareInterruptNotify {
+ uint32 mp_play_id = 12;
+}
diff --git a/protocol/proto/MpPlayPrepareNotify.proto b/protocol/proto/MpPlayPrepareNotify.proto
new file mode 100644
index 00000000..c1b8b272
--- /dev/null
+++ b/protocol/proto/MpPlayPrepareNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1833
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MpPlayPrepareNotify {
+ uint32 mp_play_id = 9;
+ uint32 prepare_end_time = 11;
+}
diff --git a/protocol/proto/MpPlayRewardInfo.proto b/protocol/proto/MpPlayRewardInfo.proto
new file mode 100644
index 00000000..e003ecf0
--- /dev/null
+++ b/protocol/proto/MpPlayRewardInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MpPlayRewardInfo {
+ uint32 resin = 1;
+ repeated uint32 remain_uid_list = 2;
+ repeated uint32 qualify_uid_list = 3;
+}
diff --git a/protocol/proto/MpSettingType.proto b/protocol/proto/MpSettingType.proto
new file mode 100644
index 00000000..b7341b99
--- /dev/null
+++ b/protocol/proto/MpSettingType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum MpSettingType {
+ MP_SETTING_TYPE_NO_ENTER = 0;
+ MP_SETTING_TYPE_ENTER_FREELY = 1;
+ MP_SETTING_TYPE_ENTER_AFTER_APPLY = 2;
+}
diff --git a/protocol/proto/MsgParam.proto b/protocol/proto/MsgParam.proto
new file mode 100644
index 00000000..abbb14c1
--- /dev/null
+++ b/protocol/proto/MsgParam.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MsgParam {
+ oneof param {
+ uint32 int_param = 9;
+ float flt_param = 7;
+ string str_param = 4;
+ }
+}
diff --git a/protocol/proto/MultistagePlayEndNotify.proto b/protocol/proto/MultistagePlayEndNotify.proto
new file mode 100644
index 00000000..14a90d6e
--- /dev/null
+++ b/protocol/proto/MultistagePlayEndNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5355
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MultistagePlayEndNotify {
+ uint32 group_id = 5;
+ uint32 play_index = 13;
+}
diff --git a/protocol/proto/MultistagePlayFinishStageReq.proto b/protocol/proto/MultistagePlayFinishStageReq.proto
new file mode 100644
index 00000000..ac08f1be
--- /dev/null
+++ b/protocol/proto/MultistagePlayFinishStageReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5398
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MultistagePlayFinishStageReq {
+ uint32 group_id = 12;
+ uint32 play_index = 15;
+}
diff --git a/protocol/proto/MultistagePlayFinishStageRsp.proto b/protocol/proto/MultistagePlayFinishStageRsp.proto
new file mode 100644
index 00000000..bf0f06eb
--- /dev/null
+++ b/protocol/proto/MultistagePlayFinishStageRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5381
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MultistagePlayFinishStageRsp {
+ int32 retcode = 11;
+ uint32 group_id = 12;
+ uint32 play_index = 6;
+}
diff --git a/protocol/proto/MultistagePlayInfo.proto b/protocol/proto/MultistagePlayInfo.proto
new file mode 100644
index 00000000..e166fd5e
--- /dev/null
+++ b/protocol/proto/MultistagePlayInfo.proto
@@ -0,0 +1,45 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CharAmusementInfo.proto";
+import "HideAndSeekStageInfo.proto";
+import "InBattleChessInfo.proto";
+import "InBattleFleurFairInfo.proto";
+import "InBattleMechanicusInfo.proto";
+import "IrodoriChessInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MultistagePlayInfo {
+ uint32 play_index = 13;
+ uint32 play_type = 11;
+ uint32 stage_type = 10;
+ uint32 duration = 8;
+ uint32 group_id = 12;
+ uint32 begin_time = 9;
+ uint32 stage_index = 1;
+ oneof detail {
+ InBattleMechanicusInfo mechanicus_info = 1334;
+ InBattleFleurFairInfo fleur_fair_info = 1064;
+ HideAndSeekStageInfo hide_and_seek_info = 108;
+ InBattleChessInfo chess_info = 1758;
+ IrodoriChessInfo irodori_chess_info = 531;
+ CharAmusementInfo char_amusement_info = 324;
+ }
+}
diff --git a/protocol/proto/MultistagePlayInfoNotify.proto b/protocol/proto/MultistagePlayInfoNotify.proto
new file mode 100644
index 00000000..bd286061
--- /dev/null
+++ b/protocol/proto/MultistagePlayInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MultistagePlayInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5372
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MultistagePlayInfoNotify {
+ MultistagePlayInfo info = 13;
+}
diff --git a/protocol/proto/MultistagePlaySettleNotify.proto b/protocol/proto/MultistagePlaySettleNotify.proto
new file mode 100644
index 00000000..745b3329
--- /dev/null
+++ b/protocol/proto/MultistagePlaySettleNotify.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InBattleChessSettleInfo.proto";
+import "InBattleIrodoriChessSettleInfo.proto";
+import "InBattleMechanicusSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5313
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MultistagePlaySettleNotify {
+ uint32 play_index = 14;
+ uint32 group_id = 4;
+ oneof detail {
+ InBattleMechanicusSettleInfo mechanicus_settle_info = 1402;
+ InBattleChessSettleInfo chess_settle_info = 1283;
+ InBattleIrodoriChessSettleInfo irodori_chess_settle_info = 612;
+ }
+}
diff --git a/protocol/proto/MultistagePlayStageEndNotify.proto b/protocol/proto/MultistagePlayStageEndNotify.proto
new file mode 100644
index 00000000..8e927ee3
--- /dev/null
+++ b/protocol/proto/MultistagePlayStageEndNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5379
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MultistagePlayStageEndNotify {
+ uint32 group_id = 15;
+ uint32 play_index = 9;
+}
diff --git a/protocol/proto/MultistageSettleWatcherInfo.proto b/protocol/proto/MultistageSettleWatcherInfo.proto
new file mode 100644
index 00000000..e3e98c5d
--- /dev/null
+++ b/protocol/proto/MultistageSettleWatcherInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MultistageSettleWatcherInfo {
+ uint32 total_progress = 13;
+ uint32 cur_progress = 5;
+ uint32 watcher_id = 7;
+ bool is_inverse = 12;
+}
diff --git a/protocol/proto/MuqadasPotionActivityDetailInfo.proto b/protocol/proto/MuqadasPotionActivityDetailInfo.proto
new file mode 100644
index 00000000..cfb2a340
--- /dev/null
+++ b/protocol/proto/MuqadasPotionActivityDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MuqadasPotionLevelData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MuqadasPotionActivityDetailInfo {
+ repeated MuqadasPotionLevelData muqadas_potion_level_data_list = 8;
+}
diff --git a/protocol/proto/MuqadasPotionActivityEnterDungeonReq.proto b/protocol/proto/MuqadasPotionActivityEnterDungeonReq.proto
new file mode 100644
index 00000000..1ec178e3
--- /dev/null
+++ b/protocol/proto/MuqadasPotionActivityEnterDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MuqadasPotionActivityEnterDungeonReq {
+ uint32 level_id = 12;
+}
diff --git a/protocol/proto/MuqadasPotionActivityEnterDungeonRsp.proto b/protocol/proto/MuqadasPotionActivityEnterDungeonRsp.proto
new file mode 100644
index 00000000..1a33b486
--- /dev/null
+++ b/protocol/proto/MuqadasPotionActivityEnterDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21804
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MuqadasPotionActivityEnterDungeonRsp {
+ int32 retcode = 6;
+ uint32 level_id = 9;
+}
diff --git a/protocol/proto/MuqadasPotionCaptureWeaknessReq.proto b/protocol/proto/MuqadasPotionCaptureWeaknessReq.proto
new file mode 100644
index 00000000..898ebf65
--- /dev/null
+++ b/protocol/proto/MuqadasPotionCaptureWeaknessReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20011
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MuqadasPotionCaptureWeaknessReq {
+ uint32 capture_weakness_count = 10;
+ uint32 level_id = 15;
+}
diff --git a/protocol/proto/MuqadasPotionCaptureWeaknessRsp.proto b/protocol/proto/MuqadasPotionCaptureWeaknessRsp.proto
new file mode 100644
index 00000000..e4d17b5b
--- /dev/null
+++ b/protocol/proto/MuqadasPotionCaptureWeaknessRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24081
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MuqadasPotionCaptureWeaknessRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/MuqadasPotionDungeonSettleNotify.proto b/protocol/proto/MuqadasPotionDungeonSettleNotify.proto
new file mode 100644
index 00000000..88a04bf4
--- /dev/null
+++ b/protocol/proto/MuqadasPotionDungeonSettleNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20005
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MuqadasPotionDungeonSettleNotify {
+ uint32 final_score = 11;
+ uint32 capture_weakness_count = 15;
+ bool is_success = 6;
+ uint32 level_id = 10;
+ bool is_new_record = 2;
+}
diff --git a/protocol/proto/MuqadasPotionLevelData.proto b/protocol/proto/MuqadasPotionLevelData.proto
new file mode 100644
index 00000000..b0bece5f
--- /dev/null
+++ b/protocol/proto/MuqadasPotionLevelData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MuqadasPotionLevelData {
+ uint32 level_id = 15;
+ uint32 max_score = 9;
+ bool is_open = 10;
+}
diff --git a/protocol/proto/MuqadasPotionRestartDungeonReq.proto b/protocol/proto/MuqadasPotionRestartDungeonReq.proto
new file mode 100644
index 00000000..4e8c515a
--- /dev/null
+++ b/protocol/proto/MuqadasPotionRestartDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22391
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MuqadasPotionRestartDungeonReq {}
diff --git a/protocol/proto/MuqadasPotionRestartDungeonRsp.proto b/protocol/proto/MuqadasPotionRestartDungeonRsp.proto
new file mode 100644
index 00000000..fddc8c8c
--- /dev/null
+++ b/protocol/proto/MuqadasPotionRestartDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21208
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MuqadasPotionRestartDungeonRsp {
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/MusicGameActivityDetailInfo.proto b/protocol/proto/MusicGameActivityDetailInfo.proto
new file mode 100644
index 00000000..4029cc9b
--- /dev/null
+++ b/protocol/proto/MusicGameActivityDetailInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MusicGameRecord.proto";
+import "UgcMusicBriefInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MusicGameActivityDetailInfo {
+ repeated UgcMusicBriefInfo ugc_record_list = 4;
+ repeated UgcMusicBriefInfo ugc_search_list = 7;
+ map music_game_record_map = 8;
+}
diff --git a/protocol/proto/MusicGameRecord.proto b/protocol/proto/MusicGameRecord.proto
new file mode 100644
index 00000000..78af0c3e
--- /dev/null
+++ b/protocol/proto/MusicGameRecord.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message MusicGameRecord {
+ bool is_unlock = 9;
+ uint32 max_score = 11;
+ uint32 max_combo = 6;
+}
diff --git a/protocol/proto/MusicGameSettleReq.proto b/protocol/proto/MusicGameSettleReq.proto
new file mode 100644
index 00000000..26b40e03
--- /dev/null
+++ b/protocol/proto/MusicGameSettleReq.proto
@@ -0,0 +1,45 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8892
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MusicGameSettleReq {
+ repeated uint32 button_list = 384;
+ uint32 delay = 795;
+ repeated uint32 note_list = 4;
+ uint32 score_rating = 15;
+ uint32 score = 9;
+ uint64 ugc_guid = 6;
+ uint32 restart_times = 13;
+ bool is_custom_delay = 422;
+ uint32 max_combo = 5;
+ uint32 is_full_combo = 1058;
+ float speed = 409;
+ bool is_save_score = 3;
+ uint32 combo = 1;
+ uint32 music_basic_id = 7;
+ uint32 star_rating = 2;
+ uint32 volume = 1953;
+ uint32 correct_hit = 14;
+ bool is_custom_speed = 1285;
+}
diff --git a/protocol/proto/MusicGameSettleRsp.proto b/protocol/proto/MusicGameSettleRsp.proto
new file mode 100644
index 00000000..73626fbe
--- /dev/null
+++ b/protocol/proto/MusicGameSettleRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8673
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MusicGameSettleRsp {
+ int32 retcode = 11;
+ uint32 music_basic_id = 5;
+ bool is_new_record = 6;
+ bool is_unlock_next_level = 2;
+ uint64 ugc_guid = 10;
+}
diff --git a/protocol/proto/MusicGameStartReq.proto b/protocol/proto/MusicGameStartReq.proto
new file mode 100644
index 00000000..85c9c90d
--- /dev/null
+++ b/protocol/proto/MusicGameStartReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8406
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message MusicGameStartReq {
+ uint32 music_basic_id = 2;
+ bool is_save_score = 11;
+ uint64 ugc_guid = 3;
+}
diff --git a/protocol/proto/MusicGameStartRsp.proto b/protocol/proto/MusicGameStartRsp.proto
new file mode 100644
index 00000000..f2878af1
--- /dev/null
+++ b/protocol/proto/MusicGameStartRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8326
+// EnetChannelId: 0
+// EnetIsReliable: true
+message MusicGameStartRsp {
+ uint32 music_basic_id = 4;
+ int32 retcode = 1;
+ uint64 ugc_guid = 15;
+}
diff --git a/protocol/proto/NavMeshStatsNotify.proto b/protocol/proto/NavMeshStatsNotify.proto
new file mode 100644
index 00000000..fd8855ce
--- /dev/null
+++ b/protocol/proto/NavMeshStatsNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PbNavMeshStatsInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2316
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message NavMeshStatsNotify {
+ repeated PbNavMeshStatsInfo infos = 4;
+}
diff --git a/protocol/proto/NicknameAuditConfigNotify.proto b/protocol/proto/NicknameAuditConfigNotify.proto
new file mode 100644
index 00000000..e01573c6
--- /dev/null
+++ b/protocol/proto/NicknameAuditConfigNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 152
+// EnetChannelId: 0
+// EnetIsReliable: true
+message NicknameAuditConfigNotify {
+ bool is_open = 8;
+ uint32 submit_limit = 12;
+}
diff --git a/protocol/proto/NicknameSignatureAuditData.proto b/protocol/proto/NicknameSignatureAuditData.proto
new file mode 100644
index 00000000..8ea686fd
--- /dev/null
+++ b/protocol/proto/NicknameSignatureAuditData.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ContentAuditAuxiliaryField.proto";
+import "ContentAuditField.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message NicknameSignatureAuditData {
+ string aid = 1;
+ string entity_id = 2;
+ string lang = 3;
+ string queue_key = 4;
+ string region = 5;
+ uint32 uid = 6;
+ repeated ContentAuditField audit_field_list = 7;
+ repeated ContentAuditAuxiliaryField aux_field_list = 8;
+}
diff --git a/protocol/proto/NightCrowGadgetInfo.proto b/protocol/proto/NightCrowGadgetInfo.proto
new file mode 100644
index 00000000..ba22da3f
--- /dev/null
+++ b/protocol/proto/NightCrowGadgetInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message NightCrowGadgetInfo {
+ repeated uint32 argument_list = 1;
+}
diff --git a/protocol/proto/NightCrowGadgetObservationMatchReq.proto b/protocol/proto/NightCrowGadgetObservationMatchReq.proto
new file mode 100644
index 00000000..31c40955
--- /dev/null
+++ b/protocol/proto/NightCrowGadgetObservationMatchReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 876
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message NightCrowGadgetObservationMatchReq {
+ uint32 target_gadget_state = 3;
+ uint32 gadget_entity_id = 8;
+}
diff --git a/protocol/proto/NightCrowGadgetObservationMatchRsp.proto b/protocol/proto/NightCrowGadgetObservationMatchRsp.proto
new file mode 100644
index 00000000..98211f9f
--- /dev/null
+++ b/protocol/proto/NightCrowGadgetObservationMatchRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 846
+// EnetChannelId: 0
+// EnetIsReliable: true
+message NightCrowGadgetObservationMatchRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/NormalUidOpNotify.proto b/protocol/proto/NormalUidOpNotify.proto
new file mode 100644
index 00000000..5dbfc434
--- /dev/null
+++ b/protocol/proto/NormalUidOpNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5726
+// EnetChannelId: 0
+// EnetIsReliable: true
+message NormalUidOpNotify {
+ uint32 duration = 6;
+ repeated uint32 param_list = 4;
+ repeated uint32 param_uid_list = 5;
+ uint32 param_index = 8;
+}
diff --git a/protocol/proto/NpcPositionInfo.proto b/protocol/proto/NpcPositionInfo.proto
new file mode 100644
index 00000000..160d098e
--- /dev/null
+++ b/protocol/proto/NpcPositionInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message NpcPositionInfo {
+ uint32 npc_id = 1;
+ Vector pos = 2;
+}
diff --git a/protocol/proto/NpcTalkReq.proto b/protocol/proto/NpcTalkReq.proto
new file mode 100644
index 00000000..d831e9b1
--- /dev/null
+++ b/protocol/proto/NpcTalkReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 572
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message NpcTalkReq {
+ uint32 entity_id = 8;
+ uint32 npc_entity_id = 9;
+ uint32 talk_id = 7;
+}
diff --git a/protocol/proto/NpcTalkRsp.proto b/protocol/proto/NpcTalkRsp.proto
new file mode 100644
index 00000000..17c1de98
--- /dev/null
+++ b/protocol/proto/NpcTalkRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 598
+// EnetChannelId: 0
+// EnetIsReliable: true
+message NpcTalkRsp {
+ uint32 cur_talk_id = 9;
+ uint32 npc_entity_id = 6;
+ int32 retcode = 3;
+ uint32 entity_id = 13;
+}
diff --git a/protocol/proto/NpcTalkStateNotify.proto b/protocol/proto/NpcTalkStateNotify.proto
new file mode 100644
index 00000000..28445f31
--- /dev/null
+++ b/protocol/proto/NpcTalkStateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 430
+// EnetChannelId: 0
+// EnetIsReliable: true
+message NpcTalkStateNotify {
+ bool is_ban = 5;
+}
diff --git a/protocol/proto/NullMsg.proto b/protocol/proto/NullMsg.proto
new file mode 100644
index 00000000..e87d0aa0
--- /dev/null
+++ b/protocol/proto/NullMsg.proto
@@ -0,0 +1,7 @@
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message NullMsg {
+}
diff --git a/protocol/proto/ObstacleInfo.proto b/protocol/proto/ObstacleInfo.proto
new file mode 100644
index 00000000..354cc6b0
--- /dev/null
+++ b/protocol/proto/ObstacleInfo.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MathQuaternion.proto";
+import "Vector.proto";
+import "Vector3Int.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ObstacleInfo {
+ MathQuaternion rotation = 4;
+ int32 obstacle_id = 2;
+ Vector center = 14;
+ ShapeType shape = 6;
+ Vector3Int extents = 12;
+
+ enum ShapeType {
+ SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE = 0;
+ SHAPE_TYPE_OBSTACLE_SHAPE_BOX = 1;
+ }
+}
diff --git a/protocol/proto/ObstacleModifyNotify.proto b/protocol/proto/ObstacleModifyNotify.proto
new file mode 100644
index 00000000..7d7632a9
--- /dev/null
+++ b/protocol/proto/ObstacleModifyNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ObstacleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2312
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ObstacleModifyNotify {
+ repeated int32 remove_obstacle_ids = 9;
+ repeated ObstacleInfo add_obstacles = 6;
+ uint32 scene_id = 5;
+}
diff --git a/protocol/proto/OfferingInfo.proto b/protocol/proto/OfferingInfo.proto
new file mode 100644
index 00000000..13a8975b
--- /dev/null
+++ b/protocol/proto/OfferingInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message OfferingInfo {
+ uint32 offering_id = 1;
+}
diff --git a/protocol/proto/OfferingInteractReq.proto b/protocol/proto/OfferingInteractReq.proto
new file mode 100644
index 00000000..df3a4bb2
--- /dev/null
+++ b/protocol/proto/OfferingInteractReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2918
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message OfferingInteractReq {
+ uint32 offering_id = 9;
+}
diff --git a/protocol/proto/OfferingInteractRsp.proto b/protocol/proto/OfferingInteractRsp.proto
new file mode 100644
index 00000000..1154b5c9
--- /dev/null
+++ b/protocol/proto/OfferingInteractRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerOfferingData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2908
+// EnetChannelId: 0
+// EnetIsReliable: true
+message OfferingInteractRsp {
+ PlayerOfferingData offering_data = 11;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/OfficialCustomDungeon.proto b/protocol/proto/OfficialCustomDungeon.proto
new file mode 100644
index 00000000..5081a6a3
--- /dev/null
+++ b/protocol/proto/OfficialCustomDungeon.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message OfficialCustomDungeon {
+ uint32 dungeon_id = 11;
+ uint32 win_times = 3;
+}
diff --git a/protocol/proto/OneofGatherPointDetectorData.proto b/protocol/proto/OneofGatherPointDetectorData.proto
new file mode 100644
index 00000000..1a5b98fc
--- /dev/null
+++ b/protocol/proto/OneofGatherPointDetectorData.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message OneofGatherPointDetectorData {
+ Vector hint_center_pos = 7;
+ uint32 hint_radius = 14;
+ uint32 material_id = 10;
+ uint32 config_id = 6;
+ uint32 group_id = 13;
+ bool is_all_collected = 4;
+ bool is_hint_valid = 15;
+}
diff --git a/protocol/proto/OneofGatherPointDetectorDataNotify.proto b/protocol/proto/OneofGatherPointDetectorDataNotify.proto
new file mode 100644
index 00000000..ad71a688
--- /dev/null
+++ b/protocol/proto/OneofGatherPointDetectorDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OneofGatherPointDetectorData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4297
+// EnetChannelId: 0
+// EnetIsReliable: true
+message OneofGatherPointDetectorDataNotify {
+ repeated OneofGatherPointDetectorData oneof_gather_point_detector_data_list = 3;
+}
diff --git a/protocol/proto/OnlinePlayerInfo.proto b/protocol/proto/OnlinePlayerInfo.proto
new file mode 100644
index 00000000..2fdc5efe
--- /dev/null
+++ b/protocol/proto/OnlinePlayerInfo.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MpSettingType.proto";
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message OnlinePlayerInfo {
+ uint32 uid = 1;
+ string nickname = 2;
+ uint32 player_level = 3;
+ uint32 avatar_id = 4;
+ MpSettingType mp_setting_type = 5;
+ uint32 cur_player_num_in_world = 6;
+ uint32 world_level = 7;
+ string online_id = 8;
+ uint32 name_card_id = 9;
+ repeated uint32 blacklist_uid_list = 10;
+ string signature = 11;
+ ProfilePicture profile_picture = 12;
+ string psn_id = 13;
+}
diff --git a/protocol/proto/OpActivityDataNotify.proto b/protocol/proto/OpActivityDataNotify.proto
new file mode 100644
index 00000000..a71d8b72
--- /dev/null
+++ b/protocol/proto/OpActivityDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OpActivityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5112
+// EnetChannelId: 0
+// EnetIsReliable: true
+message OpActivityDataNotify {
+ repeated OpActivityInfo op_activity_info_list = 15;
+}
diff --git a/protocol/proto/OpActivityInfo.proto b/protocol/proto/OpActivityInfo.proto
new file mode 100644
index 00000000..827a2f2c
--- /dev/null
+++ b/protocol/proto/OpActivityInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BonusOpActivityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message OpActivityInfo {
+ uint32 activity_id = 2;
+ uint32 end_time = 6;
+ uint32 begin_time = 5;
+ bool is_has_change = 1;
+ uint32 schedule_id = 13;
+ oneof detail {
+ BonusOpActivityInfo bonus_info = 12;
+ }
+}
diff --git a/protocol/proto/OpActivityStateNotify.proto b/protocol/proto/OpActivityStateNotify.proto
new file mode 100644
index 00000000..c91913cb
--- /dev/null
+++ b/protocol/proto/OpActivityStateNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OpActivityTagBriefInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2572
+// EnetChannelId: 0
+// EnetIsReliable: true
+message OpActivityStateNotify {
+ repeated uint32 finished_bonus_activity_id_list = 14;
+ repeated OpActivityTagBriefInfo opened_op_activity_info_list = 13;
+}
diff --git a/protocol/proto/OpActivityTagBriefInfo.proto b/protocol/proto/OpActivityTagBriefInfo.proto
new file mode 100644
index 00000000..8e24e84d
--- /dev/null
+++ b/protocol/proto/OpActivityTagBriefInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message OpActivityTagBriefInfo {
+ uint32 config_id = 2;
+ bool has_reward = 3;
+ uint32 op_activity_type = 11;
+}
diff --git a/protocol/proto/OpActivityUpdateNotify.proto b/protocol/proto/OpActivityUpdateNotify.proto
new file mode 100644
index 00000000..b1124599
--- /dev/null
+++ b/protocol/proto/OpActivityUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OpActivityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5135
+// EnetChannelId: 0
+// EnetIsReliable: true
+message OpActivityUpdateNotify {
+ OpActivityInfo op_activity_info = 6;
+}
diff --git a/protocol/proto/OpenBlossomCircleCampGuideNotify.proto b/protocol/proto/OpenBlossomCircleCampGuideNotify.proto
new file mode 100644
index 00000000..a6333f9c
--- /dev/null
+++ b/protocol/proto/OpenBlossomCircleCampGuideNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2703
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message OpenBlossomCircleCampGuideNotify {
+ uint32 refresh_id = 7;
+ repeated uint32 circle_camp_id_list = 11;
+}
diff --git a/protocol/proto/OpenStateChangeNotify.proto b/protocol/proto/OpenStateChangeNotify.proto
new file mode 100644
index 00000000..e24542eb
--- /dev/null
+++ b/protocol/proto/OpenStateChangeNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 127
+// EnetChannelId: 0
+// EnetIsReliable: true
+message OpenStateChangeNotify {
+ map open_state_map = 4;
+}
diff --git a/protocol/proto/OpenStateUpdateNotify.proto b/protocol/proto/OpenStateUpdateNotify.proto
new file mode 100644
index 00000000..3dd1ac9c
--- /dev/null
+++ b/protocol/proto/OpenStateUpdateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 193
+// EnetChannelId: 0
+// EnetIsReliable: true
+message OpenStateUpdateNotify {
+ map open_state_map = 6;
+}
diff --git a/protocol/proto/OrderDisplayNotify.proto b/protocol/proto/OrderDisplayNotify.proto
new file mode 100644
index 00000000..ccaf6539
--- /dev/null
+++ b/protocol/proto/OrderDisplayNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4131
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message OrderDisplayNotify {
+ uint32 order_id = 1;
+}
diff --git a/protocol/proto/OrderFinishNotify.proto b/protocol/proto/OrderFinishNotify.proto
new file mode 100644
index 00000000..bf66d9e2
--- /dev/null
+++ b/protocol/proto/OrderFinishNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4125
+// EnetChannelId: 0
+// EnetIsReliable: true
+message OrderFinishNotify {
+ uint32 order_id = 3;
+ uint32 card_product_remain_days = 15;
+ repeated ItemParam item_list = 9;
+ uint32 add_mcoin = 7;
+ string product_id = 6;
+}
diff --git a/protocol/proto/OtherCustomDungeonBrief.proto b/protocol/proto/OtherCustomDungeonBrief.proto
new file mode 100644
index 00000000..70e5672b
--- /dev/null
+++ b/protocol/proto/OtherCustomDungeonBrief.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonAbstract.proto";
+import "CustomDungeonSetting.proto";
+import "CustomDungeonSocial.proto";
+import "SocialDetail.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message OtherCustomDungeonBrief {
+ SocialDetail creator_detail = 4;
+ uint32 battle_min_cost_time = 15;
+ CustomDungeonAbstract abstract = 2;
+ uint64 dungeon_guid = 14;
+ CustomDungeonSetting setting = 10;
+ uint32 dungeon_id = 6;
+ repeated uint32 tag_list = 1;
+ bool is_adventure_dungeon = 11;
+ bool is_psn_platform = 9;
+ bool is_stored = 3;
+ CustomDungeonSocial social = 12;
+}
diff --git a/protocol/proto/OtherPlayerEnterHomeNotify.proto b/protocol/proto/OtherPlayerEnterHomeNotify.proto
new file mode 100644
index 00000000..53f0fab7
--- /dev/null
+++ b/protocol/proto/OtherPlayerEnterHomeNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4628
+// EnetChannelId: 0
+// EnetIsReliable: true
+message OtherPlayerEnterHomeNotify {
+ string nickname = 7;
+ Reason reason = 3;
+
+ enum Reason {
+ REASON_INVALID = 0;
+ REASON_ENTER = 1;
+ REASON_LEAVE = 2;
+ }
+}
diff --git a/protocol/proto/OutStuckCustomDungeonReq.proto b/protocol/proto/OutStuckCustomDungeonReq.proto
new file mode 100644
index 00000000..ee21e9b7
--- /dev/null
+++ b/protocol/proto/OutStuckCustomDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6211
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message OutStuckCustomDungeonReq {}
diff --git a/protocol/proto/OutStuckCustomDungeonRsp.proto b/protocol/proto/OutStuckCustomDungeonRsp.proto
new file mode 100644
index 00000000..ee526825
--- /dev/null
+++ b/protocol/proto/OutStuckCustomDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6234
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message OutStuckCustomDungeonRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/PBNavMeshPoly.proto b/protocol/proto/PBNavMeshPoly.proto
new file mode 100644
index 00000000..96f7e3ce
--- /dev/null
+++ b/protocol/proto/PBNavMeshPoly.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PBNavMeshPoly {
+ repeated EdgeType edge_types = 10;
+ int32 area = 6;
+ repeated int32 vects = 7;
+
+ enum EdgeType {
+ EDGE_TYPE_INNER = 0;
+ EDGE_TYPE_TILE_BOUND = 1;
+ EDGE_TYPE_TILE_BOUND_UNCONNECT = 2;
+ EDGE_TYPE_TILE_BOUND_OVERIDE = 3;
+ }
+}
diff --git a/protocol/proto/PBNavMeshTile.proto b/protocol/proto/PBNavMeshTile.proto
new file mode 100644
index 00000000..813d712c
--- /dev/null
+++ b/protocol/proto/PBNavMeshTile.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PBNavMeshPoly.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PBNavMeshTile {
+ repeated Vector vecs = 4;
+ repeated PBNavMeshPoly polys = 8;
+}
diff --git a/protocol/proto/PSNBlackListNotify.proto b/protocol/proto/PSNBlackListNotify.proto
new file mode 100644
index 00000000..cef2684c
--- /dev/null
+++ b/protocol/proto/PSNBlackListNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4040
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PSNBlackListNotify {
+ repeated FriendBrief psn_blacklist = 11;
+}
diff --git a/protocol/proto/PSNFriendListNotify.proto b/protocol/proto/PSNFriendListNotify.proto
new file mode 100644
index 00000000..a3f24069
--- /dev/null
+++ b/protocol/proto/PSNFriendListNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4087
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PSNFriendListNotify {
+ repeated FriendBrief psn_friend_list = 8;
+}
diff --git a/protocol/proto/PSPlayerApplyEnterMpReq.proto b/protocol/proto/PSPlayerApplyEnterMpReq.proto
new file mode 100644
index 00000000..ea7994f0
--- /dev/null
+++ b/protocol/proto/PSPlayerApplyEnterMpReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1841
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PSPlayerApplyEnterMpReq {
+ string target_psn_id = 5;
+}
diff --git a/protocol/proto/PSPlayerApplyEnterMpRsp.proto b/protocol/proto/PSPlayerApplyEnterMpRsp.proto
new file mode 100644
index 00000000..0c97f830
--- /dev/null
+++ b/protocol/proto/PSPlayerApplyEnterMpRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1842
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PSPlayerApplyEnterMpRsp {
+ string target_psn_id = 2;
+ int32 retcode = 6;
+ uint32 param = 10;
+}
diff --git a/protocol/proto/PacketHead.proto b/protocol/proto/PacketHead.proto
new file mode 100644
index 00000000..5c90339c
--- /dev/null
+++ b/protocol/proto/PacketHead.proto
@@ -0,0 +1,41 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PacketHead {
+ uint32 packet_id = 1;
+ uint32 rpc_id = 2;
+ uint32 client_sequence_id = 3;
+ uint32 enet_channel_id = 4;
+ uint32 enet_is_reliable = 5;
+ uint64 sent_ms = 6;
+ uint32 user_id = 11;
+ uint32 user_ip = 12;
+ uint32 user_session_id = 13;
+ uint64 recv_time_ms = 21;
+ uint32 rpc_begin_time_ms = 22;
+ map ext_map = 23;
+ uint32 sender_app_id = 24;
+ uint32 source_service = 31;
+ uint32 target_service = 32;
+ map service_app_id_map = 33;
+ bool is_set_game_thread = 34;
+ uint32 game_thread_index = 35;
+}
diff --git a/protocol/proto/ParamList.proto b/protocol/proto/ParamList.proto
new file mode 100644
index 00000000..50a9a632
--- /dev/null
+++ b/protocol/proto/ParamList.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ParamList {
+ repeated uint32 param_list = 1;
+}
diff --git a/protocol/proto/ParentQuest.proto b/protocol/proto/ParentQuest.proto
new file mode 100644
index 00000000..35e92a67
--- /dev/null
+++ b/protocol/proto/ParentQuest.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChildQuest.proto";
+import "InferencePageInfo.proto";
+import "ParentQuestRandomInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ParentQuest {
+ repeated int32 quest_var = 14;
+ map time_var_map = 8;
+ uint32 parent_quest_state = 1;
+ bool is_finished = 7;
+ repeated InferencePageInfo inference_page_list = 15;
+ ParentQuestRandomInfo random_info = 12;
+ uint32 parent_quest_id = 3;
+ bool is_random = 13;
+ uint64 video_key = 6;
+ uint32 quest_var_seq = 11;
+ repeated ChildQuest child_quest_list = 9;
+}
diff --git a/protocol/proto/ParentQuestInferenceDataNotify.proto b/protocol/proto/ParentQuestInferenceDataNotify.proto
new file mode 100644
index 00000000..c41f15b5
--- /dev/null
+++ b/protocol/proto/ParentQuestInferenceDataNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InferencePageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 402
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ParentQuestInferenceDataNotify {
+ uint32 parent_quest_id = 2;
+ repeated InferencePageInfo inference_page_list = 1;
+}
diff --git a/protocol/proto/ParentQuestRandomInfo.proto b/protocol/proto/ParentQuestRandomInfo.proto
new file mode 100644
index 00000000..9f1e7534
--- /dev/null
+++ b/protocol/proto/ParentQuestRandomInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ParentQuestRandomInfo {
+ repeated uint32 factor_list = 1;
+ uint32 template_id = 8;
+ uint32 entrance_id = 2;
+}
diff --git a/protocol/proto/ParkourLevelInfo.proto b/protocol/proto/ParkourLevelInfo.proto
new file mode 100644
index 00000000..c08f52fd
--- /dev/null
+++ b/protocol/proto/ParkourLevelInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ParkourLevelInfo {
+ uint32 best_record = 12;
+ bool is_open = 9;
+ uint32 open_time = 7;
+ Vector pos = 2;
+}
diff --git a/protocol/proto/PathfindingEnterSceneReq.proto b/protocol/proto/PathfindingEnterSceneReq.proto
new file mode 100644
index 00000000..0a1ae345
--- /dev/null
+++ b/protocol/proto/PathfindingEnterSceneReq.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ObstacleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2307
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PathfindingEnterSceneReq {
+ uint32 scene_id = 12;
+ repeated uint32 activity_id = 14;
+ uint32 scene_tag_hash = 15;
+ uint32 version = 6;
+ bool is_editor = 11;
+ repeated ObstacleInfo obstacles = 13;
+ uint32 polygon_id = 4;
+}
diff --git a/protocol/proto/PathfindingEnterSceneRsp.proto b/protocol/proto/PathfindingEnterSceneRsp.proto
new file mode 100644
index 00000000..7b51b91c
--- /dev/null
+++ b/protocol/proto/PathfindingEnterSceneRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2321
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PathfindingEnterSceneRsp {
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/PathfindingPingNotify.proto b/protocol/proto/PathfindingPingNotify.proto
new file mode 100644
index 00000000..d9c25a7a
--- /dev/null
+++ b/protocol/proto/PathfindingPingNotify.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2335
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PathfindingPingNotify {}
diff --git a/protocol/proto/PbNavMeshStatsInfo.proto b/protocol/proto/PbNavMeshStatsInfo.proto
new file mode 100644
index 00000000..15842834
--- /dev/null
+++ b/protocol/proto/PbNavMeshStatsInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PbNavMeshStatsInfo {
+ int32 authority_ai_in_combat = 10;
+ int32 no_authority_ai_in_combat = 11;
+ int32 total_authority_ai = 8;
+ int32 total_no_authority_ai = 13;
+}
diff --git a/protocol/proto/PersistentDungeonSwitchAvatarReq.proto b/protocol/proto/PersistentDungeonSwitchAvatarReq.proto
new file mode 100644
index 00000000..c398975d
--- /dev/null
+++ b/protocol/proto/PersistentDungeonSwitchAvatarReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1684
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PersistentDungeonSwitchAvatarReq {
+ uint64 cur_avatar_guid = 8;
+ repeated uint64 avatar_team_guid_list = 3;
+}
diff --git a/protocol/proto/PersistentDungeonSwitchAvatarRsp.proto b/protocol/proto/PersistentDungeonSwitchAvatarRsp.proto
new file mode 100644
index 00000000..53d8bfb4
--- /dev/null
+++ b/protocol/proto/PersistentDungeonSwitchAvatarRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1768
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PersistentDungeonSwitchAvatarRsp {
+ repeated uint64 avatar_team_guid_list = 14;
+ int32 retcode = 7;
+ uint64 cur_avatar_guid = 15;
+}
diff --git a/protocol/proto/PersonalLineAllDataReq.proto b/protocol/proto/PersonalLineAllDataReq.proto
new file mode 100644
index 00000000..58a52625
--- /dev/null
+++ b/protocol/proto/PersonalLineAllDataReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 474
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PersonalLineAllDataReq {}
diff --git a/protocol/proto/PersonalLineAllDataRsp.proto b/protocol/proto/PersonalLineAllDataRsp.proto
new file mode 100644
index 00000000..bb108b1c
--- /dev/null
+++ b/protocol/proto/PersonalLineAllDataRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LockedPersonallineData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 476
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PersonalLineAllDataRsp {
+ uint32 cur_finished_daily_task_count = 5;
+ repeated uint32 can_be_unlocked_personal_line_list = 13;
+ int32 retcode = 15;
+ repeated uint32 ongoing_personal_line_list = 8;
+ uint32 legendary_key_count = 11;
+ repeated LockedPersonallineData locked_personal_line_list = 10;
+}
diff --git a/protocol/proto/PersonalLineNewUnlockNotify.proto b/protocol/proto/PersonalLineNewUnlockNotify.proto
new file mode 100644
index 00000000..c678876f
--- /dev/null
+++ b/protocol/proto/PersonalLineNewUnlockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 442
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PersonalLineNewUnlockNotify {
+ repeated uint32 personal_line_id_list = 9;
+}
diff --git a/protocol/proto/PersonalSceneJumpReq.proto b/protocol/proto/PersonalSceneJumpReq.proto
new file mode 100644
index 00000000..620abf4e
--- /dev/null
+++ b/protocol/proto/PersonalSceneJumpReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 284
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PersonalSceneJumpReq {
+ uint32 point_id = 4;
+}
diff --git a/protocol/proto/PersonalSceneJumpRsp.proto b/protocol/proto/PersonalSceneJumpRsp.proto
new file mode 100644
index 00000000..681eeaca
--- /dev/null
+++ b/protocol/proto/PersonalSceneJumpRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 280
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PersonalSceneJumpRsp {
+ uint32 dest_scene_id = 5;
+ int32 retcode = 8;
+ Vector dest_pos = 11;
+}
diff --git a/protocol/proto/PhotoActivityClientViewReq.proto b/protocol/proto/PhotoActivityClientViewReq.proto
new file mode 100644
index 00000000..08eebe2d
--- /dev/null
+++ b/protocol/proto/PhotoActivityClientViewReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8709
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PhotoActivityClientViewReq {
+ uint32 pos_id = 13;
+}
diff --git a/protocol/proto/PhotoActivityClientViewRsp.proto b/protocol/proto/PhotoActivityClientViewRsp.proto
new file mode 100644
index 00000000..5de05d5c
--- /dev/null
+++ b/protocol/proto/PhotoActivityClientViewRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8983
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PhotoActivityClientViewRsp {
+ int32 retcode = 3;
+ uint32 pos_id = 8;
+}
diff --git a/protocol/proto/PhotoActivityDetailInfo.proto b/protocol/proto/PhotoActivityDetailInfo.proto
new file mode 100644
index 00000000..2ab24152
--- /dev/null
+++ b/protocol/proto/PhotoActivityDetailInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PhotoPosData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PhotoActivityDetailInfo {
+ bool is_content_closed = 4;
+ repeated PhotoPosData photo_pos_data_list = 12;
+}
diff --git a/protocol/proto/PhotoActivityFinishReq.proto b/protocol/proto/PhotoActivityFinishReq.proto
new file mode 100644
index 00000000..658ac079
--- /dev/null
+++ b/protocol/proto/PhotoActivityFinishReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8921
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PhotoActivityFinishReq {
+ uint32 pos_id = 15;
+ uint32 check_root_id = 2;
+ bool is_succ = 5;
+}
diff --git a/protocol/proto/PhotoActivityFinishRsp.proto b/protocol/proto/PhotoActivityFinishRsp.proto
new file mode 100644
index 00000000..be23ce11
--- /dev/null
+++ b/protocol/proto/PhotoActivityFinishRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8854
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PhotoActivityFinishRsp {
+ int32 retcode = 1;
+ uint32 pos_id = 8;
+}
diff --git a/protocol/proto/PhotoGallerySettleInfo.proto b/protocol/proto/PhotoGallerySettleInfo.proto
new file mode 100644
index 00000000..b03bc38e
--- /dev/null
+++ b/protocol/proto/PhotoGallerySettleInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PhotoGallerySettleInfo {
+ GalleryStopReason reason = 7;
+}
diff --git a/protocol/proto/PhotoPosData.proto b/protocol/proto/PhotoPosData.proto
new file mode 100644
index 00000000..cec141cb
--- /dev/null
+++ b/protocol/proto/PhotoPosData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PhotoPosData {
+ Vector center = 15;
+ uint32 open_time = 2;
+ bool is_view = 4;
+ uint32 pos_id = 9;
+ bool is_open = 6;
+}
diff --git a/protocol/proto/PingReq.proto b/protocol/proto/PingReq.proto
new file mode 100644
index 00000000..80d35261
--- /dev/null
+++ b/protocol/proto/PingReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 7
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PingReq {
+ uint32 client_time = 12;
+ float ue_time = 14;
+ double total_tick_time = 6;
+ bytes sc_data = 10;
+ uint32 seq = 3;
+}
diff --git a/protocol/proto/PingRsp.proto b/protocol/proto/PingRsp.proto
new file mode 100644
index 00000000..28a05741
--- /dev/null
+++ b/protocol/proto/PingRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PingRsp {
+ uint32 client_time = 15;
+ int32 retcode = 6;
+ uint32 seq = 13;
+}
diff --git a/protocol/proto/PlaceInfo.proto b/protocol/proto/PlaceInfo.proto
new file mode 100644
index 00000000..8d990164
--- /dev/null
+++ b/protocol/proto/PlaceInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlaceInfo {
+ Vector pos = 1;
+ Vector rot = 2;
+}
diff --git a/protocol/proto/PlantFlowerAcceptAllGiveFlowerReq.proto b/protocol/proto/PlantFlowerAcceptAllGiveFlowerReq.proto
new file mode 100644
index 00000000..2168a19a
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptAllGiveFlowerReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8808
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerAcceptAllGiveFlowerReq {
+ uint32 schedule_id = 11;
+}
diff --git a/protocol/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto b/protocol/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto
new file mode 100644
index 00000000..92b8f785
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptAllGiveFlowerRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlantFlowerAcceptFlowerResultInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8888
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerAcceptAllGiveFlowerRsp {
+ uint32 schedule_id = 10;
+ int32 retcode = 11;
+ repeated PlantFlowerAcceptFlowerResultInfo accept_flower_result_info_list = 13;
+}
diff --git a/protocol/proto/PlantFlowerAcceptFlowerResultInfo.proto b/protocol/proto/PlantFlowerAcceptFlowerResultInfo.proto
new file mode 100644
index 00000000..9112db16
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptFlowerResultInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlantFlowerAcceptFlowerResultInfo {
+ map unaccept_flower_num_map = 4;
+ uint32 uid = 7;
+ map accept_flower_num_map = 10;
+}
diff --git a/protocol/proto/PlantFlowerAcceptGiveFlowerReq.proto b/protocol/proto/PlantFlowerAcceptGiveFlowerReq.proto
new file mode 100644
index 00000000..5eddcb75
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptGiveFlowerReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8383
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerAcceptGiveFlowerReq {
+ uint32 schedule_id = 2;
+ uint32 uid = 12;
+}
diff --git a/protocol/proto/PlantFlowerAcceptGiveFlowerRsp.proto b/protocol/proto/PlantFlowerAcceptGiveFlowerRsp.proto
new file mode 100644
index 00000000..1ae8c369
--- /dev/null
+++ b/protocol/proto/PlantFlowerAcceptGiveFlowerRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlantFlowerAcceptFlowerResultInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8567
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerAcceptGiveFlowerRsp {
+ uint32 schedule_id = 1;
+ PlantFlowerAcceptFlowerResultInfo accept_flower_result_info = 15;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/PlantFlowerActivityDetailInfo.proto b/protocol/proto/PlantFlowerActivityDetailInfo.proto
new file mode 100644
index 00000000..3f716ff9
--- /dev/null
+++ b/protocol/proto/PlantFlowerActivityDetailInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlantFlowerActivityDetailInfo {
+ bool is_content_closed = 3;
+ map wish_flower_num_map = 10;
+ uint32 today_seed_reward_id = 11;
+ uint32 day_index = 1;
+ bool is_today_has_awarded = 13;
+ map used_flower_num_map = 7;
+}
diff --git a/protocol/proto/PlantFlowerEditFlowerCombinationReq.proto b/protocol/proto/PlantFlowerEditFlowerCombinationReq.proto
new file mode 100644
index 00000000..7cd32a9d
--- /dev/null
+++ b/protocol/proto/PlantFlowerEditFlowerCombinationReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomGadgetTreeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8843
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerEditFlowerCombinationReq {
+ CustomGadgetTreeInfo flower_combination_info = 10;
+ uint32 entity_id = 14;
+ uint32 schedule_id = 9;
+}
diff --git a/protocol/proto/PlantFlowerEditFlowerCombinationRsp.proto b/protocol/proto/PlantFlowerEditFlowerCombinationRsp.proto
new file mode 100644
index 00000000..ad1ee09d
--- /dev/null
+++ b/protocol/proto/PlantFlowerEditFlowerCombinationRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8788
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerEditFlowerCombinationRsp {
+ uint32 schedule_id = 13;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/PlantFlowerFriendFlowerWishData.proto b/protocol/proto/PlantFlowerFriendFlowerWishData.proto
new file mode 100644
index 00000000..d2f4f917
--- /dev/null
+++ b/protocol/proto/PlantFlowerFriendFlowerWishData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlantFlowerFriendFlowerWishData {
+ ProfilePicture profile_picture = 3;
+ uint32 uid = 5;
+ string nickname = 14;
+ map flower_num_map = 12;
+}
diff --git a/protocol/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto b/protocol/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto
new file mode 100644
index 00000000..cd29a78f
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetCanGiveFriendFlowerReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8716
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerGetCanGiveFriendFlowerReq {
+ uint32 schedule_id = 15;
+}
diff --git a/protocol/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto b/protocol/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto
new file mode 100644
index 00000000..fea3ac35
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetCanGiveFriendFlowerRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8766
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerGetCanGiveFriendFlowerRsp {
+ map flower_num_map = 6;
+ uint32 schedule_id = 4;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/PlantFlowerGetFriendFlowerWishListReq.proto b/protocol/proto/PlantFlowerGetFriendFlowerWishListReq.proto
new file mode 100644
index 00000000..035d21e2
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetFriendFlowerWishListReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8126
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerGetFriendFlowerWishListReq {
+ uint32 schedule_id = 7;
+}
diff --git a/protocol/proto/PlantFlowerGetFriendFlowerWishListRsp.proto b/protocol/proto/PlantFlowerGetFriendFlowerWishListRsp.proto
new file mode 100644
index 00000000..90c121d9
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetFriendFlowerWishListRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlantFlowerFriendFlowerWishData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8511
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerGetFriendFlowerWishListRsp {
+ int32 retcode = 6;
+ uint32 schedule_id = 2;
+ repeated PlantFlowerFriendFlowerWishData friend_flower_wish_list = 9;
+}
diff --git a/protocol/proto/PlantFlowerGetRecvFlowerListReq.proto b/protocol/proto/PlantFlowerGetRecvFlowerListReq.proto
new file mode 100644
index 00000000..0c72f660
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetRecvFlowerListReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8270
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerGetRecvFlowerListReq {
+ uint32 schedule_id = 1;
+}
diff --git a/protocol/proto/PlantFlowerGetRecvFlowerListRsp.proto b/protocol/proto/PlantFlowerGetRecvFlowerListRsp.proto
new file mode 100644
index 00000000..f4a138be
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetRecvFlowerListRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlantFlowerRecvFlowerData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8374
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerGetRecvFlowerListRsp {
+ uint32 schedule_id = 6;
+ int32 retcode = 1;
+ repeated PlantFlowerRecvFlowerData recv_flower_list = 4;
+}
diff --git a/protocol/proto/PlantFlowerGetSeedInfoReq.proto b/protocol/proto/PlantFlowerGetSeedInfoReq.proto
new file mode 100644
index 00000000..8fdda6a3
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetSeedInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8560
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerGetSeedInfoReq {
+ uint32 schedule_id = 6;
+}
diff --git a/protocol/proto/PlantFlowerGetSeedInfoRsp.proto b/protocol/proto/PlantFlowerGetSeedInfoRsp.proto
new file mode 100644
index 00000000..94e49dc0
--- /dev/null
+++ b/protocol/proto/PlantFlowerGetSeedInfoRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8764
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerGetSeedInfoRsp {
+ int32 retcode = 15;
+ uint32 schedule_id = 12;
+ uint32 seed_reward_id = 5;
+}
diff --git a/protocol/proto/PlantFlowerGiveFriendFlowerReq.proto b/protocol/proto/PlantFlowerGiveFriendFlowerReq.proto
new file mode 100644
index 00000000..fb083cdd
--- /dev/null
+++ b/protocol/proto/PlantFlowerGiveFriendFlowerReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8846
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerGiveFriendFlowerReq {
+ uint32 schedule_id = 11;
+ uint32 uid = 13;
+ map flower_num_map = 12;
+}
diff --git a/protocol/proto/PlantFlowerGiveFriendFlowerRsp.proto b/protocol/proto/PlantFlowerGiveFriendFlowerRsp.proto
new file mode 100644
index 00000000..5d8cf272
--- /dev/null
+++ b/protocol/proto/PlantFlowerGiveFriendFlowerRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8386
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerGiveFriendFlowerRsp {
+ repeated uint32 limit_flower_list = 5;
+ int32 retcode = 3;
+ uint32 schedule_id = 14;
+}
diff --git a/protocol/proto/PlantFlowerHaveRecvFlowerNotify.proto b/protocol/proto/PlantFlowerHaveRecvFlowerNotify.proto
new file mode 100644
index 00000000..220a9686
--- /dev/null
+++ b/protocol/proto/PlantFlowerHaveRecvFlowerNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8078
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerHaveRecvFlowerNotify {
+ uint32 schedule_id = 10;
+}
diff --git a/protocol/proto/PlantFlowerRecvFlowerData.proto b/protocol/proto/PlantFlowerRecvFlowerData.proto
new file mode 100644
index 00000000..794eb28a
--- /dev/null
+++ b/protocol/proto/PlantFlowerRecvFlowerData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlantFlowerRecvFlowerData {
+ ProfilePicture profile_picture = 13;
+ string nickname = 5;
+ uint32 uid = 9;
+ map flower_num_map = 14;
+}
diff --git a/protocol/proto/PlantFlowerSetFlowerWishReq.proto b/protocol/proto/PlantFlowerSetFlowerWishReq.proto
new file mode 100644
index 00000000..91485803
--- /dev/null
+++ b/protocol/proto/PlantFlowerSetFlowerWishReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8547
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerSetFlowerWishReq {
+ map flower_num_map = 12;
+ uint32 schedule_id = 5;
+}
diff --git a/protocol/proto/PlantFlowerSetFlowerWishRsp.proto b/protocol/proto/PlantFlowerSetFlowerWishRsp.proto
new file mode 100644
index 00000000..04aaaa19
--- /dev/null
+++ b/protocol/proto/PlantFlowerSetFlowerWishRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8910
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerSetFlowerWishRsp {
+ uint32 schedule_id = 7;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/PlantFlowerTakeSeedRewardReq.proto b/protocol/proto/PlantFlowerTakeSeedRewardReq.proto
new file mode 100644
index 00000000..e5b5ac5b
--- /dev/null
+++ b/protocol/proto/PlantFlowerTakeSeedRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8968
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlantFlowerTakeSeedRewardReq {
+ uint32 schedule_id = 12;
+}
diff --git a/protocol/proto/PlantFlowerTakeSeedRewardRsp.proto b/protocol/proto/PlantFlowerTakeSeedRewardRsp.proto
new file mode 100644
index 00000000..a68dbd97
--- /dev/null
+++ b/protocol/proto/PlantFlowerTakeSeedRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8860
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlantFlowerTakeSeedRewardRsp {
+ int32 retcode = 2;
+ uint32 schedule_id = 13;
+}
diff --git a/protocol/proto/PlatformChangeRouteNotify.proto b/protocol/proto/PlatformChangeRouteNotify.proto
new file mode 100644
index 00000000..5c16f876
--- /dev/null
+++ b/protocol/proto/PlatformChangeRouteNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlatformInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 268
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlatformChangeRouteNotify {
+ uint32 entity_id = 2;
+ PlatformInfo platform = 1;
+ uint32 scene_time = 8;
+}
diff --git a/protocol/proto/PlatformInfo.proto b/protocol/proto/PlatformInfo.proto
new file mode 100644
index 00000000..d30efcdd
--- /dev/null
+++ b/protocol/proto/PlatformInfo.proto
@@ -0,0 +1,42 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MathQuaternion.proto";
+import "MovingPlatformType.proto";
+import "Route.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlatformInfo {
+ uint32 route_id = 1;
+ int32 start_index = 2;
+ uint32 start_route_time = 3;
+ uint32 start_scene_time = 4;
+ Vector start_pos = 7;
+ bool is_started = 8;
+ MathQuaternion start_rot = 9;
+ uint32 stop_scene_time = 10;
+ Vector pos_offset = 11;
+ MathQuaternion rot_offset = 12;
+ MovingPlatformType moving_platform_type = 13;
+ bool is_active = 14;
+ Route route = 15;
+ uint32 point_id = 16;
+}
diff --git a/protocol/proto/PlatformStartRouteNotify.proto b/protocol/proto/PlatformStartRouteNotify.proto
new file mode 100644
index 00000000..9c3dd39d
--- /dev/null
+++ b/protocol/proto/PlatformStartRouteNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlatformInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 218
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlatformStartRouteNotify {
+ PlatformInfo platform = 15;
+ uint32 scene_time = 12;
+ uint32 entity_id = 8;
+}
diff --git a/protocol/proto/PlatformStopRouteNotify.proto b/protocol/proto/PlatformStopRouteNotify.proto
new file mode 100644
index 00000000..de70bb5f
--- /dev/null
+++ b/protocol/proto/PlatformStopRouteNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlatformInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 266
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlatformStopRouteNotify {
+ uint32 scene_time = 9;
+ uint32 entity_id = 12;
+ PlatformInfo platform = 8;
+}
diff --git a/protocol/proto/PlatformType.proto b/protocol/proto/PlatformType.proto
new file mode 100644
index 00000000..0a451480
--- /dev/null
+++ b/protocol/proto/PlatformType.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum PlatformType {
+ PLATFORM_TYPE_EDITOR = 0;
+ PLATFORM_TYPE_IOS = 1;
+ PLATFORM_TYPE_ANDROID = 2;
+ PLATFORM_TYPE_PC = 3;
+ PLATFORM_TYPE_PS4 = 4;
+ PLATFORM_TYPE_SERVER = 5;
+ PLATFORM_TYPE_CLOUD_ANDROID = 6;
+ PLATFORM_TYPE_CLOUD_IOS = 7;
+ PLATFORM_TYPE_PS5 = 8;
+ PLATFORM_TYPE_CLOUD_WEB = 9;
+ PLATFORM_TYPE_CLOUD_TV = 10;
+ PLATFORM_TYPE_CLOUD_MAC = 11;
+ PLATFORM_TYPE_CLOUD_PC = 12;
+ PLATFORM_TYPE_CLOUD_THIRD_PARTY_MOBILE = 13;
+ PLATFORM_TYPE_CLOUD_THIRD_PARTY_PC = 14;
+}
diff --git a/protocol/proto/PlayProduct.proto b/protocol/proto/PlayProduct.proto
new file mode 100644
index 00000000..1d69ab67
--- /dev/null
+++ b/protocol/proto/PlayProduct.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayProduct {
+ string product_id = 1;
+ string price_tier = 2;
+ uint32 schedule_id = 3;
+}
diff --git a/protocol/proto/PlayTeamEntityInfo.proto b/protocol/proto/PlayTeamEntityInfo.proto
new file mode 100644
index 00000000..20b3579a
--- /dev/null
+++ b/protocol/proto/PlayTeamEntityInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilitySyncStateInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayTeamEntityInfo {
+ uint32 entity_id = 1;
+ uint32 player_uid = 2;
+ uint32 authority_peer_id = 3;
+ uint32 gadget_config_id = 5;
+ AbilitySyncStateInfo ability_info = 6;
+}
diff --git a/protocol/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto b/protocol/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto
new file mode 100644
index 00000000..934cdffe
--- /dev/null
+++ b/protocol/proto/PlayerAllowEnterMpAfterAgreeMatchNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4199
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerAllowEnterMpAfterAgreeMatchNotify {
+ uint32 target_uid = 1;
+}
diff --git a/protocol/proto/PlayerApplyEnterHomeNotify.proto b/protocol/proto/PlayerApplyEnterHomeNotify.proto
new file mode 100644
index 00000000..13bd3dcd
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterHomeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4533
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerApplyEnterHomeNotify {
+ OnlinePlayerInfo src_player_info = 9;
+ uint32 src_app_id = 10;
+}
diff --git a/protocol/proto/PlayerApplyEnterHomeResultNotify.proto b/protocol/proto/PlayerApplyEnterHomeResultNotify.proto
new file mode 100644
index 00000000..c3ad87ed
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterHomeResultNotify.proto
@@ -0,0 +1,42 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4468
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerApplyEnterHomeResultNotify {
+ string target_nickname = 7;
+ Reason reason = 5;
+ uint32 target_uid = 12;
+ bool is_agreed = 9;
+
+ enum Reason {
+ REASON_PLAYER_JUDGE = 0;
+ REASON_PLAYER_ENTER_OPTION_REFUSE = 1;
+ REASON_PLAYER_ENTER_OPTION_DIRECT = 2;
+ REASON_SYSTEM_JUDGE = 3;
+ REASON_HOST_IN_MATCH = 4;
+ REASON_PS_PLAYER_NOT_ACCEPT_OTHERS = 5;
+ REASON_OPEN_STATE_NOT_OPEN = 6;
+ REASON_HOST_IN_EDIT_MODE = 7;
+ REASON_PRIOR_CHECK = 8;
+ }
+}
diff --git a/protocol/proto/PlayerApplyEnterHomeResultReq.proto b/protocol/proto/PlayerApplyEnterHomeResultReq.proto
new file mode 100644
index 00000000..7f1549b0
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterHomeResultReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4693
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerApplyEnterHomeResultReq {
+ uint32 apply_uid = 14;
+ bool is_agreed = 10;
+}
diff --git a/protocol/proto/PlayerApplyEnterHomeResultRsp.proto b/protocol/proto/PlayerApplyEnterHomeResultRsp.proto
new file mode 100644
index 00000000..3c7b8816
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterHomeResultRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4706
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerApplyEnterHomeResultRsp {
+ bool is_agreed = 2;
+ uint32 apply_uid = 11;
+ int32 retcode = 3;
+ uint32 param = 10;
+}
diff --git a/protocol/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto b/protocol/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto
new file mode 100644
index 00000000..cd464fdd
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpAfterMatchAgreedNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchType.proto";
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4195
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerApplyEnterMpAfterMatchAgreedNotify {
+ OnlinePlayerInfo src_player_info = 11;
+ uint32 matchserver_id = 10;
+ MatchType match_type = 3;
+}
diff --git a/protocol/proto/PlayerApplyEnterMpNotify.proto b/protocol/proto/PlayerApplyEnterMpNotify.proto
new file mode 100644
index 00000000..540a3d23
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1826
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerApplyEnterMpNotify {
+ uint32 src_thread_index = 5;
+ uint32 src_app_id = 6;
+ OnlinePlayerInfo src_player_info = 2;
+}
diff --git a/protocol/proto/PlayerApplyEnterMpReq.proto b/protocol/proto/PlayerApplyEnterMpReq.proto
new file mode 100644
index 00000000..df46d6b0
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1818
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerApplyEnterMpReq {
+ uint32 target_uid = 4;
+}
diff --git a/protocol/proto/PlayerApplyEnterMpResultNotify.proto b/protocol/proto/PlayerApplyEnterMpResultNotify.proto
new file mode 100644
index 00000000..6f73a653
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpResultNotify.proto
@@ -0,0 +1,47 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1807
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerApplyEnterMpResultNotify {
+ bool is_agreed = 2;
+ string target_nickname = 12;
+ Reason reason = 13;
+ uint32 target_uid = 1;
+
+ enum Reason {
+ REASON_PLAYER_JUDGE = 0;
+ REASON_SCENE_CANNOT_ENTER = 1;
+ REASON_PLAYER_CANNOT_ENTER_MP = 2;
+ REASON_SYSTEM_JUDGE = 3;
+ REASON_ALLOW_ENTER_PLAYER_FULL = 4;
+ REASON_WORLD_LEVEL_LOWER_THAN_HOST = 5;
+ REASON_HOST_IN_MATCH = 6;
+ REASON_PLAYER_IN_BLACKLIST = 7;
+ REASON_PS_PLAYER_NOT_ACCEPT_OTHERS = 8;
+ REASON_HOST_IS_BLOCKED = 9;
+ REASON_OTHER_DATA_VERSION_NOT_LATEST = 10;
+ REASON_DATA_VERSION_NOT_LATEST = 11;
+ REASON_PLAYER_NOT_IN_PLAYER_WORLD = 12;
+ REASON_MAX_PLAYER = 13;
+ }
+}
diff --git a/protocol/proto/PlayerApplyEnterMpResultReq.proto b/protocol/proto/PlayerApplyEnterMpResultReq.proto
new file mode 100644
index 00000000..9a41ea46
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpResultReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1802
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerApplyEnterMpResultReq {
+ uint32 apply_uid = 2;
+ bool is_agreed = 12;
+}
diff --git a/protocol/proto/PlayerApplyEnterMpResultRsp.proto b/protocol/proto/PlayerApplyEnterMpResultRsp.proto
new file mode 100644
index 00000000..d683d796
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpResultRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1831
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerApplyEnterMpResultRsp {
+ int32 retcode = 1;
+ bool is_agreed = 3;
+ uint32 apply_uid = 10;
+ uint32 param = 12;
+}
diff --git a/protocol/proto/PlayerApplyEnterMpRsp.proto b/protocol/proto/PlayerApplyEnterMpRsp.proto
new file mode 100644
index 00000000..780ed81d
--- /dev/null
+++ b/protocol/proto/PlayerApplyEnterMpRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1825
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerApplyEnterMpRsp {
+ int32 retcode = 5;
+ uint32 target_uid = 3;
+ uint32 param = 4;
+}
diff --git a/protocol/proto/PlayerCancelMatchReq.proto b/protocol/proto/PlayerCancelMatchReq.proto
new file mode 100644
index 00000000..98ba7e25
--- /dev/null
+++ b/protocol/proto/PlayerCancelMatchReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4157
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerCancelMatchReq {
+ MatchType match_type = 11;
+}
diff --git a/protocol/proto/PlayerCancelMatchRsp.proto b/protocol/proto/PlayerCancelMatchRsp.proto
new file mode 100644
index 00000000..4d930a2b
--- /dev/null
+++ b/protocol/proto/PlayerCancelMatchRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4152
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerCancelMatchRsp {
+ int32 retcode = 6;
+ MatchType match_type = 7;
+}
diff --git a/protocol/proto/PlayerChatCDNotify.proto b/protocol/proto/PlayerChatCDNotify.proto
new file mode 100644
index 00000000..939133dd
--- /dev/null
+++ b/protocol/proto/PlayerChatCDNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3367
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerChatCDNotify {
+ uint32 over_time = 15;
+}
diff --git a/protocol/proto/PlayerChatNotify.proto b/protocol/proto/PlayerChatNotify.proto
new file mode 100644
index 00000000..881362d8
--- /dev/null
+++ b/protocol/proto/PlayerChatNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChatInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3010
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerChatNotify {
+ ChatInfo chat_info = 3;
+ uint32 channel_id = 6;
+}
diff --git a/protocol/proto/PlayerChatReq.proto b/protocol/proto/PlayerChatReq.proto
new file mode 100644
index 00000000..47e55544
--- /dev/null
+++ b/protocol/proto/PlayerChatReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChatInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3185
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerChatReq {
+ uint32 channel_id = 13;
+ ChatInfo chat_info = 15;
+}
diff --git a/protocol/proto/PlayerChatRsp.proto b/protocol/proto/PlayerChatRsp.proto
new file mode 100644
index 00000000..48bcbdab
--- /dev/null
+++ b/protocol/proto/PlayerChatRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3228
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerChatRsp {
+ uint32 chat_forbidden_endtime = 15;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/PlayerCompoundMaterialBoostReq.proto b/protocol/proto/PlayerCompoundMaterialBoostReq.proto
new file mode 100644
index 00000000..8178524d
--- /dev/null
+++ b/protocol/proto/PlayerCompoundMaterialBoostReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 185
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerCompoundMaterialBoostReq {
+ bool is_boost_all = 8;
+ uint32 target_compound_group_id = 14;
+ uint32 consume_material_id = 9;
+ uint32 consume_material_count = 1;
+}
diff --git a/protocol/proto/PlayerCompoundMaterialBoostRsp.proto b/protocol/proto/PlayerCompoundMaterialBoostRsp.proto
new file mode 100644
index 00000000..b48ec7f4
--- /dev/null
+++ b/protocol/proto/PlayerCompoundMaterialBoostRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CompoundBoostTakeStatusType.proto";
+import "CompoundQueueData.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 125
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerCompoundMaterialBoostRsp {
+ repeated ItemParam take_item_list = 2;
+ CompoundBoostTakeStatusType take_status = 6;
+ int32 retcode = 7;
+ repeated CompoundQueueData compound_que_data_list = 1;
+}
diff --git a/protocol/proto/PlayerCompoundMaterialReq.proto b/protocol/proto/PlayerCompoundMaterialReq.proto
new file mode 100644
index 00000000..0961c92f
--- /dev/null
+++ b/protocol/proto/PlayerCompoundMaterialReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 150
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerCompoundMaterialReq {
+ uint32 count = 11;
+ uint32 compound_id = 3;
+}
diff --git a/protocol/proto/PlayerCompoundMaterialRsp.proto b/protocol/proto/PlayerCompoundMaterialRsp.proto
new file mode 100644
index 00000000..1c0d1574
--- /dev/null
+++ b/protocol/proto/PlayerCompoundMaterialRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CompoundQueueData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 143
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerCompoundMaterialRsp {
+ CompoundQueueData compound_que_data = 5;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/PlayerConfirmMatchReq.proto b/protocol/proto/PlayerConfirmMatchReq.proto
new file mode 100644
index 00000000..ccd00079
--- /dev/null
+++ b/protocol/proto/PlayerConfirmMatchReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerConfirmMatchReq {
+ MatchType match_type = 12;
+ bool is_agreed = 10;
+}
diff --git a/protocol/proto/PlayerConfirmMatchRsp.proto b/protocol/proto/PlayerConfirmMatchRsp.proto
new file mode 100644
index 00000000..20477118
--- /dev/null
+++ b/protocol/proto/PlayerConfirmMatchRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4194
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerConfirmMatchRsp {
+ MatchType match_type = 9;
+ uint32 match_id = 4;
+ bool is_agreed = 11;
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/PlayerCookArgsReq.proto b/protocol/proto/PlayerCookArgsReq.proto
new file mode 100644
index 00000000..7482967b
--- /dev/null
+++ b/protocol/proto/PlayerCookArgsReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 166
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerCookArgsReq {
+ uint32 assist_avatar = 10;
+ uint32 recipe_id = 11;
+}
diff --git a/protocol/proto/PlayerCookArgsRsp.proto b/protocol/proto/PlayerCookArgsRsp.proto
new file mode 100644
index 00000000..944396e7
--- /dev/null
+++ b/protocol/proto/PlayerCookArgsRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 168
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerCookArgsRsp {
+ int32 retcode = 4;
+ float qte_range_ratio = 12;
+}
diff --git a/protocol/proto/PlayerCookReq.proto b/protocol/proto/PlayerCookReq.proto
new file mode 100644
index 00000000..7f27336d
--- /dev/null
+++ b/protocol/proto/PlayerCookReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 194
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerCookReq {
+ uint32 cook_count = 1;
+ uint32 qte_quality = 12;
+ uint32 recipe_id = 8;
+ uint32 assist_avatar = 14;
+}
diff --git a/protocol/proto/PlayerCookRsp.proto b/protocol/proto/PlayerCookRsp.proto
new file mode 100644
index 00000000..3430aee1
--- /dev/null
+++ b/protocol/proto/PlayerCookRsp.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CookRecipeData.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 188
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerCookRsp {
+ repeated ItemParam extral_item_list = 15;
+ uint32 cook_count = 12;
+ repeated ItemParam item_list = 11;
+ int32 retcode = 3;
+ uint32 qte_quality = 5;
+ CookRecipeData recipe_data = 7;
+}
diff --git a/protocol/proto/PlayerCustomDungeonMuipData.proto b/protocol/proto/PlayerCustomDungeonMuipData.proto
new file mode 100644
index 00000000..65a0abe8
--- /dev/null
+++ b/protocol/proto/PlayerCustomDungeonMuipData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonBattleRecordMuipData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerCustomDungeonMuipData {
+ uint32 uid = 1;
+ repeated uint64 publish_dungeon_list = 2;
+ repeated uint64 store_dungeon_list = 3;
+ repeated CustomDungeonBattleRecordMuipData battle_record_list = 4;
+}
diff --git a/protocol/proto/PlayerDataNotify.proto b/protocol/proto/PlayerDataNotify.proto
new file mode 100644
index 00000000..e7c13cfe
--- /dev/null
+++ b/protocol/proto/PlayerDataNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PropValue.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 190
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerDataNotify {
+ uint64 server_time = 7;
+ string nick_name = 8;
+ bool is_first_login_today = 12;
+ uint32 region_id = 6;
+ map prop_map = 15;
+}
diff --git a/protocol/proto/PlayerDeathZoneNotify.proto b/protocol/proto/PlayerDeathZoneNotify.proto
new file mode 100644
index 00000000..efeeb0f1
--- /dev/null
+++ b/protocol/proto/PlayerDeathZoneNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6275
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerDeathZoneNotify {
+ uint32 cur_death_zone_id = 8;
+}
diff --git a/protocol/proto/PlayerDieOption.proto b/protocol/proto/PlayerDieOption.proto
new file mode 100644
index 00000000..aa06e57b
--- /dev/null
+++ b/protocol/proto/PlayerDieOption.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum PlayerDieOption {
+ PLAYER_DIE_OPTION_OPT_NONE = 0;
+ PLAYER_DIE_OPTION_OPT_REPLAY = 1;
+ PLAYER_DIE_OPTION_OPT_CANCEL = 2;
+ PLAYER_DIE_OPTION_OPT_REVIVE = 3;
+}
diff --git a/protocol/proto/PlayerDieType.proto b/protocol/proto/PlayerDieType.proto
new file mode 100644
index 00000000..c5379dd1
--- /dev/null
+++ b/protocol/proto/PlayerDieType.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum PlayerDieType {
+ PLAYER_DIE_TYPE_NONE = 0;
+ PLAYER_DIE_TYPE_KILL_BY_MONSTER = 1;
+ PLAYER_DIE_TYPE_KILL_BY_GEAR = 2;
+ PLAYER_DIE_TYPE_FALL = 3;
+ PLAYER_DIE_TYPE_DRAWN = 4;
+ PLAYER_DIE_TYPE_ABYSS = 5;
+ PLAYER_DIE_TYPE_GM = 6;
+ PLAYER_DIE_TYPE_CLIMATE_COLD = 7;
+ PLAYER_DIE_TYPE_STORM_LIGHTING = 8;
+}
diff --git a/protocol/proto/PlayerEnterDungeonReq.proto b/protocol/proto/PlayerEnterDungeonReq.proto
new file mode 100644
index 00000000..2cfcf940
--- /dev/null
+++ b/protocol/proto/PlayerEnterDungeonReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DungeonEnterPosInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 912
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerEnterDungeonReq {
+ DungeonEnterPosInfo enter_pos_info = 2;
+ uint32 point_id = 13;
+ uint32 dungeon_id = 7;
+}
diff --git a/protocol/proto/PlayerEnterDungeonRsp.proto b/protocol/proto/PlayerEnterDungeonRsp.proto
new file mode 100644
index 00000000..949b833d
--- /dev/null
+++ b/protocol/proto/PlayerEnterDungeonRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 935
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerEnterDungeonRsp {
+ uint32 dungeon_id = 2;
+ uint32 point_id = 6;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/PlayerEnterSceneInfoNotify.proto b/protocol/proto/PlayerEnterSceneInfoNotify.proto
new file mode 100644
index 00000000..9993701e
--- /dev/null
+++ b/protocol/proto/PlayerEnterSceneInfoNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarEnterSceneInfo.proto";
+import "MPLevelEntityInfo.proto";
+import "TeamEnterSceneInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 214
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerEnterSceneInfoNotify {
+ TeamEnterSceneInfo team_enter_info = 8;
+ uint32 enter_scene_token = 12;
+ repeated AvatarEnterSceneInfo avatar_enter_info = 7;
+ uint32 cur_avatar_entity_id = 6;
+ MPLevelEntityInfo mp_level_entity_info = 5;
+}
diff --git a/protocol/proto/PlayerEnterSceneNotify.proto b/protocol/proto/PlayerEnterSceneNotify.proto
new file mode 100644
index 00000000..1b6f2310
--- /dev/null
+++ b/protocol/proto/PlayerEnterSceneNotify.proto
@@ -0,0 +1,45 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EnterType.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 272
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerEnterSceneNotify {
+ uint32 prev_scene_id = 6;
+ uint32 dungeon_id = 12;
+ bool is_skip_ui = 1732;
+ uint32 scene_id = 15;
+ EnterType type = 13;
+ uint64 scene_begin_time = 14;
+ uint32 world_level = 11;
+ uint32 world_type = 1490;
+ uint32 target_uid = 4;
+ bool is_first_login_enter_scene = 3;
+ repeated uint32 scene_tag_id_list = 5;
+ string scene_transaction = 1842;
+ Vector prev_pos = 8;
+ uint32 enter_reason = 1828;
+ Vector pos = 7;
+ uint32 enter_scene_token = 2;
+}
diff --git a/protocol/proto/PlayerEyePointStateNotify.proto b/protocol/proto/PlayerEyePointStateNotify.proto
new file mode 100644
index 00000000..d51ec89a
--- /dev/null
+++ b/protocol/proto/PlayerEyePointStateNotify.proto
@@ -0,0 +1,44 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CylinderRegionSize.proto";
+import "PolygonRegionSize.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3051
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerEyePointStateNotify {
+ uint32 region_entity_id = 15;
+ Vector eye_point_pos = 1;
+ bool is_use_eye_point = 3;
+ uint32 region_config_id = 7;
+ uint32 region_shape = 12;
+ bool is_filter_stream_pos = 2;
+ int32 fix_lod_level = 5;
+ uint32 region_group_id = 4;
+ oneof region_size {
+ float sphere_radius = 255;
+ Vector cubic_size = 1823;
+ CylinderRegionSize cylinder_size = 1862;
+ PolygonRegionSize polygon_size = 877;
+ }
+}
diff --git a/protocol/proto/PlayerFishingDataNotify.proto b/protocol/proto/PlayerFishingDataNotify.proto
new file mode 100644
index 00000000..a1de9d26
--- /dev/null
+++ b/protocol/proto/PlayerFishingDataNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5835
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerFishingDataNotify {
+ uint32 last_fish_rod_id = 8;
+}
diff --git a/protocol/proto/PlayerForceExitReq.proto b/protocol/proto/PlayerForceExitReq.proto
new file mode 100644
index 00000000..e58477bb
--- /dev/null
+++ b/protocol/proto/PlayerForceExitReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 189
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerForceExitReq {}
diff --git a/protocol/proto/PlayerForceExitRsp.proto b/protocol/proto/PlayerForceExitRsp.proto
new file mode 100644
index 00000000..f58ebea5
--- /dev/null
+++ b/protocol/proto/PlayerForceExitRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 159
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerForceExitRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/PlayerGCGMatchConfirmNotify.proto b/protocol/proto/PlayerGCGMatchConfirmNotify.proto
new file mode 100644
index 00000000..73b37478
--- /dev/null
+++ b/protocol/proto/PlayerGCGMatchConfirmNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4185
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerGCGMatchConfirmNotify {
+ uint32 uid = 10;
+ bool is_agree = 5;
+ uint32 match_id = 14;
+}
diff --git a/protocol/proto/PlayerGCGMatchDismissNotify.proto b/protocol/proto/PlayerGCGMatchDismissNotify.proto
new file mode 100644
index 00000000..b108a4e6
--- /dev/null
+++ b/protocol/proto/PlayerGCGMatchDismissNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4173
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerGCGMatchDismissNotify {
+ uint32 match_id = 11;
+ MatchReason reason = 5;
+ repeated uint32 uid_list = 7;
+}
diff --git a/protocol/proto/PlayerGameTimeNotify.proto b/protocol/proto/PlayerGameTimeNotify.proto
new file mode 100644
index 00000000..060da4de
--- /dev/null
+++ b/protocol/proto/PlayerGameTimeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 131
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerGameTimeNotify {
+ uint32 uid = 7;
+ uint32 game_time = 3;
+ bool is_home = 13;
+}
diff --git a/protocol/proto/PlayerGeneralMatchConfirmNotify.proto b/protocol/proto/PlayerGeneralMatchConfirmNotify.proto
new file mode 100644
index 00000000..7c3589dc
--- /dev/null
+++ b/protocol/proto/PlayerGeneralMatchConfirmNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4192
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerGeneralMatchConfirmNotify {
+ uint32 match_id = 8;
+ bool is_agree = 13;
+ uint32 uid = 14;
+}
diff --git a/protocol/proto/PlayerGeneralMatchDismissNotify.proto b/protocol/proto/PlayerGeneralMatchDismissNotify.proto
new file mode 100644
index 00000000..4379121a
--- /dev/null
+++ b/protocol/proto/PlayerGeneralMatchDismissNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4191
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerGeneralMatchDismissNotify {
+ repeated uint32 uid_list = 3;
+ MatchReason reason = 13;
+ uint32 match_id = 1;
+}
diff --git a/protocol/proto/PlayerGetForceQuitBanInfoReq.proto b/protocol/proto/PlayerGetForceQuitBanInfoReq.proto
new file mode 100644
index 00000000..b851e9e9
--- /dev/null
+++ b/protocol/proto/PlayerGetForceQuitBanInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4164
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerGetForceQuitBanInfoReq {}
diff --git a/protocol/proto/PlayerGetForceQuitBanInfoRsp.proto b/protocol/proto/PlayerGetForceQuitBanInfoRsp.proto
new file mode 100644
index 00000000..3a554950
--- /dev/null
+++ b/protocol/proto/PlayerGetForceQuitBanInfoRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4197
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerGetForceQuitBanInfoRsp {
+ int32 retcode = 4;
+ uint32 match_id = 8;
+ uint32 expire_time = 13;
+}
diff --git a/protocol/proto/PlayerHomeCompInfo.proto b/protocol/proto/PlayerHomeCompInfo.proto
new file mode 100644
index 00000000..c8b91272
--- /dev/null
+++ b/protocol/proto/PlayerHomeCompInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendEnterHomeOption.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerHomeCompInfo {
+ repeated uint32 unlocked_module_id_list = 4;
+ repeated uint32 seen_module_id_list = 2;
+ repeated uint32 levelup_reward_got_level_list = 7;
+ FriendEnterHomeOption friend_enter_home_option = 8;
+}
diff --git a/protocol/proto/PlayerHomeCompInfoNotify.proto b/protocol/proto/PlayerHomeCompInfoNotify.proto
new file mode 100644
index 00000000..dd884548
--- /dev/null
+++ b/protocol/proto/PlayerHomeCompInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerHomeCompInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4880
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerHomeCompInfoNotify {
+ PlayerHomeCompInfo comp_info = 4;
+}
diff --git a/protocol/proto/PlayerInjectFixNotify.proto b/protocol/proto/PlayerInjectFixNotify.proto
new file mode 100644
index 00000000..ec4a6a87
--- /dev/null
+++ b/protocol/proto/PlayerInjectFixNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 132
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerInjectFixNotify {
+ uint32 id = 13;
+ bytes inject_fix = 10;
+}
diff --git a/protocol/proto/PlayerInvestigationAllInfoNotify.proto b/protocol/proto/PlayerInvestigationAllInfoNotify.proto
new file mode 100644
index 00000000..3d173614
--- /dev/null
+++ b/protocol/proto/PlayerInvestigationAllInfoNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Investigation.proto";
+import "InvestigationTarget.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1928
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerInvestigationAllInfoNotify {
+ repeated Investigation investigation_list = 15;
+ repeated InvestigationTarget investigation_target_list = 12;
+}
diff --git a/protocol/proto/PlayerInvestigationNotify.proto b/protocol/proto/PlayerInvestigationNotify.proto
new file mode 100644
index 00000000..c7f664f9
--- /dev/null
+++ b/protocol/proto/PlayerInvestigationNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Investigation.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1911
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerInvestigationNotify {
+ repeated Investigation investigation_list = 1;
+}
diff --git a/protocol/proto/PlayerInvestigationTargetNotify.proto b/protocol/proto/PlayerInvestigationTargetNotify.proto
new file mode 100644
index 00000000..e80fec45
--- /dev/null
+++ b/protocol/proto/PlayerInvestigationTargetNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "InvestigationTarget.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1929
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerInvestigationTargetNotify {
+ repeated InvestigationTarget investigation_target_list = 1;
+}
diff --git a/protocol/proto/PlayerLevelRewardUpdateNotify.proto b/protocol/proto/PlayerLevelRewardUpdateNotify.proto
new file mode 100644
index 00000000..19d56e44
--- /dev/null
+++ b/protocol/proto/PlayerLevelRewardUpdateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 200
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerLevelRewardUpdateNotify {
+ repeated uint32 level_list = 9;
+}
diff --git a/protocol/proto/PlayerLocationInfo.proto b/protocol/proto/PlayerLocationInfo.proto
new file mode 100644
index 00000000..86e014f6
--- /dev/null
+++ b/protocol/proto/PlayerLocationInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerLocationInfo {
+ uint32 uid = 15;
+ Vector pos = 3;
+ Vector rot = 13;
+}
diff --git a/protocol/proto/PlayerLoginReq.proto b/protocol/proto/PlayerLoginReq.proto
new file mode 100644
index 00000000..d9e69ece
--- /dev/null
+++ b/protocol/proto/PlayerLoginReq.proto
@@ -0,0 +1,72 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AdjustTrackingInfo.proto";
+import "TrackingIOInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 112
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerLoginReq {
+ uint32 language_type = 6;
+ uint32 reg_platform = 615;
+ TrackingIOInfo tracking_io_info = 1660;
+ uint32 account_type = 13;
+ string token = 15;
+ bytes extra_bin_data = 1458;
+ uint32 channel_id = 1314;
+ uint32 client_data_version = 688;
+ string account_uid = 2;
+ string client_version = 12;
+ string security_library_md5 = 772;
+ string country_code = 2000;
+ string psn_id = 1268;
+ uint32 client_port = 431;
+ string device_name = 9;
+ string cps = 1163;
+ uint64 login_rand = 3;
+ uint32 target_home_param = 984;
+ AdjustTrackingInfo adjust_tracking_info = 1816;
+ bool is_transfer = 908;
+ uint32 tag = 1787;
+ bool is_guest = 5;
+ bytes environment_error_code = 2026;
+ string online_id = 903;
+ bool is_editor = 8;
+ string checksum_client_version = 861;
+ bytes security_cmd_reply = 1995;
+ string security_library_version = 1213;
+ string birthday = 1652;
+ string device_uuid = 4;
+ uint32 client_token = 1546;
+ uint32 sub_channel_id = 23;
+ uint32 target_uid = 11;
+ string device_info = 1;
+ string client_verison_hash = 1707;
+ string checksum = 1532;
+ uint32 platform_type = 14;
+ uint32 target_home_owner_uid = 1864;
+ uint32 cloud_client_ip = 1335;
+ uint32 gm_uid = 612;
+ string system_version = 10;
+ string platform = 7;
+}
diff --git a/protocol/proto/PlayerLoginRsp.proto b/protocol/proto/PlayerLoginRsp.proto
new file mode 100644
index 00000000..b2be928d
--- /dev/null
+++ b/protocol/proto/PlayerLoginRsp.proto
@@ -0,0 +1,66 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BlockInfo.proto";
+import "FeatureBlockInfo.proto";
+import "ResVersionConfig.proto";
+import "ShortAbilityHashPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 135
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerLoginRsp {
+ uint32 client_data_version = 1;
+ bool is_sc_open = 1429;
+ int32 retcode = 15;
+ map block_info_map = 571;
+ bool is_audit = 1685;
+ bool is_transfer = 2018;
+ string client_silence_md5 = 1746;
+ ResVersionConfig next_res_version_config = 1573;
+ uint32 client_silence_data_version = 6;
+ uint64 login_rand = 4;
+ bool is_new_player = 8;
+ string client_version_suffix = 1047;
+ string game_biz = 5;
+ string next_resource_url = 621;
+ bool is_relogin = 10;
+ double total_tick_time = 125;
+ bool is_enable_client_hash_debug = 932;
+ bytes sc_info = 2024;
+ int32 ability_hash_code = 12;
+ string register_cps = 2040;
+ bool is_login_rsp_split = 1649;
+ bool is_use_ability_hash = 2;
+ map ability_hash_map = 11;
+ repeated ShortAbilityHashPair short_ability_hash_map = 250;
+ string client_md5 = 1830;
+ string country_code = 1900;
+ bool is_data_need_relogin = 951;
+ ResVersionConfig res_version_config = 1969;
+ repeated FeatureBlockInfo feature_block_info_list = 1352;
+ string birthday = 624;
+ uint32 target_uid = 14;
+ bytes player_data = 13;
+ string client_silence_version_suffix = 1299;
+ uint32 target_home_owner_uid = 553;
+ uint32 player_data_version = 7;
+}
diff --git a/protocol/proto/PlayerLogoutNotify.proto b/protocol/proto/PlayerLogoutNotify.proto
new file mode 100644
index 00000000..883506a6
--- /dev/null
+++ b/protocol/proto/PlayerLogoutNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 103
+// EnetChannelId: 0
+// EnetIsReliable: false
+message PlayerLogoutNotify {
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/PlayerLogoutReq.proto b/protocol/proto/PlayerLogoutReq.proto
new file mode 100644
index 00000000..efbe6e50
--- /dev/null
+++ b/protocol/proto/PlayerLogoutReq.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 107
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerLogoutReq {
+ Reason reason = 6;
+
+ enum Reason {
+ REASON_DISCONNECT = 0;
+ REASON_CLIENT_REQ = 1;
+ REASON_TIMEOUT = 2;
+ REASON_ADMIN_REQ = 3;
+ REASON_SERVER_CLOSE = 4;
+ REASON_GM_CLEAR = 5;
+ REASON_PLAYER_TRANSFER = 6;
+ REASON_CLIENT_CHECKSUM_INVALID = 7;
+ }
+}
diff --git a/protocol/proto/PlayerLogoutRsp.proto b/protocol/proto/PlayerLogoutRsp.proto
new file mode 100644
index 00000000..990698db
--- /dev/null
+++ b/protocol/proto/PlayerLogoutRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 121
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerLogoutRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/PlayerLuaShellNotify.proto b/protocol/proto/PlayerLuaShellNotify.proto
new file mode 100644
index 00000000..9680d686
--- /dev/null
+++ b/protocol/proto/PlayerLuaShellNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LuaShellType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 133
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerLuaShellNotify {
+ LuaShellType shell_type = 7;
+ uint32 id = 5;
+ bytes lua_shell = 12;
+ uint32 use_type = 10;
+}
diff --git a/protocol/proto/PlayerMatchAgreedResultNotify.proto b/protocol/proto/PlayerMatchAgreedResultNotify.proto
new file mode 100644
index 00000000..d45f3edf
--- /dev/null
+++ b/protocol/proto/PlayerMatchAgreedResultNotify.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4170
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerMatchAgreedResultNotify {
+ uint32 target_uid = 14;
+ MatchType match_type = 3;
+ Reason reason = 8;
+
+ enum Reason {
+ REASON_SUCC = 0;
+ REASON_TARGET_SCENE_CANNOT_ENTER = 1;
+ REASON_SELF_MP_UNAVAILABLE = 2;
+ REASON_OTHER_DATA_VERSION_NOT_LATEST = 3;
+ REASON_DATA_VERSION_NOT_LATEST = 4;
+ }
+}
diff --git a/protocol/proto/PlayerMatchInfoNotify.proto b/protocol/proto/PlayerMatchInfoNotify.proto
new file mode 100644
index 00000000..8f3ee38f
--- /dev/null
+++ b/protocol/proto/PlayerMatchInfoNotify.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4175
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerMatchInfoNotify {
+ uint32 match_id = 8;
+ uint32 match_begin_time = 4;
+ uint32 dungeon_id = 10;
+ MatchType match_type = 11;
+ uint32 mechanicus_difficult_level = 12;
+ repeated uint32 match_param_list = 6;
+ uint32 estimate_match_cost_time = 3;
+ uint32 mp_play_id = 5;
+ uint32 host_uid = 13;
+}
diff --git a/protocol/proto/PlayerMatchStopNotify.proto b/protocol/proto/PlayerMatchStopNotify.proto
new file mode 100644
index 00000000..7532eeca
--- /dev/null
+++ b/protocol/proto/PlayerMatchStopNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4181
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerMatchStopNotify {
+ MatchReason reason = 1;
+ uint32 host_uid = 12;
+}
diff --git a/protocol/proto/PlayerMatchSuccNotify.proto b/protocol/proto/PlayerMatchSuccNotify.proto
new file mode 100644
index 00000000..bee79054
--- /dev/null
+++ b/protocol/proto/PlayerMatchSuccNotify.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GCGMatchInfo.proto";
+import "GeneralMatchInfo.proto";
+import "MatchType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4179
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerMatchSuccNotify {
+ GeneralMatchInfo general_match_info = 7;
+ uint32 mp_play_id = 15;
+ uint32 host_uid = 3;
+ MatchType match_type = 5;
+ GCGMatchInfo gcg_match_info = 11;
+ uint32 confirm_end_time = 2;
+ uint32 dungeon_id = 6;
+ uint32 mechanicus_difficult_level = 1;
+}
diff --git a/protocol/proto/PlayerNicknameAuditDataNotify.proto b/protocol/proto/PlayerNicknameAuditDataNotify.proto
new file mode 100644
index 00000000..825b405e
--- /dev/null
+++ b/protocol/proto/PlayerNicknameAuditDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ContentAuditInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 108
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerNicknameAuditDataNotify {
+ ContentAuditInfo info = 13;
+}
diff --git a/protocol/proto/PlayerNicknameNotify.proto b/protocol/proto/PlayerNicknameNotify.proto
new file mode 100644
index 00000000..30b8145b
--- /dev/null
+++ b/protocol/proto/PlayerNicknameNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 109
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerNicknameNotify {
+ string nickname = 7;
+}
diff --git a/protocol/proto/PlayerOfferingData.proto b/protocol/proto/PlayerOfferingData.proto
new file mode 100644
index 00000000..ad01ac89
--- /dev/null
+++ b/protocol/proto/PlayerOfferingData.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerOfferingData {
+ uint32 offering_id = 1;
+ bool is_first_interact = 15;
+ uint32 level = 12;
+ repeated uint32 taken_level_reward_list = 8;
+ bool is_new_max_level = 6;
+}
diff --git a/protocol/proto/PlayerOfferingDataNotify.proto b/protocol/proto/PlayerOfferingDataNotify.proto
new file mode 100644
index 00000000..a8914a0f
--- /dev/null
+++ b/protocol/proto/PlayerOfferingDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerOfferingData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2923
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerOfferingDataNotify {
+ repeated PlayerOfferingData offering_data_list = 2;
+}
diff --git a/protocol/proto/PlayerOfferingReq.proto b/protocol/proto/PlayerOfferingReq.proto
new file mode 100644
index 00000000..42ea9cc0
--- /dev/null
+++ b/protocol/proto/PlayerOfferingReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2907
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerOfferingReq {
+ uint32 offering_id = 6;
+}
diff --git a/protocol/proto/PlayerOfferingRsp.proto b/protocol/proto/PlayerOfferingRsp.proto
new file mode 100644
index 00000000..89116a2f
--- /dev/null
+++ b/protocol/proto/PlayerOfferingRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+import "PlayerOfferingData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2917
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerOfferingRsp {
+ repeated ItemParam item_list = 7;
+ int32 retcode = 4;
+ PlayerOfferingData offering_data = 10;
+}
diff --git a/protocol/proto/PlayerPreEnterMpNotify.proto b/protocol/proto/PlayerPreEnterMpNotify.proto
new file mode 100644
index 00000000..7dfd0dda
--- /dev/null
+++ b/protocol/proto/PlayerPreEnterMpNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1822
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerPreEnterMpNotify {
+ State state = 2;
+ uint32 uid = 14;
+ string nickname = 6;
+
+ enum State {
+ STATE_INVALID = 0;
+ STATE_START = 1;
+ STATE_TIMEOUT = 2;
+ }
+}
diff --git a/protocol/proto/PlayerPropChangeNotify.proto b/protocol/proto/PlayerPropChangeNotify.proto
new file mode 100644
index 00000000..3db94b60
--- /dev/null
+++ b/protocol/proto/PlayerPropChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 139
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerPropChangeNotify {
+ uint32 prop_delta = 13;
+ uint32 prop_type = 12;
+}
diff --git a/protocol/proto/PlayerPropChangeReasonNotify.proto b/protocol/proto/PlayerPropChangeReasonNotify.proto
new file mode 100644
index 00000000..725707b5
--- /dev/null
+++ b/protocol/proto/PlayerPropChangeReasonNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PropChangeReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1299
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerPropChangeReasonNotify {
+ uint32 prop_type = 6;
+ float old_value = 12;
+ PropChangeReason reason = 1;
+ float cur_value = 11;
+}
diff --git a/protocol/proto/PlayerPropNotify.proto b/protocol/proto/PlayerPropNotify.proto
new file mode 100644
index 00000000..fb7bca4a
--- /dev/null
+++ b/protocol/proto/PlayerPropNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PropValue.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 175
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerPropNotify {
+ map prop_map = 13;
+}
diff --git a/protocol/proto/PlayerQuitDungeonReq.proto b/protocol/proto/PlayerQuitDungeonReq.proto
new file mode 100644
index 00000000..365b8dba
--- /dev/null
+++ b/protocol/proto/PlayerQuitDungeonReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 907
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerQuitDungeonReq {
+ bool is_quit_immediately = 10;
+ uint32 point_id = 7;
+}
diff --git a/protocol/proto/PlayerQuitDungeonRsp.proto b/protocol/proto/PlayerQuitDungeonRsp.proto
new file mode 100644
index 00000000..0e628edd
--- /dev/null
+++ b/protocol/proto/PlayerQuitDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 921
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerQuitDungeonRsp {
+ uint32 point_id = 11;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/PlayerQuitFromHomeNotify.proto b/protocol/proto/PlayerQuitFromHomeNotify.proto
new file mode 100644
index 00000000..39e83df2
--- /dev/null
+++ b/protocol/proto/PlayerQuitFromHomeNotify.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4656
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerQuitFromHomeNotify {
+ QuitReason reason = 6;
+
+ enum QuitReason {
+ QUIT_REASON_INVALID = 0;
+ QUIT_REASON_KICK_BY_HOST = 1;
+ QUIT_REASON_BACK_TO_MY_WORLD = 2;
+ QUIT_REASON_HOME_BLOCKED = 3;
+ QUIT_REASON_HOME_IN_EDIT_MODE = 4;
+ QUIT_REASON_BY_MUIP = 5;
+ QUIT_REASON_CUR_MODULE_CLOSED = 6;
+ }
+}
diff --git a/protocol/proto/PlayerQuitFromMpNotify.proto b/protocol/proto/PlayerQuitFromMpNotify.proto
new file mode 100644
index 00000000..b49e1ef1
--- /dev/null
+++ b/protocol/proto/PlayerQuitFromMpNotify.proto
@@ -0,0 +1,41 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1829
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerQuitFromMpNotify {
+ QuitReason reason = 11;
+
+ enum QuitReason {
+ QUIT_REASON_INVALID = 0;
+ QUIT_REASON_HOST_NO_OTHER_PLAYER = 1;
+ QUIT_REASON_KICK_BY_HOST = 2;
+ QUIT_REASON_BACK_TO_MY_WORLD = 3;
+ QUIT_REASON_KICK_BY_HOST_LOGOUT = 4;
+ QUIT_REASON_KICK_BY_HOST_BLOCK = 5;
+ QUIT_REASON_BE_BLOCKED = 6;
+ QUIT_REASON_KICK_BY_HOST_ENTER_HOME = 7;
+ QUIT_REASON_HOST_SCENE_INVALID = 8;
+ QUIT_REASON_KICK_BY_PLAY = 9;
+ QUIT_REASON_KICK_BY_ISLAND_PARTY_GALLERY_START_FAILED = 10;
+ }
+}
diff --git a/protocol/proto/PlayerRTTInfo.proto b/protocol/proto/PlayerRTTInfo.proto
new file mode 100644
index 00000000..7ebb0bd0
--- /dev/null
+++ b/protocol/proto/PlayerRTTInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerRTTInfo {
+ uint32 rtt = 2;
+ uint32 uid = 1;
+}
diff --git a/protocol/proto/PlayerRandomCookReq.proto b/protocol/proto/PlayerRandomCookReq.proto
new file mode 100644
index 00000000..b4ccf5ff
--- /dev/null
+++ b/protocol/proto/PlayerRandomCookReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 126
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerRandomCookReq {
+ repeated ItemParam material_list = 13;
+}
diff --git a/protocol/proto/PlayerRandomCookRsp.proto b/protocol/proto/PlayerRandomCookRsp.proto
new file mode 100644
index 00000000..b163d7ca
--- /dev/null
+++ b/protocol/proto/PlayerRandomCookRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 163
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerRandomCookRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/PlayerRechargeDataNotify.proto b/protocol/proto/PlayerRechargeDataNotify.proto
new file mode 100644
index 00000000..a5285edd
--- /dev/null
+++ b/protocol/proto/PlayerRechargeDataNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProductPriceTier.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4102
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerRechargeDataNotify {
+ uint32 card_product_remain_days = 12;
+ repeated ProductPriceTier product_price_tier_list = 11;
+}
diff --git a/protocol/proto/PlayerReportReq.proto b/protocol/proto/PlayerReportReq.proto
new file mode 100644
index 00000000..1ea1347d
--- /dev/null
+++ b/protocol/proto/PlayerReportReq.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReportReasonType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4024
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerReportReq {
+ ReportReasonType reason = 12;
+ string content = 8;
+ uint32 target_home_module_id = 5;
+ string target_home_module_name = 6;
+ uint32 target_uid = 14;
+}
diff --git a/protocol/proto/PlayerReportRsp.proto b/protocol/proto/PlayerReportRsp.proto
new file mode 100644
index 00000000..13111bf5
--- /dev/null
+++ b/protocol/proto/PlayerReportRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4056
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerReportRsp {
+ uint32 cd_time = 11;
+ uint32 target_uid = 6;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/PlayerRoutineDataNotify.proto b/protocol/proto/PlayerRoutineDataNotify.proto
new file mode 100644
index 00000000..5ee26c9e
--- /dev/null
+++ b/protocol/proto/PlayerRoutineDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerRoutineInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3526
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerRoutineDataNotify {
+ repeated PlayerRoutineInfo routine_info_list = 11;
+}
diff --git a/protocol/proto/PlayerRoutineInfo.proto b/protocol/proto/PlayerRoutineInfo.proto
new file mode 100644
index 00000000..b219b56d
--- /dev/null
+++ b/protocol/proto/PlayerRoutineInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerRoutineInfo {
+ uint32 routine_type = 8;
+ uint32 finished_num = 15;
+}
diff --git a/protocol/proto/PlayerSetLanguageReq.proto b/protocol/proto/PlayerSetLanguageReq.proto
new file mode 100644
index 00000000..0b1d6a79
--- /dev/null
+++ b/protocol/proto/PlayerSetLanguageReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 142
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerSetLanguageReq {
+ uint32 language_type = 5;
+}
diff --git a/protocol/proto/PlayerSetLanguageRsp.proto b/protocol/proto/PlayerSetLanguageRsp.proto
new file mode 100644
index 00000000..858294b3
--- /dev/null
+++ b/protocol/proto/PlayerSetLanguageRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 130
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerSetLanguageRsp {
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/PlayerSetOnlyMPWithPSPlayerReq.proto b/protocol/proto/PlayerSetOnlyMPWithPSPlayerReq.proto
new file mode 100644
index 00000000..8cfc82b3
--- /dev/null
+++ b/protocol/proto/PlayerSetOnlyMPWithPSPlayerReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1820
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerSetOnlyMPWithPSPlayerReq {
+ bool is_only = 13;
+}
diff --git a/protocol/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto b/protocol/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto
new file mode 100644
index 00000000..63556374
--- /dev/null
+++ b/protocol/proto/PlayerSetOnlyMPWithPSPlayerRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1845
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerSetOnlyMPWithPSPlayerRsp {
+ int32 retcode = 5;
+ bool is_only = 8;
+}
diff --git a/protocol/proto/PlayerSetPauseReq.proto b/protocol/proto/PlayerSetPauseReq.proto
new file mode 100644
index 00000000..d6602ff0
--- /dev/null
+++ b/protocol/proto/PlayerSetPauseReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 124
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerSetPauseReq {
+ bool is_paused = 1;
+}
diff --git a/protocol/proto/PlayerSetPauseRsp.proto b/protocol/proto/PlayerSetPauseRsp.proto
new file mode 100644
index 00000000..433928f9
--- /dev/null
+++ b/protocol/proto/PlayerSetPauseRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 156
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerSetPauseRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/PlayerSignatureAuditDataNotify.proto b/protocol/proto/PlayerSignatureAuditDataNotify.proto
new file mode 100644
index 00000000..996e54ad
--- /dev/null
+++ b/protocol/proto/PlayerSignatureAuditDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ContentAuditInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4060
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerSignatureAuditDataNotify {
+ ContentAuditInfo info = 14;
+}
diff --git a/protocol/proto/PlayerSignatureNotify.proto b/protocol/proto/PlayerSignatureNotify.proto
new file mode 100644
index 00000000..bbdf0d39
--- /dev/null
+++ b/protocol/proto/PlayerSignatureNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4014
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerSignatureNotify {
+ string signature = 12;
+}
diff --git a/protocol/proto/PlayerStartMatchReq.proto b/protocol/proto/PlayerStartMatchReq.proto
new file mode 100644
index 00000000..adf8f68d
--- /dev/null
+++ b/protocol/proto/PlayerStartMatchReq.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4176
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PlayerStartMatchReq {
+ MatchType match_type = 3;
+ uint32 mechanicus_difficult_level = 12;
+ repeated uint32 match_param_list = 11;
+ uint32 dungeon_id = 1;
+ uint32 mp_play_id = 15;
+ uint32 match_id = 6;
+}
diff --git a/protocol/proto/PlayerStartMatchRsp.proto b/protocol/proto/PlayerStartMatchRsp.proto
new file mode 100644
index 00000000..d29441f4
--- /dev/null
+++ b/protocol/proto/PlayerStartMatchRsp.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MatchType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4168
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerStartMatchRsp {
+ int32 retcode = 1;
+ uint32 punish_end_time = 5;
+ uint32 param = 4;
+ uint32 mp_play_id = 13;
+ uint32 mechanicus_difficult_level = 2;
+ uint32 dungeon_id = 3;
+ uint32 match_id = 8;
+ MatchType match_type = 7;
+}
diff --git a/protocol/proto/PlayerStoreNotify.proto b/protocol/proto/PlayerStoreNotify.proto
new file mode 100644
index 00000000..28a40f30
--- /dev/null
+++ b/protocol/proto/PlayerStoreNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Item.proto";
+import "StoreType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 672
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerStoreNotify {
+ repeated Item item_list = 15;
+ uint32 weight_limit = 8;
+ StoreType store_type = 2;
+}
diff --git a/protocol/proto/PlayerTimeNotify.proto b/protocol/proto/PlayerTimeNotify.proto
new file mode 100644
index 00000000..7be7f64e
--- /dev/null
+++ b/protocol/proto/PlayerTimeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 191
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerTimeNotify {
+ uint64 server_time = 5;
+ uint64 player_time = 11;
+ bool is_paused = 14;
+}
diff --git a/protocol/proto/PlayerUidExtInfo.proto b/protocol/proto/PlayerUidExtInfo.proto
new file mode 100644
index 00000000..27c0b964
--- /dev/null
+++ b/protocol/proto/PlayerUidExtInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerUidExtInfo {
+ uint32 reg_platform = 1;
+}
diff --git a/protocol/proto/PlayerWidgetInfo.proto b/protocol/proto/PlayerWidgetInfo.proto
new file mode 100644
index 00000000..e5f2cf60
--- /dev/null
+++ b/protocol/proto/PlayerWidgetInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetSlotData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerWidgetInfo {
+ uint32 uid = 14;
+ repeated WidgetSlotData slot_list = 13;
+}
diff --git a/protocol/proto/PlayerWorldLocationInfo.proto b/protocol/proto/PlayerWorldLocationInfo.proto
new file mode 100644
index 00000000..c85fa6cd
--- /dev/null
+++ b/protocol/proto/PlayerWorldLocationInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerLocationInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerWorldLocationInfo {
+ uint32 scene_id = 1;
+ PlayerLocationInfo player_loc = 12;
+}
diff --git a/protocol/proto/PlayerWorldSceneInfo.proto b/protocol/proto/PlayerWorldSceneInfo.proto
new file mode 100644
index 00000000..bee4d494
--- /dev/null
+++ b/protocol/proto/PlayerWorldSceneInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PlayerWorldSceneInfo {
+ uint32 scene_id = 11;
+ repeated uint32 scene_tag_id_list = 8;
+ bool is_locked = 12;
+}
diff --git a/protocol/proto/PlayerWorldSceneInfoListNotify.proto b/protocol/proto/PlayerWorldSceneInfoListNotify.proto
new file mode 100644
index 00000000..17fbb70b
--- /dev/null
+++ b/protocol/proto/PlayerWorldSceneInfoListNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerWorldSceneInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3129
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PlayerWorldSceneInfoListNotify {
+ repeated PlayerWorldSceneInfo info_list = 5;
+}
diff --git a/protocol/proto/PolygonRegionSize.proto b/protocol/proto/PolygonRegionSize.proto
new file mode 100644
index 00000000..396076a4
--- /dev/null
+++ b/protocol/proto/PolygonRegionSize.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VectorPlane.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PolygonRegionSize {
+ repeated VectorPlane point_list = 5;
+ float height = 9;
+}
diff --git a/protocol/proto/PostEnterSceneReq.proto b/protocol/proto/PostEnterSceneReq.proto
new file mode 100644
index 00000000..b2f9fac8
--- /dev/null
+++ b/protocol/proto/PostEnterSceneReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3312
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PostEnterSceneReq {
+ uint32 enter_scene_token = 12;
+}
diff --git a/protocol/proto/PostEnterSceneRsp.proto b/protocol/proto/PostEnterSceneRsp.proto
new file mode 100644
index 00000000..6e7aab66
--- /dev/null
+++ b/protocol/proto/PostEnterSceneRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3184
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PostEnterSceneRsp {
+ int32 retcode = 4;
+ uint32 enter_scene_token = 12;
+}
diff --git a/protocol/proto/PotionActivityDetailInfo.proto b/protocol/proto/PotionActivityDetailInfo.proto
new file mode 100644
index 00000000..da0aac07
--- /dev/null
+++ b/protocol/proto/PotionActivityDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PotionStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PotionActivityDetailInfo {
+ repeated PotionStageData stage_list = 10;
+}
diff --git a/protocol/proto/PotionAvatarInfo.proto b/protocol/proto/PotionAvatarInfo.proto
new file mode 100644
index 00000000..74b7b372
--- /dev/null
+++ b/protocol/proto/PotionAvatarInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PotionAvatarInfo {
+ bool is_trial = 6;
+ uint64 avatar_id = 8;
+}
diff --git a/protocol/proto/PotionDungeonAvatar.proto b/protocol/proto/PotionDungeonAvatar.proto
new file mode 100644
index 00000000..0023b9ae
--- /dev/null
+++ b/protocol/proto/PotionDungeonAvatar.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PotionDungeonAvatar {
+ uint64 avatar_guid = 8;
+ bool is_trial = 2;
+}
diff --git a/protocol/proto/PotionDungeonResultInfo.proto b/protocol/proto/PotionDungeonResultInfo.proto
new file mode 100644
index 00000000..7fb34f0c
--- /dev/null
+++ b/protocol/proto/PotionDungeonResultInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PotionDungeonResultInfo {
+ uint32 final_score = 8;
+ uint32 left_time = 9;
+ uint32 difficulty_level = 14;
+ uint32 mode_id = 11;
+ uint32 level_id = 4;
+ uint32 stage_id = 2;
+}
diff --git a/protocol/proto/PotionEnterDungeonNotify.proto b/protocol/proto/PotionEnterDungeonNotify.proto
new file mode 100644
index 00000000..9495b7fe
--- /dev/null
+++ b/protocol/proto/PotionEnterDungeonNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PotionDungeonAvatar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8531
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PotionEnterDungeonNotify {
+ uint32 stage_id = 13;
+ uint32 difficulty_level = 7;
+ repeated PotionDungeonAvatar dungeon_avatar_list = 6;
+ uint32 level_id = 8;
+ uint32 mode_id = 5;
+}
diff --git a/protocol/proto/PotionEnterDungeonReq.proto b/protocol/proto/PotionEnterDungeonReq.proto
new file mode 100644
index 00000000..32eb3ee4
--- /dev/null
+++ b/protocol/proto/PotionEnterDungeonReq.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PotionAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8261
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PotionEnterDungeonReq {
+ repeated uint32 buff_id_list = 15;
+ uint32 level_id = 5;
+ repeated PotionAvatarInfo avatar_info_list = 14;
+ uint32 mode_id = 2;
+ uint32 stage_id = 13;
+}
diff --git a/protocol/proto/PotionEnterDungeonRsp.proto b/protocol/proto/PotionEnterDungeonRsp.proto
new file mode 100644
index 00000000..8e913fe6
--- /dev/null
+++ b/protocol/proto/PotionEnterDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8482
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PotionEnterDungeonRsp {
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/PotionLevelData.proto b/protocol/proto/PotionLevelData.proto
new file mode 100644
index 00000000..67f15176
--- /dev/null
+++ b/protocol/proto/PotionLevelData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PotionLevelData {
+ uint32 level_id = 10;
+ uint32 score = 7;
+ uint32 mode_id = 5;
+ uint32 difficulty_level = 2;
+}
diff --git a/protocol/proto/PotionResetChallengeReq.proto b/protocol/proto/PotionResetChallengeReq.proto
new file mode 100644
index 00000000..a0ed96d9
--- /dev/null
+++ b/protocol/proto/PotionResetChallengeReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8377
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PotionResetChallengeReq {
+ uint32 stage_id = 1;
+}
diff --git a/protocol/proto/PotionResetChallengeRsp.proto b/protocol/proto/PotionResetChallengeRsp.proto
new file mode 100644
index 00000000..a7353e64
--- /dev/null
+++ b/protocol/proto/PotionResetChallengeRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PotionStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8067
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PotionResetChallengeRsp {
+ int32 retcode = 11;
+ PotionStageData stage_data = 14;
+}
diff --git a/protocol/proto/PotionRestartDungeonReq.proto b/protocol/proto/PotionRestartDungeonReq.proto
new file mode 100644
index 00000000..b544cd02
--- /dev/null
+++ b/protocol/proto/PotionRestartDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8273
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PotionRestartDungeonReq {}
diff --git a/protocol/proto/PotionRestartDungeonRsp.proto b/protocol/proto/PotionRestartDungeonRsp.proto
new file mode 100644
index 00000000..9f72eedd
--- /dev/null
+++ b/protocol/proto/PotionRestartDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8062
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PotionRestartDungeonRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/PotionSaveDungeonResultReq.proto b/protocol/proto/PotionSaveDungeonResultReq.proto
new file mode 100644
index 00000000..b13dccb3
--- /dev/null
+++ b/protocol/proto/PotionSaveDungeonResultReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8192
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PotionSaveDungeonResultReq {
+ uint32 level_id = 8;
+ uint32 stage_id = 7;
+}
diff --git a/protocol/proto/PotionSaveDungeonResultRsp.proto b/protocol/proto/PotionSaveDungeonResultRsp.proto
new file mode 100644
index 00000000..393d57cf
--- /dev/null
+++ b/protocol/proto/PotionSaveDungeonResultRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8688
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PotionSaveDungeonResultRsp {
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/PotionStageData.proto b/protocol/proto/PotionStageData.proto
new file mode 100644
index 00000000..02f19496
--- /dev/null
+++ b/protocol/proto/PotionStageData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PotionLevelData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PotionStageData {
+ uint32 stage_id = 11;
+ repeated uint32 cool_down_buff_id_list = 2;
+ bool is_open = 15;
+ repeated PotionLevelData level_list = 14;
+ repeated uint32 cool_down_avatar_id_list = 13;
+}
diff --git a/protocol/proto/PrivateChatNotify.proto b/protocol/proto/PrivateChatNotify.proto
new file mode 100644
index 00000000..76caa49f
--- /dev/null
+++ b/protocol/proto/PrivateChatNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChatInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4962
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PrivateChatNotify {
+ ChatInfo chat_info = 7;
+}
diff --git a/protocol/proto/PrivateChatReq.proto b/protocol/proto/PrivateChatReq.proto
new file mode 100644
index 00000000..da1a6af6
--- /dev/null
+++ b/protocol/proto/PrivateChatReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5022
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PrivateChatReq {
+ uint32 target_uid = 7;
+ oneof content {
+ string text = 3;
+ uint32 icon = 4;
+ }
+}
diff --git a/protocol/proto/PrivateChatRsp.proto b/protocol/proto/PrivateChatRsp.proto
new file mode 100644
index 00000000..da1b1b87
--- /dev/null
+++ b/protocol/proto/PrivateChatRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5048
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PrivateChatRsp {
+ uint32 chat_forbidden_endtime = 12;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/ProductPriceTier.proto b/protocol/proto/ProductPriceTier.proto
new file mode 100644
index 00000000..9b79c6cd
--- /dev/null
+++ b/protocol/proto/ProductPriceTier.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ProductPriceTier {
+ string product_id = 6;
+ string price_tier = 12;
+}
diff --git a/protocol/proto/ProfilePicture.proto b/protocol/proto/ProfilePicture.proto
new file mode 100644
index 00000000..ab22d8ca
--- /dev/null
+++ b/protocol/proto/ProfilePicture.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ProfilePicture {
+ uint32 avatar_id = 1;
+ uint32 costume_id = 2;
+}
diff --git a/protocol/proto/ProfilePictureChangeNotify.proto b/protocol/proto/ProfilePictureChangeNotify.proto
new file mode 100644
index 00000000..a1f85b38
--- /dev/null
+++ b/protocol/proto/ProfilePictureChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4016
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ProfilePictureChangeNotify {
+ ProfilePicture profile_picture = 12;
+}
diff --git a/protocol/proto/ProjectorOptionReq.proto b/protocol/proto/ProjectorOptionReq.proto
new file mode 100644
index 00000000..73d67039
--- /dev/null
+++ b/protocol/proto/ProjectorOptionReq.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 863
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ProjectorOptionReq {
+ uint32 op_type = 7;
+ uint32 entity_id = 10;
+
+ enum ProjectorOpType {
+ PROJECTOR_OP_TYPE_NONE = 0;
+ PROJECTOR_OP_TYPE_CREATE = 1;
+ PROJECTOR_OP_TYPE_DESTROY = 2;
+ }
+}
diff --git a/protocol/proto/ProjectorOptionRsp.proto b/protocol/proto/ProjectorOptionRsp.proto
new file mode 100644
index 00000000..23241dd9
--- /dev/null
+++ b/protocol/proto/ProjectorOptionRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 895
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ProjectorOptionRsp {
+ uint32 entity_id = 10;
+ int32 retcode = 12;
+ uint32 op_type = 13;
+}
diff --git a/protocol/proto/PropChangeReason.proto b/protocol/proto/PropChangeReason.proto
new file mode 100644
index 00000000..8b79af70
--- /dev/null
+++ b/protocol/proto/PropChangeReason.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum PropChangeReason {
+ PROP_CHANGE_REASON_NONE = 0;
+ PROP_CHANGE_REASON_STATUE_RECOVER = 1;
+ PROP_CHANGE_REASON_ENERGY_BALL = 2;
+ PROP_CHANGE_REASON_ABILITY = 3;
+ PROP_CHANGE_REASON_LEVELUP = 4;
+ PROP_CHANGE_REASON_ITEM = 5;
+ PROP_CHANGE_REASON_AVATAR_CARD = 6;
+ PROP_CHANGE_REASON_CITY_LEVELUP = 7;
+ PROP_CHANGE_REASON_AVATAR_UPGRADE = 8;
+ PROP_CHANGE_REASON_AVATAR_PROMOTE = 9;
+ PROP_CHANGE_REASON_PLAYER_ADD_EXP = 10;
+ PROP_CHANGE_REASON_FINISH_QUEST = 11;
+ PROP_CHANGE_REASON_GM = 12;
+ PROP_CHANGE_REASON_MANUAL_ADJUST_WORLD_LEVEL = 13;
+}
diff --git a/protocol/proto/PropPair.proto b/protocol/proto/PropPair.proto
new file mode 100644
index 00000000..0a86dbe0
--- /dev/null
+++ b/protocol/proto/PropPair.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PropValue.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PropPair {
+ uint32 type = 1;
+ PropValue prop_value = 2;
+}
diff --git a/protocol/proto/PropValue.proto b/protocol/proto/PropValue.proto
new file mode 100644
index 00000000..ed2f761d
--- /dev/null
+++ b/protocol/proto/PropValue.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PropValue {
+ uint32 type = 1;
+ int64 val = 4;
+ oneof value {
+ int64 ival = 2;
+ float fval = 3;
+ }
+}
diff --git a/protocol/proto/ProtEntityType.proto b/protocol/proto/ProtEntityType.proto
new file mode 100644
index 00000000..1ebfac26
--- /dev/null
+++ b/protocol/proto/ProtEntityType.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ProtEntityType {
+ PROT_ENTITY_TYPE_NONE = 0;
+ PROT_ENTITY_TYPE_AVATAR = 1;
+ PROT_ENTITY_TYPE_MONSTER = 2;
+ PROT_ENTITY_TYPE_NPC = 3;
+ PROT_ENTITY_TYPE_GADGET = 4;
+ PROT_ENTITY_TYPE_REGION = 5;
+ PROT_ENTITY_TYPE_WEAPON = 6;
+ PROT_ENTITY_TYPE_WEATHER = 7;
+ PROT_ENTITY_TYPE_SCENE = 8;
+ PROT_ENTITY_TYPE_TEAM = 9;
+ PROT_ENTITY_TYPE_MASSIVE_ENTITY = 10;
+ PROT_ENTITY_TYPE_MP_LEVEL = 11;
+ PROT_ENTITY_TYPE_PLAY_TEAM_ENTITY = 12;
+ PROT_ENTITY_TYPE_EYE_POINT = 13;
+ PROT_ENTITY_TYPE_MAX = 14;
+}
diff --git a/protocol/proto/ProudSkillChangeNotify.proto b/protocol/proto/ProudSkillChangeNotify.proto
new file mode 100644
index 00000000..f185f2a7
--- /dev/null
+++ b/protocol/proto/ProudSkillChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1031
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ProudSkillChangeNotify {
+ uint64 avatar_guid = 11;
+ uint32 entity_id = 4;
+ uint32 skill_depot_id = 8;
+ repeated uint32 proud_skill_list = 12;
+}
diff --git a/protocol/proto/ProudSkillExtraLevelNotify.proto b/protocol/proto/ProudSkillExtraLevelNotify.proto
new file mode 100644
index 00000000..5463d3ae
--- /dev/null
+++ b/protocol/proto/ProudSkillExtraLevelNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1081
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ProudSkillExtraLevelNotify {
+ uint32 talent_type = 11;
+ uint32 talent_index = 8;
+ uint64 avatar_guid = 15;
+ uint32 extra_level = 3;
+}
diff --git a/protocol/proto/ProudSkillUpgradeReq.proto b/protocol/proto/ProudSkillUpgradeReq.proto
new file mode 100644
index 00000000..bd0a0205
--- /dev/null
+++ b/protocol/proto/ProudSkillUpgradeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1073
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ProudSkillUpgradeReq {
+ uint64 avatar_guid = 5;
+ uint32 old_proud_skill_level = 4;
+ uint32 proud_skill_id = 14;
+}
diff --git a/protocol/proto/ProudSkillUpgradeRsp.proto b/protocol/proto/ProudSkillUpgradeRsp.proto
new file mode 100644
index 00000000..d70ab946
--- /dev/null
+++ b/protocol/proto/ProudSkillUpgradeRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1099
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ProudSkillUpgradeRsp {
+ uint64 avatar_guid = 6;
+ uint32 proud_skill_id = 10;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/PublishCustomDungeonReq.proto b/protocol/proto/PublishCustomDungeonReq.proto
new file mode 100644
index 00000000..b0c4e070
--- /dev/null
+++ b/protocol/proto/PublishCustomDungeonReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6242
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PublishCustomDungeonReq {
+ repeated uint32 tag_list = 1;
+ uint64 dungeon_guid = 5;
+}
diff --git a/protocol/proto/PublishCustomDungeonRsp.proto b/protocol/proto/PublishCustomDungeonRsp.proto
new file mode 100644
index 00000000..fd2f1211
--- /dev/null
+++ b/protocol/proto/PublishCustomDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6214
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PublishCustomDungeonRsp {
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/PublishUgcReq.proto b/protocol/proto/PublishUgcReq.proto
new file mode 100644
index 00000000..f61920df
--- /dev/null
+++ b/protocol/proto/PublishUgcReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6344
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PublishUgcReq {
+ UgcType ugc_type = 7;
+ uint64 ugc_guid = 12;
+}
diff --git a/protocol/proto/PublishUgcRsp.proto b/protocol/proto/PublishUgcRsp.proto
new file mode 100644
index 00000000..e2f0591a
--- /dev/null
+++ b/protocol/proto/PublishUgcRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6349
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PublishUgcRsp {
+ uint64 ugc_guid = 14;
+ int32 retcode = 15;
+ UgcType ugc_type = 13;
+}
diff --git a/protocol/proto/PullPrivateChatReq.proto b/protocol/proto/PullPrivateChatReq.proto
new file mode 100644
index 00000000..89e0cf25
--- /dev/null
+++ b/protocol/proto/PullPrivateChatReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4971
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PullPrivateChatReq {
+ uint32 target_uid = 5;
+ uint32 pull_num = 7;
+ uint32 from_sequence = 12;
+}
diff --git a/protocol/proto/PullPrivateChatRsp.proto b/protocol/proto/PullPrivateChatRsp.proto
new file mode 100644
index 00000000..bfa49b1d
--- /dev/null
+++ b/protocol/proto/PullPrivateChatRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChatInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4953
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PullPrivateChatRsp {
+ repeated ChatInfo chat_info = 15;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/PullRecentChatReq.proto b/protocol/proto/PullRecentChatReq.proto
new file mode 100644
index 00000000..a2bab3eb
--- /dev/null
+++ b/protocol/proto/PullRecentChatReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5040
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PullRecentChatReq {
+ uint32 pull_num = 6;
+ uint32 begin_sequence = 15;
+}
diff --git a/protocol/proto/PullRecentChatRsp.proto b/protocol/proto/PullRecentChatRsp.proto
new file mode 100644
index 00000000..12bfb437
--- /dev/null
+++ b/protocol/proto/PullRecentChatRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChatInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5023
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PullRecentChatRsp {
+ repeated ChatInfo chat_info = 15;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/PushTipsAllDataNotify.proto b/protocol/proto/PushTipsAllDataNotify.proto
new file mode 100644
index 00000000..892bdea3
--- /dev/null
+++ b/protocol/proto/PushTipsAllDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PushTipsData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2222
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PushTipsAllDataNotify {
+ repeated PushTipsData push_tips_list = 4;
+}
diff --git a/protocol/proto/PushTipsChangeNotify.proto b/protocol/proto/PushTipsChangeNotify.proto
new file mode 100644
index 00000000..fd2fc4df
--- /dev/null
+++ b/protocol/proto/PushTipsChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PushTipsData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2265
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PushTipsChangeNotify {
+ repeated PushTipsData push_tips_list = 9;
+}
diff --git a/protocol/proto/PushTipsData.proto b/protocol/proto/PushTipsData.proto
new file mode 100644
index 00000000..6bb9c342
--- /dev/null
+++ b/protocol/proto/PushTipsData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message PushTipsData {
+ uint32 push_tips_id = 13;
+ uint32 state = 4;
+}
diff --git a/protocol/proto/PushTipsReadFinishReq.proto b/protocol/proto/PushTipsReadFinishReq.proto
new file mode 100644
index 00000000..3d229047
--- /dev/null
+++ b/protocol/proto/PushTipsReadFinishReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2204
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message PushTipsReadFinishReq {
+ uint32 push_tips_id = 11;
+}
diff --git a/protocol/proto/PushTipsReadFinishRsp.proto b/protocol/proto/PushTipsReadFinishRsp.proto
new file mode 100644
index 00000000..55353be0
--- /dev/null
+++ b/protocol/proto/PushTipsReadFinishRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2293
+// EnetChannelId: 0
+// EnetIsReliable: true
+message PushTipsReadFinishRsp {
+ uint32 push_tips_id = 3;
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/QueryCodexMonsterBeKilledNumReq.proto b/protocol/proto/QueryCodexMonsterBeKilledNumReq.proto
new file mode 100644
index 00000000..ffcbc1c3
--- /dev/null
+++ b/protocol/proto/QueryCodexMonsterBeKilledNumReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4203
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message QueryCodexMonsterBeKilledNumReq {
+ repeated uint32 codex_id_list = 14;
+}
diff --git a/protocol/proto/QueryCodexMonsterBeKilledNumRsp.proto b/protocol/proto/QueryCodexMonsterBeKilledNumRsp.proto
new file mode 100644
index 00000000..6aa0723b
--- /dev/null
+++ b/protocol/proto/QueryCodexMonsterBeKilledNumRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4209
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QueryCodexMonsterBeKilledNumRsp {
+ repeated uint32 codex_id_list = 4;
+ repeated uint32 be_captured_num_list = 6;
+ repeated uint32 be_killed_num_list = 12;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/QueryCurrRegionHttpRsp.proto b/protocol/proto/QueryCurrRegionHttpRsp.proto
new file mode 100644
index 00000000..db9c0e2b
--- /dev/null
+++ b/protocol/proto/QueryCurrRegionHttpRsp.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ForceUpdateInfo.proto";
+import "RegionInfo.proto";
+import "StopServerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message QueryCurrRegionHttpRsp {
+ int32 retcode = 1;
+ string msg = 2;
+ RegionInfo region_info = 3;
+ bytes client_secret_key = 11;
+ bytes region_custom_config_encrypted = 12;
+ bytes client_region_custom_config_encrypted = 13;
+ oneof detail {
+ ForceUpdateInfo force_update = 4;
+ StopServerInfo stop_server = 5;
+ }
+}
diff --git a/protocol/proto/QueryFilter.proto b/protocol/proto/QueryFilter.proto
new file mode 100644
index 00000000..fbd0582e
--- /dev/null
+++ b/protocol/proto/QueryFilter.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message QueryFilter {
+ int32 type_id = 9;
+ int32 area_mask = 13;
+}
diff --git a/protocol/proto/QueryPathReq.proto b/protocol/proto/QueryPathReq.proto
new file mode 100644
index 00000000..94d01592
--- /dev/null
+++ b/protocol/proto/QueryPathReq.proto
@@ -0,0 +1,45 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "QueryFilter.proto";
+import "Vector.proto";
+import "Vector3Int.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2372
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message QueryPathReq {
+ OptionType query_type = 13;
+ Vector3Int source_extend = 6;
+ Vector source_pos = 2;
+ QueryFilter filter = 12;
+ int32 query_id = 15;
+ Vector3Int destination_extend = 4;
+ repeated Vector destination_pos = 10;
+ uint32 scene_id = 11;
+
+ enum OptionType {
+ OPTION_TYPE_NONE = 0;
+ OPTION_TYPE_NORMAL = 1;
+ OPTION_TYPE_FIRST_CAN_GO = 2;
+ }
+}
diff --git a/protocol/proto/QueryPathRsp.proto b/protocol/proto/QueryPathRsp.proto
new file mode 100644
index 00000000..3cbabf71
--- /dev/null
+++ b/protocol/proto/QueryPathRsp.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2398
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QueryPathRsp {
+ int32 query_id = 12;
+ repeated Vector corners = 6;
+ PathStatusType query_status = 8;
+ int32 retcode = 1;
+
+ enum PathStatusType {
+ PATH_STATUS_TYPE_FAIL = 0;
+ PATH_STATUS_TYPE_SUCC = 1;
+ PATH_STATUS_TYPE_PARTIAL = 2;
+ }
+}
diff --git a/protocol/proto/QueryRegionListHttpRsp.proto b/protocol/proto/QueryRegionListHttpRsp.proto
new file mode 100644
index 00000000..aee394f0
--- /dev/null
+++ b/protocol/proto/QueryRegionListHttpRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RegionSimpleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message QueryRegionListHttpRsp {
+ int32 retcode = 1;
+ repeated RegionSimpleInfo region_list = 2;
+ bytes client_secret_key = 5;
+ bytes client_custom_config_encrypted = 6;
+ bool enable_login_pc = 7;
+}
diff --git a/protocol/proto/Quest.proto b/protocol/proto/Quest.proto
new file mode 100644
index 00000000..23dc94f2
--- /dev/null
+++ b/protocol/proto/Quest.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Quest {
+ uint32 quest_id = 1;
+ uint32 state = 2;
+ uint32 start_time = 4;
+ bool is_random = 5;
+ uint32 parent_quest_id = 6;
+ uint32 quest_config_id = 7;
+ uint32 start_game_time = 8;
+ uint32 accept_time = 9;
+ repeated uint32 lacked_npc_list = 10;
+ repeated uint32 finish_progress_list = 11;
+ repeated uint32 fail_progress_list = 12;
+ map lacked_npc_map = 13;
+ repeated uint32 lacked_place_list = 14;
+ map lacked_place_map = 15;
+}
diff --git a/protocol/proto/QuestCreateEntityReq.proto b/protocol/proto/QuestCreateEntityReq.proto
new file mode 100644
index 00000000..2c53f6bf
--- /dev/null
+++ b/protocol/proto/QuestCreateEntityReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CreateEntityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 499
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message QuestCreateEntityReq {
+ uint32 parent_quest_id = 9;
+ bool is_rewind = 3;
+ uint32 quest_id = 2;
+ CreateEntityInfo entity = 13;
+}
diff --git a/protocol/proto/QuestCreateEntityRsp.proto b/protocol/proto/QuestCreateEntityRsp.proto
new file mode 100644
index 00000000..95ef4cb4
--- /dev/null
+++ b/protocol/proto/QuestCreateEntityRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CreateEntityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 431
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestCreateEntityRsp {
+ uint32 quest_id = 13;
+ int32 retcode = 8;
+ uint32 entity_id = 7;
+ CreateEntityInfo entity = 11;
+ uint32 parent_quest_id = 1;
+ bool is_rewind = 14;
+}
diff --git a/protocol/proto/QuestDelNotify.proto b/protocol/proto/QuestDelNotify.proto
new file mode 100644
index 00000000..edefe21e
--- /dev/null
+++ b/protocol/proto/QuestDelNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 412
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestDelNotify {
+ uint32 quest_id = 1;
+}
diff --git a/protocol/proto/QuestDestroyEntityReq.proto b/protocol/proto/QuestDestroyEntityReq.proto
new file mode 100644
index 00000000..34e5a34e
--- /dev/null
+++ b/protocol/proto/QuestDestroyEntityReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 475
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message QuestDestroyEntityReq {
+ uint32 scene_id = 2;
+ uint32 entity_id = 9;
+ uint32 quest_id = 8;
+}
diff --git a/protocol/proto/QuestDestroyEntityRsp.proto b/protocol/proto/QuestDestroyEntityRsp.proto
new file mode 100644
index 00000000..942a51e9
--- /dev/null
+++ b/protocol/proto/QuestDestroyEntityRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 448
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestDestroyEntityRsp {
+ uint32 quest_id = 14;
+ uint32 scene_id = 9;
+ uint32 entity_id = 12;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/QuestDestroyNpcReq.proto b/protocol/proto/QuestDestroyNpcReq.proto
new file mode 100644
index 00000000..ef7a28e6
--- /dev/null
+++ b/protocol/proto/QuestDestroyNpcReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 422
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message QuestDestroyNpcReq {
+ uint32 npc_id = 1;
+ uint32 parent_quest_id = 12;
+}
diff --git a/protocol/proto/QuestDestroyNpcRsp.proto b/protocol/proto/QuestDestroyNpcRsp.proto
new file mode 100644
index 00000000..3522c602
--- /dev/null
+++ b/protocol/proto/QuestDestroyNpcRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 465
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestDestroyNpcRsp {
+ uint32 npc_id = 12;
+ uint32 parent_quest_id = 4;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/QuestGlobalVar.proto b/protocol/proto/QuestGlobalVar.proto
new file mode 100644
index 00000000..8f5fdb19
--- /dev/null
+++ b/protocol/proto/QuestGlobalVar.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message QuestGlobalVar {
+ int32 value = 8;
+ uint32 key = 4;
+}
diff --git a/protocol/proto/QuestGlobalVarNotify.proto b/protocol/proto/QuestGlobalVarNotify.proto
new file mode 100644
index 00000000..c6cba2b6
--- /dev/null
+++ b/protocol/proto/QuestGlobalVarNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "QuestGlobalVar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 434
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestGlobalVarNotify {
+ repeated QuestGlobalVar var_list = 1;
+}
diff --git a/protocol/proto/QuestListNotify.proto b/protocol/proto/QuestListNotify.proto
new file mode 100644
index 00000000..52eb12bb
--- /dev/null
+++ b/protocol/proto/QuestListNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Quest.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 472
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestListNotify {
+ repeated Quest quest_list = 1;
+}
diff --git a/protocol/proto/QuestListUpdateNotify.proto b/protocol/proto/QuestListUpdateNotify.proto
new file mode 100644
index 00000000..72ddc368
--- /dev/null
+++ b/protocol/proto/QuestListUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Quest.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 498
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestListUpdateNotify {
+ repeated Quest quest_list = 6;
+}
diff --git a/protocol/proto/QuestProgressUpdateNotify.proto b/protocol/proto/QuestProgressUpdateNotify.proto
new file mode 100644
index 00000000..b53637e5
--- /dev/null
+++ b/protocol/proto/QuestProgressUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 482
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestProgressUpdateNotify {
+ uint32 quest_id = 12;
+ repeated uint32 fail_progress_list = 6;
+ repeated uint32 finish_progress_list = 13;
+}
diff --git a/protocol/proto/QuestTransmitReq.proto b/protocol/proto/QuestTransmitReq.proto
new file mode 100644
index 00000000..fb829a3b
--- /dev/null
+++ b/protocol/proto/QuestTransmitReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 450
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message QuestTransmitReq {
+ uint32 point_id = 15;
+ uint32 quest_id = 5;
+}
diff --git a/protocol/proto/QuestTransmitRsp.proto b/protocol/proto/QuestTransmitRsp.proto
new file mode 100644
index 00000000..a60d2d78
--- /dev/null
+++ b/protocol/proto/QuestTransmitRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 443
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestTransmitRsp {
+ uint32 point_id = 12;
+ int32 retcode = 5;
+ uint32 quest_id = 3;
+}
diff --git a/protocol/proto/QuestUpdateQuestTimeVarNotify.proto b/protocol/proto/QuestUpdateQuestTimeVarNotify.proto
new file mode 100644
index 00000000..b4ae88f3
--- /dev/null
+++ b/protocol/proto/QuestUpdateQuestTimeVarNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 456
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestUpdateQuestTimeVarNotify {
+ map time_var_map = 1;
+ uint32 parent_quest_id = 3;
+}
diff --git a/protocol/proto/QuestUpdateQuestVarNotify.proto b/protocol/proto/QuestUpdateQuestVarNotify.proto
new file mode 100644
index 00000000..219bd3e8
--- /dev/null
+++ b/protocol/proto/QuestUpdateQuestVarNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 453
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestUpdateQuestVarNotify {
+ repeated int32 quest_var = 1;
+ uint32 parent_quest_id = 12;
+ uint32 parent_quest_var_seq = 8;
+}
diff --git a/protocol/proto/QuestUpdateQuestVarReq.proto b/protocol/proto/QuestUpdateQuestVarReq.proto
new file mode 100644
index 00000000..78fa1da4
--- /dev/null
+++ b/protocol/proto/QuestUpdateQuestVarReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "QuestVarOp.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 447
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message QuestUpdateQuestVarReq {
+ uint32 parent_quest_id = 9;
+ repeated QuestVarOp quest_var_op_list = 4;
+ uint32 quest_id = 11;
+ uint32 parent_quest_var_seq = 1;
+}
diff --git a/protocol/proto/QuestUpdateQuestVarRsp.proto b/protocol/proto/QuestUpdateQuestVarRsp.proto
new file mode 100644
index 00000000..5e3ae8d6
--- /dev/null
+++ b/protocol/proto/QuestUpdateQuestVarRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 439
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuestUpdateQuestVarRsp {
+ int32 retcode = 10;
+ uint32 parent_quest_var_seq = 2;
+ uint32 parent_quest_id = 8;
+ uint32 quest_id = 15;
+}
diff --git a/protocol/proto/QuestVarOp.proto b/protocol/proto/QuestVarOp.proto
new file mode 100644
index 00000000..da971ecb
--- /dev/null
+++ b/protocol/proto/QuestVarOp.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message QuestVarOp {
+ uint32 index = 9;
+ int32 value = 5;
+ bool is_add = 6;
+}
diff --git a/protocol/proto/QuickOpenActivityReq.proto b/protocol/proto/QuickOpenActivityReq.proto
new file mode 100644
index 00000000..7ffd2a8a
--- /dev/null
+++ b/protocol/proto/QuickOpenActivityReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8178
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message QuickOpenActivityReq {
+ uint32 activity_id = 1;
+}
diff --git a/protocol/proto/QuickOpenActivityRsp.proto b/protocol/proto/QuickOpenActivityRsp.proto
new file mode 100644
index 00000000..dd64aaaa
--- /dev/null
+++ b/protocol/proto/QuickOpenActivityRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8882
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuickOpenActivityRsp {
+ int32 retcode = 2;
+ uint32 activity_id = 4;
+}
diff --git a/protocol/proto/QuickUseWidgetReq.proto b/protocol/proto/QuickUseWidgetReq.proto
new file mode 100644
index 00000000..4e438d3f
--- /dev/null
+++ b/protocol/proto/QuickUseWidgetReq.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetCameraInfo.proto";
+import "WidgetCreateLocationInfo.proto";
+import "WidgetCreatorInfo.proto";
+import "WidgetThunderBirdFeatherInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4299
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message QuickUseWidgetReq {
+ oneof param {
+ WidgetCreateLocationInfo location_info = 676;
+ WidgetCameraInfo camera_info = 478;
+ WidgetCreatorInfo creator_info = 812;
+ WidgetThunderBirdFeatherInfo thunder_bird_feather_info = 1859;
+ }
+}
diff --git a/protocol/proto/QuickUseWidgetRsp.proto b/protocol/proto/QuickUseWidgetRsp.proto
new file mode 100644
index 00000000..1b76c1e5
--- /dev/null
+++ b/protocol/proto/QuickUseWidgetRsp.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ClientCollectorData.proto";
+import "OneofGatherPointDetectorData.proto";
+import "SkyCrystalDetectorQuickUseResult.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4270
+// EnetChannelId: 0
+// EnetIsReliable: true
+message QuickUseWidgetRsp {
+ uint32 material_id = 6;
+ int32 retcode = 5;
+ oneof param {
+ OneofGatherPointDetectorData detector_data = 3;
+ ClientCollectorData client_collector_data = 15;
+ SkyCrystalDetectorQuickUseResult sky_crystal_detector_quick_use_result = 168922;
+ }
+}
diff --git a/protocol/proto/RacingGallerySettleInfo.proto b/protocol/proto/RacingGallerySettleInfo.proto
new file mode 100644
index 00000000..889dc1ae
--- /dev/null
+++ b/protocol/proto/RacingGallerySettleInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RacingGallerySettleInfo {
+ uint32 winner_uid = 6;
+ GalleryStopReason reason = 4;
+ uint32 use_time = 1;
+}
diff --git a/protocol/proto/ReadMailNotify.proto b/protocol/proto/ReadMailNotify.proto
new file mode 100644
index 00000000..5209e98e
--- /dev/null
+++ b/protocol/proto/ReadMailNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1412
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReadMailNotify {
+ repeated uint32 mail_id_list = 2;
+}
diff --git a/protocol/proto/ReadNicknameAuditReq.proto b/protocol/proto/ReadNicknameAuditReq.proto
new file mode 100644
index 00000000..e6fe16db
--- /dev/null
+++ b/protocol/proto/ReadNicknameAuditReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 177
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReadNicknameAuditReq {}
diff --git a/protocol/proto/ReadNicknameAuditRsp.proto b/protocol/proto/ReadNicknameAuditRsp.proto
new file mode 100644
index 00000000..8801a171
--- /dev/null
+++ b/protocol/proto/ReadNicknameAuditRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 137
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReadNicknameAuditRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/ReadPrivateChatReq.proto b/protocol/proto/ReadPrivateChatReq.proto
new file mode 100644
index 00000000..ce498298
--- /dev/null
+++ b/protocol/proto/ReadPrivateChatReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5049
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReadPrivateChatReq {
+ uint32 target_uid = 1;
+}
diff --git a/protocol/proto/ReadPrivateChatRsp.proto b/protocol/proto/ReadPrivateChatRsp.proto
new file mode 100644
index 00000000..e38efea2
--- /dev/null
+++ b/protocol/proto/ReadPrivateChatRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4981
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReadPrivateChatRsp {
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/ReadSignatureAuditReq.proto b/protocol/proto/ReadSignatureAuditReq.proto
new file mode 100644
index 00000000..67be40e3
--- /dev/null
+++ b/protocol/proto/ReadSignatureAuditReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4020
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReadSignatureAuditReq {}
diff --git a/protocol/proto/ReadSignatureAuditRsp.proto b/protocol/proto/ReadSignatureAuditRsp.proto
new file mode 100644
index 00000000..93d8b8de
--- /dev/null
+++ b/protocol/proto/ReadSignatureAuditRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4064
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReadSignatureAuditRsp {
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/ReceivedTrialAvatarActivityRewardReq.proto b/protocol/proto/ReceivedTrialAvatarActivityRewardReq.proto
new file mode 100644
index 00000000..6d013989
--- /dev/null
+++ b/protocol/proto/ReceivedTrialAvatarActivityRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2130
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReceivedTrialAvatarActivityRewardReq {
+ uint32 trial_avatar_index_id = 4;
+}
diff --git a/protocol/proto/ReceivedTrialAvatarActivityRewardRsp.proto b/protocol/proto/ReceivedTrialAvatarActivityRewardRsp.proto
new file mode 100644
index 00000000..e418055b
--- /dev/null
+++ b/protocol/proto/ReceivedTrialAvatarActivityRewardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2076
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReceivedTrialAvatarActivityRewardRsp {
+ uint32 activity_id = 13;
+ int32 retcode = 3;
+ uint32 trial_avatar_index_id = 9;
+}
diff --git a/protocol/proto/RechargeReq.proto b/protocol/proto/RechargeReq.proto
new file mode 100644
index 00000000..6ee4356c
--- /dev/null
+++ b/protocol/proto/RechargeReq.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayProduct.proto";
+import "ShopCardProduct.proto";
+import "ShopConcertProduct.proto";
+import "ShopMcoinProduct.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4126
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RechargeReq {
+ PlayProduct play_product = 10;
+ ShopCardProduct card_product = 8;
+ ShopMcoinProduct mcoin_product = 14;
+ ShopConcertProduct concert_product = 7;
+}
diff --git a/protocol/proto/RechargeRsp.proto b/protocol/proto/RechargeRsp.proto
new file mode 100644
index 00000000..060d3480
--- /dev/null
+++ b/protocol/proto/RechargeRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4118
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RechargeRsp {
+ int32 retcode = 12;
+ bool is_show_minors_hint = 6;
+ string product_id = 2;
+}
diff --git a/protocol/proto/RecordUsage.proto b/protocol/proto/RecordUsage.proto
new file mode 100644
index 00000000..d5c107d6
--- /dev/null
+++ b/protocol/proto/RecordUsage.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum RecordUsage {
+ RECORD_USAGE_UGC_RECORD_USAGE_NONE = 0;
+ RECORD_USAGE_UGC_RECORD_USAGE_IMPORT = 1;
+ RECORD_USAGE_UGC_RECORD_USAGE_PLAY = 2;
+ RECORD_USAGE_UGC_RECORD_USAGE_TRIAL = 3;
+ RECORD_USAGE_UGC_RECORD_USAGE_COMPARE = 4;
+}
diff --git a/protocol/proto/RedPointData.proto b/protocol/proto/RedPointData.proto
new file mode 100644
index 00000000..ce36c021
--- /dev/null
+++ b/protocol/proto/RedPointData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RedPointData {
+ uint32 red_point_type = 1;
+ bool is_show = 2;
+ uint32 content_id = 3;
+}
diff --git a/protocol/proto/RedeemLegendaryKeyReq.proto b/protocol/proto/RedeemLegendaryKeyReq.proto
new file mode 100644
index 00000000..9e5f12d8
--- /dev/null
+++ b/protocol/proto/RedeemLegendaryKeyReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 446
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RedeemLegendaryKeyReq {}
diff --git a/protocol/proto/RedeemLegendaryKeyRsp.proto b/protocol/proto/RedeemLegendaryKeyRsp.proto
new file mode 100644
index 00000000..c937f79c
--- /dev/null
+++ b/protocol/proto/RedeemLegendaryKeyRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 441
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RedeemLegendaryKeyRsp {
+ uint32 legendary_key_count = 11;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/ReformFireworksReq.proto b/protocol/proto/ReformFireworksReq.proto
new file mode 100644
index 00000000..71cae12f
--- /dev/null
+++ b/protocol/proto/ReformFireworksReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FireworksReformData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6036
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReformFireworksReq {
+ FireworksReformData fireworks_reform_data = 3;
+}
diff --git a/protocol/proto/ReformFireworksRsp.proto b/protocol/proto/ReformFireworksRsp.proto
new file mode 100644
index 00000000..2d344d1e
--- /dev/null
+++ b/protocol/proto/ReformFireworksRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5929
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReformFireworksRsp {
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/RefreshBackgroundAvatarReq.proto b/protocol/proto/RefreshBackgroundAvatarReq.proto
new file mode 100644
index 00000000..4e846759
--- /dev/null
+++ b/protocol/proto/RefreshBackgroundAvatarReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1743
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RefreshBackgroundAvatarReq {}
diff --git a/protocol/proto/RefreshBackgroundAvatarRsp.proto b/protocol/proto/RefreshBackgroundAvatarRsp.proto
new file mode 100644
index 00000000..ee5d2ce4
--- /dev/null
+++ b/protocol/proto/RefreshBackgroundAvatarRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1800
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RefreshBackgroundAvatarRsp {
+ map hp_full_time_map = 15;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/RefreshEntityAuthNotify.proto b/protocol/proto/RefreshEntityAuthNotify.proto
new file mode 100644
index 00000000..942d4a86
--- /dev/null
+++ b/protocol/proto/RefreshEntityAuthNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3259
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RefreshEntityAuthNotify {
+ repeated uint32 entity_id_list = 7;
+}
diff --git a/protocol/proto/RefreshRogueDiaryCardReq.proto b/protocol/proto/RefreshRogueDiaryCardReq.proto
new file mode 100644
index 00000000..0803850a
--- /dev/null
+++ b/protocol/proto/RefreshRogueDiaryCardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8991
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RefreshRogueDiaryCardReq {
+ repeated uint32 refresh_card_list = 8;
+}
diff --git a/protocol/proto/RefreshRogueDiaryCardRsp.proto b/protocol/proto/RefreshRogueDiaryCardRsp.proto
new file mode 100644
index 00000000..246922af
--- /dev/null
+++ b/protocol/proto/RefreshRogueDiaryCardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8028
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RefreshRogueDiaryCardRsp {
+ repeated uint32 rand_card_list = 15;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/RefreshRoguelikeDungeonCardReq.proto b/protocol/proto/RefreshRoguelikeDungeonCardReq.proto
new file mode 100644
index 00000000..62f5f906
--- /dev/null
+++ b/protocol/proto/RefreshRoguelikeDungeonCardReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8279
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RefreshRoguelikeDungeonCardReq {}
diff --git a/protocol/proto/RefreshRoguelikeDungeonCardRsp.proto b/protocol/proto/RefreshRoguelikeDungeonCardRsp.proto
new file mode 100644
index 00000000..1bfab402
--- /dev/null
+++ b/protocol/proto/RefreshRoguelikeDungeonCardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8349
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RefreshRoguelikeDungeonCardRsp {
+ int32 retcode = 3;
+ repeated uint32 res_card_list = 9;
+}
diff --git a/protocol/proto/RegionInfo.proto b/protocol/proto/RegionInfo.proto
new file mode 100644
index 00000000..3f2c61aa
--- /dev/null
+++ b/protocol/proto/RegionInfo.proto
@@ -0,0 +1,54 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ResVersionConfig.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RegionInfo {
+ string gateserver_ip = 1;
+ uint32 gateserver_port = 2;
+ string pay_callback_url = 3;
+ string area_type = 7;
+ string resource_url = 8;
+ string data_url = 9;
+ string feedback_url = 10;
+ string bulletin_url = 11;
+ string resource_url_bak = 12;
+ string data_url_bak = 13;
+ uint32 client_data_version = 14;
+ string handbook_url = 16;
+ uint32 client_silence_data_version = 18;
+ string client_data_md5 = 19;
+ string client_silence_data_md5 = 20;
+ ResVersionConfig res_version_config = 22;
+ bytes secret_key = 23;
+ string official_community_url = 24;
+ string client_version_suffix = 26;
+ string client_silence_version_suffix = 27;
+ bool use_gateserver_domain_name = 28;
+ string gateserver_domain_name = 29;
+ string user_center_url = 30;
+ string account_bind_url = 31;
+ string cdkey_url = 32;
+ string privacy_policy_url = 33;
+ string next_resource_url = 34;
+ ResVersionConfig next_res_version_config = 35;
+ string game_biz = 36;
+}
diff --git a/protocol/proto/RegionSearch.proto b/protocol/proto/RegionSearch.proto
new file mode 100644
index 00000000..27bc6730
--- /dev/null
+++ b/protocol/proto/RegionSearch.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RegionSearchState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RegionSearch {
+ bool is_entered = 13;
+ uint32 progress = 5;
+ RegionSearchState state = 2;
+ uint32 region_search_id = 8;
+}
diff --git a/protocol/proto/RegionSearchChangeRegionNotify.proto b/protocol/proto/RegionSearchChangeRegionNotify.proto
new file mode 100644
index 00000000..d2b43705
--- /dev/null
+++ b/protocol/proto/RegionSearchChangeRegionNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5618
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RegionSearchChangeRegionNotify {
+ RegionEvent event = 1;
+ uint32 region_id = 10;
+
+ enum RegionEvent {
+ REGION_EVENT_NONE = 0;
+ REGION_EVENT_ENTER = 1;
+ REGION_EVENT_LEAVE = 2;
+ }
+}
diff --git a/protocol/proto/RegionSearchInfo.proto b/protocol/proto/RegionSearchInfo.proto
new file mode 100644
index 00000000..2ad1805a
--- /dev/null
+++ b/protocol/proto/RegionSearchInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RegionSearch.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RegionSearchInfo {
+ uint32 id = 5;
+ repeated RegionSearch region_search_list = 1;
+ bool is_entered = 7;
+}
diff --git a/protocol/proto/RegionSearchNotify.proto b/protocol/proto/RegionSearchNotify.proto
new file mode 100644
index 00000000..590922e5
--- /dev/null
+++ b/protocol/proto/RegionSearchNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RegionSearchInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5626
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RegionSearchNotify {
+ repeated RegionSearchInfo region_search_list = 1;
+ uint32 uid = 8;
+}
diff --git a/protocol/proto/RegionSearchState.proto b/protocol/proto/RegionSearchState.proto
new file mode 100644
index 00000000..4f01fa60
--- /dev/null
+++ b/protocol/proto/RegionSearchState.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum RegionSearchState {
+ REGION_SEARCH_STATE_NONE = 0;
+ REGION_SEARCH_STATE_UNSTARTED = 1;
+ REGION_SEARCH_STATE_STARTED = 2;
+ REGION_SEARCH_STATE_WAIT_REWARD = 3;
+ REGION_SEARCH_STATE_FINISHED = 4;
+}
diff --git a/protocol/proto/RegionSimpleInfo.proto b/protocol/proto/RegionSimpleInfo.proto
new file mode 100644
index 00000000..47aec0a7
--- /dev/null
+++ b/protocol/proto/RegionSimpleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RegionSimpleInfo {
+ string name = 1;
+ string title = 2;
+ string type = 3;
+ string dispatch_url = 4;
+}
diff --git a/protocol/proto/RegionalPlayInfoNotify.proto b/protocol/proto/RegionalPlayInfoNotify.proto
new file mode 100644
index 00000000..59e20c27
--- /dev/null
+++ b/protocol/proto/RegionalPlayInfoNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RegionalPlayVar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6276
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RegionalPlayInfoNotify {
+ repeated RegionalPlayVar var_list = 5;
+ string play_name = 9;
+ bool is_enabled = 15;
+ uint32 play_type = 7;
+ bool is_in_region = 4;
+}
diff --git a/protocol/proto/RegionalPlayVar.proto b/protocol/proto/RegionalPlayVar.proto
new file mode 100644
index 00000000..cd561ed8
--- /dev/null
+++ b/protocol/proto/RegionalPlayVar.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RegionalPlayVar {
+ uint32 type = 15;
+ float max_value = 11;
+ float value = 3;
+ float base_value = 10;
+}
diff --git a/protocol/proto/Reliquary.proto b/protocol/proto/Reliquary.proto
new file mode 100644
index 00000000..fb7785ee
--- /dev/null
+++ b/protocol/proto/Reliquary.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Reliquary {
+ uint32 level = 1;
+ uint32 exp = 2;
+ uint32 promote_level = 3;
+ uint32 main_prop_id = 4;
+ repeated uint32 append_prop_id_list = 5;
+}
diff --git a/protocol/proto/ReliquaryDecomposeReq.proto b/protocol/proto/ReliquaryDecomposeReq.proto
new file mode 100644
index 00000000..f8e70bd9
--- /dev/null
+++ b/protocol/proto/ReliquaryDecomposeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 638
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReliquaryDecomposeReq {
+ uint32 config_id = 13;
+ uint32 target_count = 9;
+ repeated uint64 guid_list = 8;
+}
diff --git a/protocol/proto/ReliquaryDecomposeRsp.proto b/protocol/proto/ReliquaryDecomposeRsp.proto
new file mode 100644
index 00000000..9534613c
--- /dev/null
+++ b/protocol/proto/ReliquaryDecomposeRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 611
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReliquaryDecomposeRsp {
+ int32 retcode = 3;
+ repeated uint64 guid_list = 14;
+}
diff --git a/protocol/proto/ReliquaryPromoteReq.proto b/protocol/proto/ReliquaryPromoteReq.proto
new file mode 100644
index 00000000..713bcc43
--- /dev/null
+++ b/protocol/proto/ReliquaryPromoteReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 627
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReliquaryPromoteReq {
+ uint64 item_guid = 10;
+ uint64 target_guid = 13;
+}
diff --git a/protocol/proto/ReliquaryPromoteRsp.proto b/protocol/proto/ReliquaryPromoteRsp.proto
new file mode 100644
index 00000000..82646b5d
--- /dev/null
+++ b/protocol/proto/ReliquaryPromoteRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 694
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReliquaryPromoteRsp {
+ uint32 old_promote_level = 10;
+ uint64 target_reliquary_guid = 6;
+ repeated uint32 cur_append_prop_list = 9;
+ int32 retcode = 12;
+ uint32 cur_promote_level = 2;
+ repeated uint32 old_append_prop_list = 8;
+}
diff --git a/protocol/proto/ReliquaryUpgradeReq.proto b/protocol/proto/ReliquaryUpgradeReq.proto
new file mode 100644
index 00000000..d78c4b66
--- /dev/null
+++ b/protocol/proto/ReliquaryUpgradeReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 604
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReliquaryUpgradeReq {
+ repeated ItemParam item_param_list = 11;
+ uint64 target_reliquary_guid = 6;
+ repeated uint64 food_reliquary_guid_list = 12;
+}
diff --git a/protocol/proto/ReliquaryUpgradeRsp.proto b/protocol/proto/ReliquaryUpgradeRsp.proto
new file mode 100644
index 00000000..a56f05d8
--- /dev/null
+++ b/protocol/proto/ReliquaryUpgradeRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 693
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReliquaryUpgradeRsp {
+ uint32 old_level = 4;
+ uint32 cur_level = 13;
+ uint64 target_reliquary_guid = 9;
+ repeated uint32 cur_append_prop_list = 2;
+ uint32 power_up_rate = 6;
+ repeated uint32 old_append_prop_list = 15;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/RemotePlayerWidgetNotify.proto b/protocol/proto/RemotePlayerWidgetNotify.proto
new file mode 100644
index 00000000..69410429
--- /dev/null
+++ b/protocol/proto/RemotePlayerWidgetNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerWidgetInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5995
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RemotePlayerWidgetNotify {
+ repeated PlayerWidgetInfo player_widget_info_list = 3;
+}
diff --git a/protocol/proto/RemoveBlacklistReq.proto b/protocol/proto/RemoveBlacklistReq.proto
new file mode 100644
index 00000000..8d7ec27a
--- /dev/null
+++ b/protocol/proto/RemoveBlacklistReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4063
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RemoveBlacklistReq {
+ uint32 target_uid = 13;
+}
diff --git a/protocol/proto/RemoveBlacklistRsp.proto b/protocol/proto/RemoveBlacklistRsp.proto
new file mode 100644
index 00000000..c1090c52
--- /dev/null
+++ b/protocol/proto/RemoveBlacklistRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4095
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RemoveBlacklistRsp {
+ int32 retcode = 12;
+ uint32 target_uid = 7;
+}
diff --git a/protocol/proto/RemoveCustomDungeonReq.proto b/protocol/proto/RemoveCustomDungeonReq.proto
new file mode 100644
index 00000000..bd69ee84
--- /dev/null
+++ b/protocol/proto/RemoveCustomDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6249
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RemoveCustomDungeonReq {
+ uint64 dungeon_guid = 14;
+}
diff --git a/protocol/proto/RemoveCustomDungeonRsp.proto b/protocol/proto/RemoveCustomDungeonRsp.proto
new file mode 100644
index 00000000..12e2f93b
--- /dev/null
+++ b/protocol/proto/RemoveCustomDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6220
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RemoveCustomDungeonRsp {
+ int32 retcode = 14;
+ uint64 dungeon_guid = 11;
+}
diff --git a/protocol/proto/RemoveRandTaskInfoNotify.proto b/protocol/proto/RemoveRandTaskInfoNotify.proto
new file mode 100644
index 00000000..6e3bc5bb
--- /dev/null
+++ b/protocol/proto/RemoveRandTaskInfoNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 161
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RemoveRandTaskInfoNotify {
+ bool is_succ = 9;
+ FinishReason reason = 10;
+ uint32 rand_task_id = 13;
+
+ enum FinishReason {
+ FINISH_REASON_DEFAULT = 0;
+ FINISH_REASON_CLEAR = 1;
+ FINISH_REASON_DISTANCE = 2;
+ FINISH_REASON_FINISH = 3;
+ }
+}
diff --git a/protocol/proto/ReplayCustomDungeonReq.proto b/protocol/proto/ReplayCustomDungeonReq.proto
new file mode 100644
index 00000000..86a49200
--- /dev/null
+++ b/protocol/proto/ReplayCustomDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6243
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReplayCustomDungeonReq {}
diff --git a/protocol/proto/ReplayCustomDungeonRsp.proto b/protocol/proto/ReplayCustomDungeonRsp.proto
new file mode 100644
index 00000000..4d353bc3
--- /dev/null
+++ b/protocol/proto/ReplayCustomDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6240
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReplayCustomDungeonRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/ReportFightAntiCheatNotify.proto b/protocol/proto/ReportFightAntiCheatNotify.proto
new file mode 100644
index 00000000..a559a073
--- /dev/null
+++ b/protocol/proto/ReportFightAntiCheatNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 368
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReportFightAntiCheatNotify {
+ uint32 cheat_count = 8;
+ uint32 cheat_type = 12;
+}
diff --git a/protocol/proto/ReportReasonType.proto b/protocol/proto/ReportReasonType.proto
new file mode 100644
index 00000000..5ac6d367
--- /dev/null
+++ b/protocol/proto/ReportReasonType.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ReportReasonType {
+ REPORT_REASON_TYPE_NONE = 0;
+ REPORT_REASON_TYPE_DECEPTIVE_ADS = 1;
+ REPORT_REASON_TYPE_ABUSING = 2;
+ REPORT_REASON_TYPE_CHEAT = 3;
+ REPORT_REASON_TYPE_POLITICAL = 4;
+ REPORT_REASON_TYPE_OTHER = 5;
+ REPORT_REASON_TYPE_HOME = 6;
+}
diff --git a/protocol/proto/ReportTrackingIOInfoNotify.proto b/protocol/proto/ReportTrackingIOInfoNotify.proto
new file mode 100644
index 00000000..2107b856
--- /dev/null
+++ b/protocol/proto/ReportTrackingIOInfoNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4129
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReportTrackingIOInfoNotify {
+ string rydevicetype = 12;
+ string deviceid = 1;
+ string client_tz = 13;
+ string appid = 14;
+ string mac = 15;
+}
diff --git a/protocol/proto/RequestLiveInfoReq.proto b/protocol/proto/RequestLiveInfoReq.proto
new file mode 100644
index 00000000..a5216b09
--- /dev/null
+++ b/protocol/proto/RequestLiveInfoReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 894
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RequestLiveInfoReq {
+ uint32 live_id = 6;
+}
diff --git a/protocol/proto/RequestLiveInfoRsp.proto b/protocol/proto/RequestLiveInfoRsp.proto
new file mode 100644
index 00000000..74cac3db
--- /dev/null
+++ b/protocol/proto/RequestLiveInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 888
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RequestLiveInfoRsp {
+ string spare_live_url = 14;
+ int32 retcode = 9;
+ string live_url = 12;
+ uint32 live_id = 2;
+}
diff --git a/protocol/proto/ResVersionConfig.proto b/protocol/proto/ResVersionConfig.proto
new file mode 100644
index 00000000..a3f73759
--- /dev/null
+++ b/protocol/proto/ResVersionConfig.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ResVersionConfig {
+ uint32 version = 1;
+ bool relogin = 2;
+ string md5 = 3;
+ string release_total_size = 4;
+ string version_suffix = 5;
+ string branch = 6;
+ string next_script_version = 7;
+}
diff --git a/protocol/proto/ReserveRogueDiaryAvatarReq.proto b/protocol/proto/ReserveRogueDiaryAvatarReq.proto
new file mode 100644
index 00000000..daa4a36e
--- /dev/null
+++ b/protocol/proto/ReserveRogueDiaryAvatarReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryAvatar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8748
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReserveRogueDiaryAvatarReq {
+ repeated RogueDiaryAvatar reserve_avatar_list = 6;
+}
diff --git a/protocol/proto/ReserveRogueDiaryAvatarRsp.proto b/protocol/proto/ReserveRogueDiaryAvatarRsp.proto
new file mode 100644
index 00000000..0ed5bbe5
--- /dev/null
+++ b/protocol/proto/ReserveRogueDiaryAvatarRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8799
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReserveRogueDiaryAvatarRsp {
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/ResetRogueDiaryPlayReq.proto b/protocol/proto/ResetRogueDiaryPlayReq.proto
new file mode 100644
index 00000000..f52dda0a
--- /dev/null
+++ b/protocol/proto/ResetRogueDiaryPlayReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8127
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ResetRogueDiaryPlayReq {
+ uint32 stage_id = 5;
+}
diff --git a/protocol/proto/ResetRogueDiaryPlayRsp.proto b/protocol/proto/ResetRogueDiaryPlayRsp.proto
new file mode 100644
index 00000000..8df4279a
--- /dev/null
+++ b/protocol/proto/ResetRogueDiaryPlayRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8948
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ResetRogueDiaryPlayRsp {
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/ResinCardData.proto b/protocol/proto/ResinCardData.proto
new file mode 100644
index 00000000..382629be
--- /dev/null
+++ b/protocol/proto/ResinCardData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ResinCardData {
+ uint32 remain_reward_days = 3;
+ uint32 expire_time = 12;
+ uint32 last_daily_reward_time = 2;
+ uint32 config_id = 7;
+}
diff --git a/protocol/proto/ResinCardDataUpdateNotify.proto b/protocol/proto/ResinCardDataUpdateNotify.proto
new file mode 100644
index 00000000..e8b94b43
--- /dev/null
+++ b/protocol/proto/ResinCardDataUpdateNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ResinCardData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4149
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ResinCardDataUpdateNotify {
+ uint32 today_start_time = 6;
+ repeated ResinCardData card_data_list = 2;
+}
diff --git a/protocol/proto/ResinChangeNotify.proto b/protocol/proto/ResinChangeNotify.proto
new file mode 100644
index 00000000..83767e9e
--- /dev/null
+++ b/protocol/proto/ResinChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 642
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ResinChangeNotify {
+ uint32 next_add_timestamp = 6;
+ uint32 cur_buy_count = 4;
+ uint32 cur_value = 12;
+}
diff --git a/protocol/proto/ResinCostType.proto b/protocol/proto/ResinCostType.proto
new file mode 100644
index 00000000..18ced237
--- /dev/null
+++ b/protocol/proto/ResinCostType.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ResinCostType {
+ RESIN_COST_TYPE_NONE = 0;
+ RESIN_COST_TYPE_NORMAL = 1;
+ RESIN_COST_TYPE_CONDENSE = 2;
+ RESIN_COST_TYPE_REUNION_PRIVILEGE = 3;
+ RESIN_COST_TYPE_OP_ACTIVITY = 4;
+ RESIN_COST_TYPE_MATERIAL = 5;
+}
diff --git a/protocol/proto/RestartEffigyChallengeReq.proto b/protocol/proto/RestartEffigyChallengeReq.proto
new file mode 100644
index 00000000..4a05fda3
--- /dev/null
+++ b/protocol/proto/RestartEffigyChallengeReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2148
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RestartEffigyChallengeReq {}
diff --git a/protocol/proto/RestartEffigyChallengeRsp.proto b/protocol/proto/RestartEffigyChallengeRsp.proto
new file mode 100644
index 00000000..2b52105f
--- /dev/null
+++ b/protocol/proto/RestartEffigyChallengeRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2042
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RestartEffigyChallengeRsp {
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/ResumeRogueDiaryDungeonReq.proto b/protocol/proto/ResumeRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..dcd6d043
--- /dev/null
+++ b/protocol/proto/ResumeRogueDiaryDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8838
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ResumeRogueDiaryDungeonReq {
+ uint32 stage_id = 2;
+}
diff --git a/protocol/proto/ResumeRogueDiaryDungeonRsp.proto b/protocol/proto/ResumeRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..442da0bb
--- /dev/null
+++ b/protocol/proto/ResumeRogueDiaryDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8989
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ResumeRogueDiaryDungeonRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/Retcode.proto b/protocol/proto/Retcode.proto
new file mode 100644
index 00000000..8c538a17
--- /dev/null
+++ b/protocol/proto/Retcode.proto
@@ -0,0 +1,1042 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+option go_package = "./proto;proto";
+
+enum Retcode {
+ RETCODE_RET_SUCC = 0;
+ RETCODE_RET_FAIL = -1;
+ RETCODE_RET_SVR_ERROR = 1;
+ RETCODE_RET_UNKNOWN_ERROR = 2;
+ RETCODE_RET_FREQUENT = 3;
+ RETCODE_RET_NODE_FORWARD_ERROR = 4;
+ RETCODE_RET_NOT_FOUND_CONFIG = 5;
+ RETCODE_RET_SYSTEM_BUSY = 6;
+ RETCODE_RET_GM_UID_BIND = 7;
+ RETCODE_RET_FORBIDDEN = 8;
+ RETCODE_RET_STOP_REGISTER = 10;
+ RETCODE_RET_STOP_SERVER = 11;
+ RETCODE_RET_ACCOUNT_VEIRFY_ERROR = 12;
+ RETCODE_RET_ACCOUNT_FREEZE = 13;
+ RETCODE_RET_REPEAT_LOGIN = 14;
+ RETCODE_RET_CLIENT_VERSION_ERROR = 15;
+ RETCODE_RET_TOKEN_ERROR = 16;
+ RETCODE_RET_ACCOUNT_NOT_EXIST = 17;
+ RETCODE_RET_WAIT_OTHER_LOGIN = 18;
+ RETCODE_RET_ANOTHER_LOGIN = 19;
+ RETCODE_RET_CLIENT_FORCE_UPDATE = 20;
+ RETCODE_RET_BLACK_UID = 21;
+ RETCODE_RET_LOGIN_DB_FAIL = 22;
+ RETCODE_RET_LOGIN_INIT_FAIL = 23;
+ RETCODE_RET_MYSQL_DUPLICATE = 24;
+ RETCODE_RET_MAX_PLAYER = 25;
+ RETCODE_RET_ANTI_ADDICT = 26;
+ RETCODE_RET_PS_PLAYER_WITHOUT_ONLINE_ID = 27;
+ RETCODE_RET_ONLINE_ID_NOT_FOUND = 28;
+ RETCODE_RET_ONLNE_ID_NOT_MATCH = 29;
+ RETCODE_RET_REGISTER_IS_FULL = 30;
+ RETCODE_RET_CHECKSUM_INVALID = 31;
+ RETCODE_RET_BLACK_REGISTER_IP = 32;
+ RETCODE_RET_EXCEED_REGISTER_RATE = 33;
+ RETCODE_RET_UNKNOWN_PLATFORM = 34;
+ RETCODE_RET_TOKEN_PARAM_ERROR = 35;
+ RETCODE_RET_ANTI_OFFLINE_ERROR = 36;
+ RETCODE_RET_BLACK_LOGIN_IP = 37;
+ RETCODE_RET_GET_TOKEN_SESSION_HAS_UID = 38;
+ RETCODE_RET_ENVIRONMENT_ERROR = 39;
+ RETCODE_RET_CHECK_CLIENT_VERSION_HASH_FAIL = 40;
+ RETCODE_RET_MINOR_REGISTER_FOBIDDEN = 41;
+ RETCODE_RET_SECURITY_LIBRARY_ERROR = 42;
+ RETCODE_RET_AVATAR_IN_CD = 101;
+ RETCODE_RET_AVATAR_NOT_ALIVE = 102;
+ RETCODE_RET_AVATAR_NOT_ON_SCENE = 103;
+ RETCODE_RET_CAN_NOT_FIND_AVATAR = 104;
+ RETCODE_RET_CAN_NOT_DEL_CUR_AVATAR = 105;
+ RETCODE_RET_DUPLICATE_AVATAR = 106;
+ RETCODE_RET_AVATAR_IS_SAME_ONE = 107;
+ RETCODE_RET_AVATAR_LEVEL_LESS_THAN = 108;
+ RETCODE_RET_AVATAR_CAN_NOT_CHANGE_ELEMENT = 109;
+ RETCODE_RET_AVATAR_BREAK_LEVEL_LESS_THAN = 110;
+ RETCODE_RET_AVATAR_ON_MAX_BREAK_LEVEL = 111;
+ RETCODE_RET_AVATAR_ID_ALREADY_EXIST = 112;
+ RETCODE_RET_AVATAR_NOT_DEAD = 113;
+ RETCODE_RET_AVATAR_IS_REVIVING = 114;
+ RETCODE_RET_AVATAR_ID_ERROR = 115;
+ RETCODE_RET_REPEAT_SET_PLAYER_BORN_DATA = 116;
+ RETCODE_RET_PLAYER_LEVEL_LESS_THAN = 117;
+ RETCODE_RET_AVATAR_LIMIT_LEVEL_ERROR = 118;
+ RETCODE_RET_CUR_AVATAR_NOT_ALIVE = 119;
+ RETCODE_RET_CAN_NOT_FIND_TEAM = 120;
+ RETCODE_RET_CAN_NOT_FIND_CUR_TEAM = 121;
+ RETCODE_RET_AVATAR_NOT_EXIST_IN_TEAM = 122;
+ RETCODE_RET_CAN_NOT_REMOVE_CUR_AVATAR_FROM_TEAM = 123;
+ RETCODE_RET_CAN_NOT_USE_REVIVE_ITEM_FOR_CUR_AVATAR = 124;
+ RETCODE_RET_TEAM_COST_EXCEED_LIMIT = 125;
+ RETCODE_RET_TEAM_AVATAR_IN_EXPEDITION = 126;
+ RETCODE_RET_TEAM_CAN_NOT_CHOSE_REPLACE_USE = 127;
+ RETCODE_RET_AVATAR_IN_COMBAT = 128;
+ RETCODE_RET_NICKNAME_UTF8_ERROR = 130;
+ RETCODE_RET_NICKNAME_TOO_LONG = 131;
+ RETCODE_RET_NICKNAME_WORD_ILLEGAL = 132;
+ RETCODE_RET_NICKNAME_TOO_MANY_DIGITS = 133;
+ RETCODE_RET_NICKNAME_IS_EMPTY = 134;
+ RETCODE_RET_NICKNAME_MONTHLY_LIMIT = 135;
+ RETCODE_RET_NICKNAME_NOT_CHANGED = 136;
+ RETCODE_RET_PLAYER_NOT_ONLINE = 140;
+ RETCODE_RET_OPEN_STATE_NOT_OPEN = 141;
+ RETCODE_RET_FEATURE_CLOSED = 142;
+ RETCODE_RET_AVATAR_EXPEDITION_AVATAR_DIE = 152;
+ RETCODE_RET_AVATAR_EXPEDITION_COUNT_LIMIT = 153;
+ RETCODE_RET_AVATAR_EXPEDITION_MAIN_FORBID = 154;
+ RETCODE_RET_AVATAR_EXPEDITION_TRIAL_FORBID = 155;
+ RETCODE_RET_TEAM_NAME_ILLEGAL = 156;
+ RETCODE_RET_IS_NOT_IN_STANDBY = 157;
+ RETCODE_RET_IS_IN_DUNGEON = 158;
+ RETCODE_RET_IS_IN_LOCK_AVATAR_QUEST = 159;
+ RETCODE_RET_IS_USING_TRIAL_AVATAR = 160;
+ RETCODE_RET_IS_USING_TEMP_AVATAR = 161;
+ RETCODE_RET_NOT_HAS_FLYCLOAK = 162;
+ RETCODE_RET_FETTER_REWARD_ALREADY_GOT = 163;
+ RETCODE_RET_FETTER_REWARD_LEVEL_NOT_ENOUGH = 164;
+ RETCODE_RET_WORLD_LEVEL_ADJUST_MIN_LEVEL = 165;
+ RETCODE_RET_WORLD_LEVEL_ADJUST_CD = 166;
+ RETCODE_RET_NOT_HAS_COSTUME = 167;
+ RETCODE_RET_COSTUME_AVATAR_ERROR = 168;
+ RETCODE_RET_FLYCLOAK_PLATFORM_TYPE_ERR = 169;
+ RETCODE_RET_IN_TRANSFER = 170;
+ RETCODE_RET_IS_IN_LOCK_AVATAR = 171;
+ RETCODE_RET_FULL_BACKUP_TEAM = 172;
+ RETCODE_RET_BACKUP_TEAM_ID_NOT_VALID = 173;
+ RETCODE_RET_BACKUP_TEAM_IS_CUR_TEAM = 174;
+ RETCODE_RET_FLOAT_ERROR = 201;
+ RETCODE_RET_NPC_NOT_EXIST = 301;
+ RETCODE_RET_NPC_TOO_FAR = 302;
+ RETCODE_RET_NOT_CURRENT_TALK = 303;
+ RETCODE_RET_NPC_CREATE_FAIL = 304;
+ RETCODE_RET_NPC_MOVE_FAIL = 305;
+ RETCODE_RET_QUEST_NOT_EXIST = 401;
+ RETCODE_RET_QUEST_IS_FAIL = 402;
+ RETCODE_RET_QUEST_CONTENT_ERROR = 403;
+ RETCODE_RET_BARGAIN_NOT_ACTIVATED = 404;
+ RETCODE_RET_BARGAIN_FINISHED = 405;
+ RETCODE_RET_INFERENCE_ASSOCIATE_WORD_ERROR = 406;
+ RETCODE_RET_INFERENCE_SUBMIT_WORD_NO_CONCLUSION = 407;
+ RETCODE_RET_POINT_NOT_UNLOCKED = 501;
+ RETCODE_RET_POINT_TOO_FAR = 502;
+ RETCODE_RET_POINT_ALREAY_UNLOCKED = 503;
+ RETCODE_RET_ENTITY_NOT_EXIST = 504;
+ RETCODE_RET_ENTER_SCENE_FAIL = 505;
+ RETCODE_RET_PLAYER_IS_ENTER_SCENE = 506;
+ RETCODE_RET_CITY_MAX_LEVEL = 507;
+ RETCODE_RET_AREA_LOCKED = 508;
+ RETCODE_RET_JOIN_OTHER_WAIT = 509;
+ RETCODE_RET_WEATHER_AREA_NOT_FOUND = 510;
+ RETCODE_RET_WEATHER_IS_LOCKED = 511;
+ RETCODE_RET_NOT_IN_SELF_SCENE = 512;
+ RETCODE_RET_GROUP_NOT_EXIST = 513;
+ RETCODE_RET_MARK_NAME_ILLEGAL = 514;
+ RETCODE_RET_MARK_ALREADY_EXISTS = 515;
+ RETCODE_RET_MARK_OVERFLOW = 516;
+ RETCODE_RET_MARK_NOT_EXISTS = 517;
+ RETCODE_RET_MARK_UNKNOWN_TYPE = 518;
+ RETCODE_RET_MARK_NAME_TOO_LONG = 519;
+ RETCODE_RET_DISTANCE_LONG = 520;
+ RETCODE_RET_ENTER_SCENE_TOKEN_INVALID = 521;
+ RETCODE_RET_NOT_IN_WORLD_SCENE = 522;
+ RETCODE_RET_ANY_GALLERY_STARTED = 523;
+ RETCODE_RET_GALLERY_NOT_START = 524;
+ RETCODE_RET_GALLERY_INTERRUPT_ONLY_ON_SINGLE_MODE = 525;
+ RETCODE_RET_GALLERY_CANNOT_INTERRUPT = 526;
+ RETCODE_RET_GALLERY_WORLD_NOT_MEET = 527;
+ RETCODE_RET_GALLERY_SCENE_NOT_MEET = 528;
+ RETCODE_RET_CUR_PLAY_CANNOT_TRANSFER = 529;
+ RETCODE_RET_CANT_USE_WIDGET_IN_HOME_SCENE = 530;
+ RETCODE_RET_SCENE_GROUP_NOT_MATCH = 531;
+ RETCODE_RET_POS_ROT_INVALID = 551;
+ RETCODE_RET_MARK_INVALID_SCENE_ID = 552;
+ RETCODE_RET_INVALID_SCENE_TO_USE_ANCHOR_POINT = 553;
+ RETCODE_RET_ENTER_HOME_SCENE_FAIL = 554;
+ RETCODE_RET_CUR_SCENE_IS_NULL = 555;
+ RETCODE_RET_GROUP_ID_ERROR = 556;
+ RETCODE_RET_GALLERY_INTERRUPT_NOT_OWNER = 557;
+ RETCODE_RET_NO_SPRING_IN_AREA = 558;
+ RETCODE_RET_AREA_NOT_IN_SCENE = 559;
+ RETCODE_RET_INVALID_CITY_ID = 560;
+ RETCODE_RET_INVALID_SCENE_ID = 561;
+ RETCODE_RET_DEST_SCENE_IS_NOT_ALLOW = 562;
+ RETCODE_RET_LEVEL_TAG_SWITCH_IN_CD = 563;
+ RETCODE_RET_LEVEL_TAG_ALREADY_EXIST = 564;
+ RETCODE_RET_INVALID_AREA_ID = 565;
+ RETCODE_RET_ITEM_NOT_EXIST = 601;
+ RETCODE_RET_PACK_EXCEED_MAX_WEIGHT = 602;
+ RETCODE_RET_ITEM_NOT_DROPABLE = 603;
+ RETCODE_RET_ITEM_NOT_USABLE = 604;
+ RETCODE_RET_ITEM_INVALID_USE_COUNT = 605;
+ RETCODE_RET_ITEM_INVALID_DROP_COUNT = 606;
+ RETCODE_RET_ITEM_ALREADY_EXIST = 607;
+ RETCODE_RET_ITEM_IN_COOLDOWN = 608;
+ RETCODE_RET_ITEM_COUNT_NOT_ENOUGH = 609;
+ RETCODE_RET_ITEM_INVALID_TARGET = 610;
+ RETCODE_RET_RECIPE_NOT_EXIST = 611;
+ RETCODE_RET_RECIPE_LOCKED = 612;
+ RETCODE_RET_RECIPE_UNLOCKED = 613;
+ RETCODE_RET_COMPOUND_QUEUE_FULL = 614;
+ RETCODE_RET_COMPOUND_NOT_FINISH = 615;
+ RETCODE_RET_MAIL_ITEM_NOT_GET = 616;
+ RETCODE_RET_ITEM_EXCEED_LIMIT = 617;
+ RETCODE_RET_AVATAR_CAN_NOT_USE = 618;
+ RETCODE_RET_ITEM_NEED_PLAYER_LEVEL = 619;
+ RETCODE_RET_RECIPE_NOT_AUTO_QTE = 620;
+ RETCODE_RET_COMPOUND_BUSY_QUEUE = 621;
+ RETCODE_RET_NEED_MORE_SCOIN = 622;
+ RETCODE_RET_SKILL_DEPOT_NOT_FOUND = 623;
+ RETCODE_RET_HCOIN_NOT_ENOUGH = 624;
+ RETCODE_RET_SCOIN_NOT_ENOUGH = 625;
+ RETCODE_RET_HCOIN_EXCEED_LIMIT = 626;
+ RETCODE_RET_SCOIN_EXCEED_LIMIT = 627;
+ RETCODE_RET_MAIL_EXPIRED = 628;
+ RETCODE_RET_REWARD_HAS_TAKEN = 629;
+ RETCODE_RET_COMBINE_COUNT_TOO_LARGE = 630;
+ RETCODE_RET_GIVING_ITEM_WRONG = 631;
+ RETCODE_RET_GIVING_IS_FINISHED = 632;
+ RETCODE_RET_GIVING_NOT_ACTIVED = 633;
+ RETCODE_RET_FORGE_QUEUE_FULL = 634;
+ RETCODE_RET_FORGE_QUEUE_CAPACITY = 635;
+ RETCODE_RET_FORGE_QUEUE_NOT_FOUND = 636;
+ RETCODE_RET_FORGE_QUEUE_EMPTY = 637;
+ RETCODE_RET_NOT_SUPPORT_ITEM = 638;
+ RETCODE_RET_ITEM_EMPTY = 639;
+ RETCODE_RET_VIRTUAL_EXCEED_LIMIT = 640;
+ RETCODE_RET_MATERIAL_EXCEED_LIMIT = 641;
+ RETCODE_RET_EQUIP_EXCEED_LIMIT = 642;
+ RETCODE_RET_ITEM_SHOULD_HAVE_NO_LEVEL = 643;
+ RETCODE_RET_WEAPON_PROMOTE_LEVEL_EXCEED_LIMIT = 644;
+ RETCODE_RET_WEAPON_LEVEL_INVALID = 645;
+ RETCODE_RET_UNKNOW_ITEM_TYPE = 646;
+ RETCODE_RET_ITEM_COUNT_IS_ZERO = 647;
+ RETCODE_RET_ITEM_IS_EXPIRED = 648;
+ RETCODE_RET_ITEM_EXCEED_OUTPUT_LIMIT = 649;
+ RETCODE_RET_EQUIP_LEVEL_HIGHER = 650;
+ RETCODE_RET_EQUIP_CAN_NOT_WAKE_OFF_WEAPON = 651;
+ RETCODE_RET_EQUIP_HAS_BEEN_WEARED = 652;
+ RETCODE_RET_EQUIP_WEARED_CANNOT_DROP = 653;
+ RETCODE_RET_AWAKEN_LEVEL_MAX = 654;
+ RETCODE_RET_MCOIN_NOT_ENOUGH = 655;
+ RETCODE_RET_MCOIN_EXCEED_LIMIT = 656;
+ RETCODE_RET_RESIN_NOT_ENOUGH = 660;
+ RETCODE_RET_RESIN_EXCEED_LIMIT = 661;
+ RETCODE_RET_RESIN_OPENSTATE_OFF = 662;
+ RETCODE_RET_RESIN_BOUGHT_COUNT_EXCEEDED = 663;
+ RETCODE_RET_RESIN_CARD_DAILY_REWARD_HAS_TAKEN = 664;
+ RETCODE_RET_RESIN_CARD_EXPIRED = 665;
+ RETCODE_RET_AVATAR_CAN_NOT_COOK = 666;
+ RETCODE_RET_ATTACH_AVATAR_CD = 667;
+ RETCODE_RET_AUTO_RECOVER_OPENSTATE_OFF = 668;
+ RETCODE_RET_AUTO_RECOVER_BOUGHT_COUNT_EXCEEDED = 669;
+ RETCODE_RET_RESIN_GAIN_FAILED = 670;
+ RETCODE_RET_WIDGET_ORNAMENTS_TYPE_ERROR = 671;
+ RETCODE_RET_ALL_TARGET_SATIATION_FULL = 672;
+ RETCODE_RET_FORGE_WORLD_LEVEL_NOT_MATCH = 673;
+ RETCODE_RET_FORGE_POINT_NOT_ENOUGH = 674;
+ RETCODE_RET_WIDGET_ANCHOR_POINT_FULL = 675;
+ RETCODE_RET_WIDGET_ANCHOR_POINT_NOT_FOUND = 676;
+ RETCODE_RET_ALL_BONFIRE_EXCEED_MAX_COUNT = 677;
+ RETCODE_RET_BONFIRE_EXCEED_MAX_COUNT = 678;
+ RETCODE_RET_LUNCH_BOX_DATA_ERROR = 679;
+ RETCODE_RET_INVALID_QUICK_USE_WIDGET = 680;
+ RETCODE_RET_INVALID_REPLACE_RESIN_COUNT = 681;
+ RETCODE_RET_PREV_DETECTED_GATHER_NOT_FOUND = 682;
+ RETCODE_RET_GOT_ALL_ONEOFF_GAHTER = 683;
+ RETCODE_RET_INVALID_WIDGET_MATERIAL_ID = 684;
+ RETCODE_RET_WIDGET_DETECTOR_NO_HINT_TO_CLEAR = 685;
+ RETCODE_RET_WIDGET_ALREADY_WITHIN_NEARBY_RADIUS = 686;
+ RETCODE_RET_WIDGET_CLIENT_COLLECTOR_NEED_POINTS = 687;
+ RETCODE_RET_WIDGET_IN_COMBAT = 688;
+ RETCODE_RET_WIDGET_NOT_SET_QUICK_USE = 689;
+ RETCODE_RET_ALREADY_ATTACH_WIDGET = 690;
+ RETCODE_RET_EQUIP_IS_LOCKED = 691;
+ RETCODE_RET_FORGE_IS_LOCKED = 692;
+ RETCODE_RET_COMBINE_IS_LOCKED = 693;
+ RETCODE_RET_FORGE_OUTPUT_STACK_LIMIT = 694;
+ RETCODE_RET_ALREADY_DETTACH_WIDGET = 695;
+ RETCODE_RET_GADGET_BUILDER_EXCEED_MAX_COUNT = 696;
+ RETCODE_RET_REUNION_PRIVILEGE_RESIN_TYPE_IS_NORMAL = 697;
+ RETCODE_RET_BONUS_COUNT_EXCEED_DOUBLE_LIMIT = 698;
+ RETCODE_RET_RELIQUARY_DECOMPOSE_PARAM_ERROR = 699;
+ RETCODE_RET_ITEM_COMBINE_COUNT_NOT_ENOUGH = 700;
+ RETCODE_RET_GOODS_NOT_EXIST = 701;
+ RETCODE_RET_GOODS_MATERIAL_NOT_ENOUGH = 702;
+ RETCODE_RET_GOODS_NOT_IN_TIME = 703;
+ RETCODE_RET_GOODS_BUY_NUM_NOT_ENOUGH = 704;
+ RETCODE_RET_GOODS_BUY_NUM_ERROR = 705;
+ RETCODE_RET_SHOP_NOT_OPEN = 706;
+ RETCODE_RET_SHOP_CONTENT_NOT_MATCH = 707;
+ RETCODE_RET_CHAT_FORBIDDEN = 798;
+ RETCODE_RET_CHAT_CD = 799;
+ RETCODE_RET_CHAT_FREQUENTLY = 800;
+ RETCODE_RET_GADGET_NOT_EXIST = 801;
+ RETCODE_RET_GADGET_NOT_INTERACTIVE = 802;
+ RETCODE_RET_GADGET_NOT_GATHERABLE = 803;
+ RETCODE_RET_CHEST_IS_LOCKED = 804;
+ RETCODE_RET_GADGET_CREATE_FAIL = 805;
+ RETCODE_RET_WORKTOP_OPTION_NOT_EXIST = 806;
+ RETCODE_RET_GADGET_STATUE_NOT_ACTIVE = 807;
+ RETCODE_RET_GADGET_STATUE_OPENED = 808;
+ RETCODE_RET_BOSS_CHEST_NO_QUALIFICATION = 809;
+ RETCODE_RET_BOSS_CHEST_LIFE_TIME_OVER = 810;
+ RETCODE_RET_BOSS_CHEST_WEEK_NUM_LIMIT = 811;
+ RETCODE_RET_BOSS_CHEST_GUEST_WORLD_LEVEL = 812;
+ RETCODE_RET_BOSS_CHEST_HAS_TAKEN = 813;
+ RETCODE_RET_BLOSSOM_CHEST_NO_QUALIFICATION = 814;
+ RETCODE_RET_BLOSSOM_CHEST_LIFE_TIME_OVER = 815;
+ RETCODE_RET_BLOSSOM_CHEST_HAS_TAKEN = 816;
+ RETCODE_RET_BLOSSOM_CHEST_GUEST_WORLD_LEVEL = 817;
+ RETCODE_RET_MP_PLAY_REWARD_NO_QUALIFICATION = 818;
+ RETCODE_RET_MP_PLAY_REWARD_HAS_TAKEN = 819;
+ RETCODE_RET_GENERAL_REWARD_NO_QUALIFICATION = 820;
+ RETCODE_RET_GENERAL_REWARD_LIFE_TIME_OVER = 821;
+ RETCODE_RET_GENERAL_REWARD_HAS_TAKEN = 822;
+ RETCODE_RET_GADGET_NOT_VEHICLE = 823;
+ RETCODE_RET_VEHICLE_SLOT_OCCUPIED = 824;
+ RETCODE_RET_NOT_IN_VEHICLE = 825;
+ RETCODE_RET_CREATE_VEHICLE_IN_CD = 826;
+ RETCODE_RET_CREATE_VEHICLE_POS_INVALID = 827;
+ RETCODE_RET_VEHICLE_POINT_NOT_UNLOCK = 828;
+ RETCODE_RET_GADGET_INTERACT_COND_NOT_MEET = 829;
+ RETCODE_RET_GADGET_INTERACT_PARAM_ERROR = 830;
+ RETCODE_RET_GADGET_CUSTOM_COMBINATION_INVALID = 831;
+ RETCODE_RET_DESHRET_OBELISK_DUPLICATE_INTERACT = 832;
+ RETCODE_RET_DESHRET_OBELISK_NO_AVAIL_CHEST = 833;
+ RETCODE_RET_ACTIVITY_CLOSE = 860;
+ RETCODE_RET_ACTIVITY_ITEM_ERROR = 861;
+ RETCODE_RET_ACTIVITY_CONTRIBUTION_NOT_ENOUGH = 862;
+ RETCODE_RET_SEA_LAMP_PHASE_NOT_FINISH = 863;
+ RETCODE_RET_SEA_LAMP_FLY_NUM_LIMIT = 864;
+ RETCODE_RET_SEA_LAMP_FLY_LAMP_WORD_ILLEGAL = 865;
+ RETCODE_RET_ACTIVITY_WATCHER_REWARD_TAKEN = 866;
+ RETCODE_RET_ACTIVITY_WATCHER_REWARD_NOT_FINISHED = 867;
+ RETCODE_RET_SALESMAN_ALREADY_DELIVERED = 868;
+ RETCODE_RET_SALESMAN_REWARD_COUNT_NOT_ENOUGH = 869;
+ RETCODE_RET_SALESMAN_POSITION_INVALID = 870;
+ RETCODE_RET_DELIVER_NOT_FINISH_ALL_QUEST = 871;
+ RETCODE_RET_DELIVER_ALREADY_TAKE_DAILY_REWARD = 872;
+ RETCODE_RET_ASTER_PROGRESS_EXCEED_LIMIT = 873;
+ RETCODE_RET_ASTER_CREDIT_EXCEED_LIMIT = 874;
+ RETCODE_RET_ASTER_TOKEN_EXCEED_LIMIT = 875;
+ RETCODE_RET_ASTER_CREDIT_NOT_ENOUGH = 876;
+ RETCODE_RET_ASTER_TOKEN_NOT_ENOUGH = 877;
+ RETCODE_RET_ASTER_SPECIAL_REWARD_HAS_TAKEN = 878;
+ RETCODE_RET_FLIGHT_GROUP_ACTIVITY_NOT_STARTED = 879;
+ RETCODE_RET_ASTER_MID_PREVIOUS_BATTLE_NOT_FINISHED = 880;
+ RETCODE_RET_DRAGON_SPINE_SHIMMERING_ESSENCE_EXCEED_LIMIT = 881;
+ RETCODE_RET_DRAGON_SPINE_WARM_ESSENCE_EXCEED_LIMIT = 882;
+ RETCODE_RET_DRAGON_SPINE_WONDROUS_ESSENCE_EXCEED_LIMIT = 883;
+ RETCODE_RET_DRAGON_SPINE_SHIMMERING_ESSENCE_NOT_ENOUGH = 884;
+ RETCODE_RET_DRAGON_SPINE_WARM_ESSENCE_NOT_ENOUGH = 885;
+ RETCODE_RET_DRAGON_SPINE_WONDROUS_ESSENCE_NOT_ENOUGH = 886;
+ RETCODE_RET_EFFIGY_FIRST_PASS_REWARD_HAS_TAKEN = 891;
+ RETCODE_RET_EFFIGY_REWARD_HAS_TAKEN = 892;
+ RETCODE_RET_TREASURE_MAP_ADD_TOKEN_EXCEED_LIMIT = 893;
+ RETCODE_RET_TREASURE_MAP_TOKEN_NOT_ENOUGHT = 894;
+ RETCODE_RET_SEA_LAMP_COIN_EXCEED_LIMIT = 895;
+ RETCODE_RET_SEA_LAMP_COIN_NOT_ENOUGH = 896;
+ RETCODE_RET_SEA_LAMP_POPULARITY_EXCEED_LIMIT = 897;
+ RETCODE_RET_ACTIVITY_AVATAR_REWARD_NOT_OPEN = 898;
+ RETCODE_RET_ACTIVITY_AVATAR_REWARD_HAS_TAKEN = 899;
+ RETCODE_RET_ARENA_ACTIVITY_ALREADY_STARTED = 900;
+ RETCODE_RET_TALENT_ALREAY_UNLOCKED = 901;
+ RETCODE_RET_PREV_TALENT_NOT_UNLOCKED = 902;
+ RETCODE_RET_BIG_TALENT_POINT_NOT_ENOUGH = 903;
+ RETCODE_RET_SMALL_TALENT_POINT_NOT_ENOUGH = 904;
+ RETCODE_RET_PROUD_SKILL_ALREADY_GOT = 905;
+ RETCODE_RET_PREV_PROUD_SKILL_NOT_GET = 906;
+ RETCODE_RET_PROUD_SKILL_MAX_LEVEL = 907;
+ RETCODE_RET_CANDIDATE_SKILL_DEPOT_ID_NOT_FIND = 910;
+ RETCODE_RET_SKILL_DEPOT_IS_THE_SAME = 911;
+ RETCODE_RET_MONSTER_NOT_EXIST = 1001;
+ RETCODE_RET_MONSTER_CREATE_FAIL = 1002;
+ RETCODE_RET_DUNGEON_ENTER_FAIL = 1101;
+ RETCODE_RET_DUNGEON_QUIT_FAIL = 1102;
+ RETCODE_RET_DUNGEON_ENTER_EXCEED_DAY_COUNT = 1103;
+ RETCODE_RET_DUNGEON_REVIVE_EXCEED_MAX_COUNT = 1104;
+ RETCODE_RET_DUNGEON_REVIVE_FAIL = 1105;
+ RETCODE_RET_DUNGEON_NOT_SUCCEED = 1106;
+ RETCODE_RET_DUNGEON_CAN_NOT_CANCEL = 1107;
+ RETCODE_RET_DEST_DUNGEON_SETTLED = 1108;
+ RETCODE_RET_DUNGEON_CANDIDATE_TEAM_IS_FULL = 1109;
+ RETCODE_RET_DUNGEON_CANDIDATE_TEAM_IS_DISMISS = 1110;
+ RETCODE_RET_DUNGEON_CANDIDATE_TEAM_NOT_ALL_READY = 1111;
+ RETCODE_RET_DUNGEON_CANDIDATE_TEAM_HAS_REPEAT_AVATAR = 1112;
+ RETCODE_RET_DUNGEON_CANDIDATE_NOT_SINGEL_PASS = 1113;
+ RETCODE_RET_DUNGEON_REPLAY_NEED_ALL_PLAYER_DIE = 1114;
+ RETCODE_RET_DUNGEON_REPLAY_HAS_REVIVE_COUNT = 1115;
+ RETCODE_RET_DUNGEON_OTHERS_LEAVE = 1116;
+ RETCODE_RET_DUNGEON_ENTER_LEVEL_LIMIT = 1117;
+ RETCODE_RET_DUNGEON_CANNOT_ENTER_PLOT_IN_MP = 1118;
+ RETCODE_RET_DUNGEON_DROP_SUBFIELD_LIMIT = 1119;
+ RETCODE_RET_DUNGEON_BE_INVITE_PLAYER_AVATAR_ALL_DIE = 1120;
+ RETCODE_RET_DUNGEON_CANNOT_KICK = 1121;
+ RETCODE_RET_DUNGEON_CANDIDATE_TEAM_SOMEONE_LEVEL_LIMIT = 1122;
+ RETCODE_RET_DUNGEON_IN_FORCE_QUIT = 1123;
+ RETCODE_RET_DUNGEON_GUEST_QUIT_DUNGEON = 1124;
+ RETCODE_RET_DUNGEON_TICKET_FAIL = 1125;
+ RETCODE_RET_MP_NOT_IN_MY_WORLD = 1201;
+ RETCODE_RET_MP_IN_MP_MODE = 1202;
+ RETCODE_RET_MP_SCENE_IS_FULL = 1203;
+ RETCODE_RET_MP_MODE_NOT_AVAILABLE = 1204;
+ RETCODE_RET_MP_PLAYER_NOT_ENTERABLE = 1205;
+ RETCODE_RET_MP_QUEST_BLOCK_MP = 1206;
+ RETCODE_RET_MP_IN_ROOM_SCENE = 1207;
+ RETCODE_RET_MP_WORLD_IS_FULL = 1208;
+ RETCODE_RET_MP_PLAYER_NOT_ALLOW_ENTER = 1209;
+ RETCODE_RET_MP_PLAYER_DISCONNECTED = 1210;
+ RETCODE_RET_MP_NOT_IN_MP_MODE = 1211;
+ RETCODE_RET_MP_OWNER_NOT_ENTER = 1212;
+ RETCODE_RET_MP_ALLOW_ENTER_PLAYER_FULL = 1213;
+ RETCODE_RET_MP_TARGET_PLAYER_IN_TRANSFER = 1214;
+ RETCODE_RET_MP_TARGET_ENTERING_OTHER = 1215;
+ RETCODE_RET_MP_OTHER_ENTERING = 1216;
+ RETCODE_RET_MP_ENTER_MAIN_PLAYER_IN_PLOT = 1217;
+ RETCODE_RET_MP_NOT_PS_PLAYER = 1218;
+ RETCODE_RET_MP_PLAY_NOT_ACTIVE = 1219;
+ RETCODE_RET_MP_PLAY_REMAIN_REWARDS = 1220;
+ RETCODE_RET_MP_PLAY_NO_REWARD = 1221;
+ RETCODE_RET_MP_OPEN_STATE_FAIL = 1223;
+ RETCODE_RET_MP_PLAYER_IN_BLACKLIST = 1224;
+ RETCODE_RET_MP_REPLY_TIMEOUT = 1225;
+ RETCODE_RET_MP_IS_BLOCK = 1226;
+ RETCODE_RET_MP_ENTER_MAIN_PLAYER_IN_MP_PLAY = 1227;
+ RETCODE_RET_MP_IN_MP_PLAY_BATTLE = 1228;
+ RETCODE_RET_MP_GUEST_HAS_REWARD_REMAINED = 1229;
+ RETCODE_RET_MP_QUIT_MP_INVALID = 1230;
+ RETCODE_RET_MP_OTHER_DATA_VERSION_NOT_LATEST = 1231;
+ RETCODE_RET_MP_DATA_VERSION_NOT_LATEST = 1232;
+ RETCODE_RET_MP_CUR_WORLD_NOT_ENTERABLE = 1233;
+ RETCODE_RET_MP_ANY_GALLERY_STARTED = 1234;
+ RETCODE_RET_MP_HAS_ACTIVE_DRAFT = 1235;
+ RETCODE_RET_MP_PLAYER_IN_DUNGEON = 1236;
+ RETCODE_RET_MP_MATCH_FULL = 1237;
+ RETCODE_RET_MP_MATCH_LIMIT = 1238;
+ RETCODE_RET_MP_MATCH_IN_PUNISH = 1239;
+ RETCODE_RET_MP_IS_IN_MULTISTAGE = 1240;
+ RETCODE_RET_MP_MATCH_PLAY_NOT_OPEN = 1241;
+ RETCODE_RET_MP_ONLY_MP_WITH_PS_PLAYER = 1242;
+ RETCODE_RET_MP_GUEST_LOADING_FIRST_ENTER = 1243;
+ RETCODE_RET_MP_SUMMER_TIME_SPRINT_BOAT_ONGOING = 1244;
+ RETCODE_RET_MP_BLITZ_RUSH_PARKOUR_CHALLENGE_ONGOING = 1245;
+ RETCODE_RET_MP_MUSIC_GAME_ONGOING = 1246;
+ RETCODE_RET_MP_IN_MPING_MODE = 1247;
+ RETCODE_RET_MP_OWNER_IN_SINGLE_SCENE = 1248;
+ RETCODE_RET_MP_IN_SINGLE_SCENE = 1249;
+ RETCODE_RET_MP_REPLY_NO_VALID_AVATAR = 1250;
+ RETCODE_RET_MAIL_PARA_ERR = 1301;
+ RETCODE_RET_MAIL_MAX_NUM = 1302;
+ RETCODE_RET_MAIL_ITEM_NUM_EXCEED = 1303;
+ RETCODE_RET_MAIL_TITLE_LEN_EXCEED = 1304;
+ RETCODE_RET_MAIL_CONTENT_LEN_EXCEED = 1305;
+ RETCODE_RET_MAIL_SENDER_LEN_EXCEED = 1306;
+ RETCODE_RET_MAIL_PARSE_PACKET_FAIL = 1307;
+ RETCODE_RET_OFFLINE_MSG_MAX_NUM = 1308;
+ RETCODE_RET_OFFLINE_MSG_SAME_TICKET = 1309;
+ RETCODE_RET_MAIL_EXCEL_MAIL_TYPE_ERROR = 1310;
+ RETCODE_RET_MAIL_CANNOT_SEND_MCOIN = 1311;
+ RETCODE_RET_MAIL_HCOIN_EXCEED_LIMIT = 1312;
+ RETCODE_RET_MAIL_SCOIN_EXCEED_LIMIT = 1313;
+ RETCODE_RET_MAIL_MATERIAL_ID_INVALID = 1314;
+ RETCODE_RET_MAIL_AVATAR_EXCEED_LIMIT = 1315;
+ RETCODE_RET_MAIL_GACHA_TICKET_ETC_EXCEED_LIMIT = 1316;
+ RETCODE_RET_MAIL_ITEM_EXCEED_CEHUA_LIMIT = 1317;
+ RETCODE_RET_MAIL_SPACE_OR_REST_NUM_NOT_ENOUGH = 1318;
+ RETCODE_RET_MAIL_TICKET_IS_EMPTY = 1319;
+ RETCODE_RET_MAIL_TRANSACTION_IS_EMPTY = 1320;
+ RETCODE_RET_MAIL_DELETE_COLLECTED = 1321;
+ RETCODE_RET_DAILY_TASK_NOT_FINISH = 1330;
+ RETCODE_RET_DAILY_TAKS_HAS_TAKEN = 1331;
+ RETCODE_RET_SOCIAL_OFFLINE_MSG_NUM_EXCEED = 1332;
+ RETCODE_RET_DAILY_TASK_FILTER_CITY_NOT_OPEN = 1333;
+ RETCODE_RET_GACHA_INAVAILABLE = 1401;
+ RETCODE_RET_GACHA_RANDOM_NOT_MATCH = 1402;
+ RETCODE_RET_GACHA_SCHEDULE_NOT_MATCH = 1403;
+ RETCODE_RET_GACHA_INVALID_TIMES = 1404;
+ RETCODE_RET_GACHA_COST_ITEM_NOT_ENOUGH = 1405;
+ RETCODE_RET_GACHA_TIMES_LIMIT = 1406;
+ RETCODE_RET_GACHA_WISH_SAME_ITEM = 1407;
+ RETCODE_RET_GACHA_WISH_INVALID_ITEM = 1408;
+ RETCODE_RET_GACHA_MINORS_TIMES_LIMIT = 1409;
+ RETCODE_RET_INVESTIGAITON_NOT_IN_PROGRESS = 1501;
+ RETCODE_RET_INVESTIGAITON_UNCOMPLETE = 1502;
+ RETCODE_RET_INVESTIGAITON_REWARD_TAKEN = 1503;
+ RETCODE_RET_INVESTIGAITON_TARGET_STATE_ERROR = 1504;
+ RETCODE_RET_PUSH_TIPS_NOT_FOUND = 1505;
+ RETCODE_RET_SIGN_IN_RECORD_NOT_FOUND = 1506;
+ RETCODE_RET_ALREADY_HAVE_SIGNED_IN = 1507;
+ RETCODE_RET_SIGN_IN_COND_NOT_SATISFIED = 1508;
+ RETCODE_RET_BONUS_ACTIVITY_NOT_UNREWARDED = 1509;
+ RETCODE_RET_SIGN_IN_REWARDED = 1510;
+ RETCODE_RET_TOWER_NOT_OPEN = 1521;
+ RETCODE_RET_TOWER_HAVE_DAILY_RECORD = 1522;
+ RETCODE_RET_TOWER_NOT_RECORD = 1523;
+ RETCODE_RET_TOWER_HAVE_RECORD = 1524;
+ RETCODE_RET_TOWER_TEAM_NUM_ERROR = 1525;
+ RETCODE_RET_TOWER_FLOOR_NOT_OPEN = 1526;
+ RETCODE_RET_TOWER_NO_FLOOR_STAR_RECORD = 1527;
+ RETCODE_RET_ALREADY_HAS_TOWER_BUFF = 1528;
+ RETCODE_RET_DUPLICATE_ENTER_LEVEL = 1529;
+ RETCODE_RET_NOT_IN_TOWER_LEVEL = 1530;
+ RETCODE_RET_IN_TOWER_LEVEL = 1531;
+ RETCODE_RET_TOWER_PREV_FLOOR_NOT_FINISH = 1532;
+ RETCODE_RET_TOWER_STAR_NOT_ENOUGH = 1533;
+ RETCODE_RET_BATTLE_PASS_NO_SCHEDULE = 1541;
+ RETCODE_RET_BATTLE_PASS_HAS_BUYED = 1542;
+ RETCODE_RET_BATTLE_PASS_LEVEL_OVERFLOW = 1543;
+ RETCODE_RET_BATTLE_PASS_PRODUCT_EXPIRED = 1544;
+ RETCODE_RET_MATCH_HOST_QUIT = 1561;
+ RETCODE_RET_MATCH_ALREADY_IN_MATCH = 1562;
+ RETCODE_RET_MATCH_NOT_IN_MATCH = 1563;
+ RETCODE_RET_MATCH_APPLYING_ENTER_MP = 1564;
+ RETCODE_RET_WIDGET_TREASURE_SPOT_NOT_FOUND = 1581;
+ RETCODE_RET_WIDGET_TREASURE_ENTITY_EXISTS = 1582;
+ RETCODE_RET_WIDGET_TREASURE_SPOT_FAR_AWAY = 1583;
+ RETCODE_RET_WIDGET_TREASURE_FINISHED_TODAY = 1584;
+ RETCODE_RET_WIDGET_QUICK_USE_REQ_PARAM_ERROR = 1585;
+ RETCODE_RET_WIDGET_CAMERA_SCAN_ID_ERROR = 1586;
+ RETCODE_RET_WIDGET_NOT_ACTIVE = 1587;
+ RETCODE_RET_WIDGET_FEATHER_NOT_ACTIVE = 1588;
+ RETCODE_RET_WIDGET_FEATHER_GADGET_TOO_FAR_AWAY = 1589;
+ RETCODE_RET_WIDGET_CAPTURE_ANIMAL_NOT_EXIST = 1590;
+ RETCODE_RET_WIDGET_CAPTURE_ANIMAL_DROP_BAG_LIMIT = 1591;
+ RETCODE_RET_WIDGET_CAPTURE_ANIMAL_CAN_NOT_CAPTURE = 1592;
+ RETCODE_RET_WIDGET_SKY_CRYSTAL_ALL_COLLECTED = 1593;
+ RETCODE_RET_WIDGET_SKY_CRYSTAL_HINT_ALREADY_EXIST = 1594;
+ RETCODE_RET_WIDGET_SKY_CRYSTAL_NOT_FOUND = 1595;
+ RETCODE_RET_WIDGET_SKY_CRYSTAL_NO_HINT_TO_CLEAR = 1596;
+ RETCODE_RET_WIDGET_LIGHT_STONE_ENERGY_NOT_ENOUGH = 1597;
+ RETCODE_RET_WIDGET_TOY_CRYSTAL_ENERGY_NOT_ENOUGH = 1598;
+ RETCODE_RET_WIDGET_LIGHT_STONE_LEVEL_NOT_ENOUGH = 1599;
+ RETCODE_RET_UID_NOT_EXIST = 2001;
+ RETCODE_RET_PARSE_BIN_ERROR = 2002;
+ RETCODE_RET_ACCOUNT_INFO_NOT_EXIST = 2003;
+ RETCODE_RET_ORDER_INFO_NOT_EXIST = 2004;
+ RETCODE_RET_SNAPSHOT_INDEX_ERROR = 2005;
+ RETCODE_RET_MAIL_HAS_BEEN_SENT = 2006;
+ RETCODE_RET_PRODUCT_NOT_EXIST = 2007;
+ RETCODE_RET_UNFINISH_ORDER = 2008;
+ RETCODE_RET_ID_NOT_EXIST = 2009;
+ RETCODE_RET_ORDER_TRADE_EARLY = 2010;
+ RETCODE_RET_ORDER_FINISHED = 2011;
+ RETCODE_RET_GAMESERVER_VERSION_WRONG = 2012;
+ RETCODE_RET_OFFLINE_OP_FULL_LENGTH = 2013;
+ RETCODE_RET_CONCERT_PRODUCT_OBTAIN_LIMIT = 2014;
+ RETCODE_RET_CONCERT_PRODUCT_TICKET_DUPLICATED = 2015;
+ RETCODE_RET_CONCERT_PRODUCT_TICKET_EMPTY = 2016;
+ RETCODE_RET_REDIS_MODIFIED = 5001;
+ RETCODE_RET_REDIS_UID_NOT_EXIST = 5002;
+ RETCODE_RET_PATHFINDING_DATA_NOT_EXIST = 6001;
+ RETCODE_RET_PATHFINDING_DESTINATION_NOT_EXIST = 6002;
+ RETCODE_RET_PATHFINDING_ERROR_SCENE = 6003;
+ RETCODE_RET_PATHFINDING_SCENE_DATA_LOADING = 6004;
+ RETCODE_RET_FRIEND_COUNT_EXCEEDED = 7001;
+ RETCODE_RET_PLAYER_NOT_EXIST = 7002;
+ RETCODE_RET_ALREADY_SENT_ADD_REQUEST = 7003;
+ RETCODE_RET_ASK_FRIEND_LIST_FULL = 7004;
+ RETCODE_RET_PLAYER_ALREADY_IS_FRIEND = 7005;
+ RETCODE_RET_PLAYER_NOT_ASK_FRIEND = 7006;
+ RETCODE_RET_TARGET_FRIEND_COUNT_EXCEED = 7007;
+ RETCODE_RET_NOT_FRIEND = 7008;
+ RETCODE_RET_BIRTHDAY_CANNOT_BE_SET_TWICE = 7009;
+ RETCODE_RET_CANNOT_ADD_SELF_FRIEND = 7010;
+ RETCODE_RET_SIGNATURE_ILLEGAL = 7011;
+ RETCODE_RET_PS_PLAYER_CANNOT_ADD_FRIENDS = 7012;
+ RETCODE_RET_PS_PLAYER_CANNOT_REMOVE_FRIENDS = 7013;
+ RETCODE_RET_NAME_CARD_NOT_UNLOCKED = 7014;
+ RETCODE_RET_ALREADY_IN_BLACKLIST = 7015;
+ RETCODE_RET_PS_PALEYRS_CANNOT_ADD_BLACKLIST = 7016;
+ RETCODE_RET_PLAYER_BLACKLIST_FULL = 7017;
+ RETCODE_RET_PLAYER_NOT_IN_BLACKLIST = 7018;
+ RETCODE_RET_BLACKLIST_PLAYER_CANNOT_ADD_FRIEND = 7019;
+ RETCODE_RET_IN_TARGET_BLACKLIST = 7020;
+ RETCODE_RET_CANNOT_ADD_TARGET_FRIEND = 7021;
+ RETCODE_RET_BIRTHDAY_FORMAT_ERROR = 7022;
+ RETCODE_RET_ONLINE_ID_NOT_EXISTS = 7023;
+ RETCODE_RET_FIRST_SHARE_REWARD_HAS_TAKEN = 7024;
+ RETCODE_RET_PS_PLAYER_CANNOT_REMOVE_BLACKLIST = 7025;
+ RETCODE_RET_REPORT_CD = 7026;
+ RETCODE_RET_REPORT_CONTENT_ILLEGAL = 7027;
+ RETCODE_RET_REMARK_WORD_ILLEGAL = 7028;
+ RETCODE_RET_REMARK_TOO_LONG = 7029;
+ RETCODE_RET_REMARK_UTF8_ERROR = 7030;
+ RETCODE_RET_REMARK_IS_EMPTY = 7031;
+ RETCODE_RET_ASK_ADD_FRIEND_CD = 7032;
+ RETCODE_RET_SHOW_AVATAR_INFO_NOT_EXIST = 7033;
+ RETCODE_RET_PLAYER_NOT_SHOW_AVATAR = 7034;
+ RETCODE_RET_SOCIAL_UPDATE_SHOW_LIST_REPEAT_ID = 7035;
+ RETCODE_RET_PSN_ID_NOT_FOUND = 7036;
+ RETCODE_RET_EMOJI_COLLECTION_NUM_EXCEED_LIMIT = 7037;
+ RETCODE_RET_REMARK_EMPTY = 7038;
+ RETCODE_RET_IN_TARGET_PSN_BLACKLIST = 7039;
+ RETCODE_RET_SIGNATURE_NOT_CHANGED = 7040;
+ RETCODE_RET_SIGNATURE_MONTHLY_LIMIT = 7041;
+ RETCODE_RET_OFFERING_NOT_OPEN = 7081;
+ RETCODE_RET_OFFERING_LEVEL_LIMIT = 7082;
+ RETCODE_RET_OFFERING_LEVEL_NOT_REACH = 7083;
+ RETCODE_RET_OFFERING_LEVEL_HAS_TAKEN = 7084;
+ RETCODE_RET_CITY_REPUTATION_NOT_OPEN = 7101;
+ RETCODE_RET_CITY_REPUTATION_LEVEL_TAKEN = 7102;
+ RETCODE_RET_CITY_REPUTATION_LEVEL_NOT_REACH = 7103;
+ RETCODE_RET_CITY_REPUTATION_PARENT_QUEST_TAKEN = 7104;
+ RETCODE_RET_CITY_REPUTATION_PARENT_QUEST_UNFINISH = 7105;
+ RETCODE_RET_CITY_REPUTATION_ACCEPT_REQUEST = 7106;
+ RETCODE_RET_CITY_REPUTATION_NOT_ACCEPT_REQUEST = 7107;
+ RETCODE_RET_CITY_REPUTATION_ACCEPT_REQUEST_LIMIT = 7108;
+ RETCODE_RET_CITY_REPUTATION_ENTRANCE_NOT_OPEN = 7109;
+ RETCODE_RET_CITY_REPUTATION_TAKEN_REQUEST_REWARD = 7110;
+ RETCODE_RET_CITY_REPUTATION_SWITCH_CLOSE = 7111;
+ RETCODE_RET_CITY_REPUTATION_ENTRACE_SWITCH_CLOSE = 7112;
+ RETCODE_RET_CITY_REPUTATION_TAKEN_EXPLORE_REWARD = 7113;
+ RETCODE_RET_CITY_REPUTATION_EXPLORE_NOT_REACH = 7114;
+ RETCODE_RET_MECHANICUS_NOT_OPEN = 7120;
+ RETCODE_RET_MECHANICUS_GEAR_UNLOCK = 7121;
+ RETCODE_RET_MECHANICUS_GEAR_LOCK = 7122;
+ RETCODE_RET_MECHANICUS_GEAR_LEVEL_LIMIT = 7123;
+ RETCODE_RET_MECHANICUS_COIN_NOT_ENOUGH = 7124;
+ RETCODE_RET_MECHANICUS_NO_SEQUENCE = 7125;
+ RETCODE_RET_MECHANICUS_SEQUENCE_LIMIT_LEVEL = 7126;
+ RETCODE_RET_MECHANICUS_SEQUENCE_LIMIT_OPEN = 7127;
+ RETCODE_RET_MECHANICUS_DIFFICULT_NOT_SUPPORT = 7128;
+ RETCODE_RET_MECHANICUS_TICKET_NOT_ENOUGH = 7129;
+ RETCODE_RET_MECHANICUS_TEACH_NOT_FINISH = 7130;
+ RETCODE_RET_MECHANICUS_TEACH_FINISHED = 7131;
+ RETCODE_RET_MECHANICUS_PREV_DIFFICULT_LEVEL_BLOCK = 7132;
+ RETCODE_RET_MECHANICUS_PLAYER_LIMIT = 7133;
+ RETCODE_RET_MECHANICUS_PUNISH_TIME = 7134;
+ RETCODE_RET_MECHANICUS_SWITCH_CLOSE = 7135;
+ RETCODE_RET_MECHANICUS_BATTLE_NOT_IN_DUNGEON = 7150;
+ RETCODE_RET_MECHANICUS_BATTLE_PLAY_NOT_FOUND = 7151;
+ RETCODE_RET_MECHANICUS_BATTLE_DUPLICATE_PICK_CARD = 7152;
+ RETCODE_RET_MECHANICUS_BATTLE_PLAYER_NOT_IN_PLAY = 7153;
+ RETCODE_RET_MECHANICUS_BATTLE_CARD_NOT_AVAILABLE = 7154;
+ RETCODE_RET_MECHANICUS_BATTLE_NOT_IN_CARD_STAGE = 7155;
+ RETCODE_RET_MECHANICUS_BATTLE_CARD_IS_WAITING = 7156;
+ RETCODE_RET_MECHANICUS_BATTLE_CARD_ALL_CONFIRMED = 7157;
+ RETCODE_RET_MECHANICUS_BATTLE_CARD_ALREADY_CONFIRMED = 7158;
+ RETCODE_RET_MECHANICUS_BATTLE_CARD_CONFIRMED_BY_OTHER = 7159;
+ RETCODE_RET_MECHANICUS_BATTLE_CARD_NOT_ENOUGH_POINTS = 7160;
+ RETCODE_RET_MECHANICUS_BATTLE_CARD_ALREADY_SKIPPED = 7161;
+ RETCODE_RET_LEGENDARY_KEY_NOT_ENOUGH = 8001;
+ RETCODE_RET_LEGENDARY_KEY_EXCEED_LIMIT = 8002;
+ RETCODE_RET_DAILY_TASK_NOT_ENOUGH_TO_REDEEM = 8003;
+ RETCODE_RET_PERSONAL_LINE_OPEN_STATE_OFF = 8004;
+ RETCODE_RET_PERSONAL_LINE_LEVEL_NOT_ENOUGH = 8005;
+ RETCODE_RET_PERSONAL_LINE_NOT_OPEN = 8006;
+ RETCODE_RET_PERSONAL_LINE_PRE_QUEST_NOT_FINISH = 8007;
+ RETCODE_RET_HUNTING_ALREADY_FINISH_OFFER_LIMIT = 8201;
+ RETCODE_RET_HUNTING_HAS_UNFINISHED_OFFER = 8202;
+ RETCODE_RET_HUNTING_FAILED_OFFER_NOT_CD_READY = 8203;
+ RETCODE_RET_HUNTING_NOT_TAKE_OFFER = 8204;
+ RETCODE_RET_HUNTING_CANNOT_TAKE_TWICE = 8205;
+ RETCODE_RET_RPIVATE_CHAT_INVALID_CONTENT_TYPE = 8901;
+ RETCODE_RET_PRIVATE_CHAT_TARGET_IS_NOT_FRIEND = 8902;
+ RETCODE_RET_PRIVATE_CHAT_CONTENT_NOT_SUPPORTED = 8903;
+ RETCODE_RET_PRIVATE_CHAT_CONTENT_TOO_LONG = 8904;
+ RETCODE_RET_PRIVATE_CHAT_PULL_TOO_FAST = 8905;
+ RETCODE_RET_PRIVATE_CHAT_REPEAT_READ = 8906;
+ RETCODE_RET_PRIVATE_CHAT_READ_NOT_FRIEND = 8907;
+ RETCODE_RET_REUNION_FINISHED = 9001;
+ RETCODE_RET_REUNION_NOT_ACTIVATED = 9002;
+ RETCODE_RET_REUNION_ALREADY_TAKE_FIRST_REWARD = 9003;
+ RETCODE_RET_REUNION_SIGN_IN_REWARDED = 9004;
+ RETCODE_RET_REUNION_WATCHER_REWARDED = 9005;
+ RETCODE_RET_REUNION_WATCHER_NOT_FINISH = 9006;
+ RETCODE_RET_REUNION_MISSION_REWARDED = 9007;
+ RETCODE_RET_REUNION_MISSION_NOT_FINISH = 9008;
+ RETCODE_RET_REUNION_WATCHER_REWARD_NOT_UNLOCKED = 9009;
+ RETCODE_RET_BLESSING_CONTENT_CLOSED = 9101;
+ RETCODE_RET_BLESSING_NOT_ACTIVE = 9102;
+ RETCODE_RET_BLESSING_NOT_TODAY_ENTITY = 9103;
+ RETCODE_RET_BLESSING_ENTITY_EXCEED_SCAN_NUM_LIMIT = 9104;
+ RETCODE_RET_BLESSING_DAILY_SCAN_NUM_EXCEED_LIMIT = 9105;
+ RETCODE_RET_BLESSING_REDEEM_REWARD_NUM_EXCEED_LIMIT = 9106;
+ RETCODE_RET_BLESSING_REDEEM_PIC_NUM_NOT_ENOUGH = 9107;
+ RETCODE_RET_BLESSING_PIC_NOT_ENOUGH = 9108;
+ RETCODE_RET_BLESSING_PIC_HAS_RECEIVED = 9109;
+ RETCODE_RET_BLESSING_TARGET_RECV_NUM_EXCEED = 9110;
+ RETCODE_RET_FLEUR_FAIR_CREDIT_EXCEED_LIMIT = 9111;
+ RETCODE_RET_FLEUR_FAIR_CREDIT_NOT_ENOUGH = 9112;
+ RETCODE_RET_FLEUR_FAIR_TOKEN_EXCEED_LIMIT = 9113;
+ RETCODE_RET_FLEUR_FAIR_TOKEN_NOT_ENOUGH = 9114;
+ RETCODE_RET_FLEUR_FAIR_MINIGAME_NOT_OPEN = 9115;
+ RETCODE_RET_FLEUR_FAIR_MUSIC_GAME_DIFFICULTY_NOT_UNLOCK = 9116;
+ RETCODE_RET_FLEUR_FAIR_DUNGEON_LOCKED = 9117;
+ RETCODE_RET_FLEUR_FAIR_DUNGEON_PUNISH_TIME = 9118;
+ RETCODE_RET_FLEUR_FAIR_ONLY_OWNER_CAN_RESTART_MINIGAM = 9119;
+ RETCODE_RET_WATER_SPIRIT_COIN_EXCEED_LIMIT = 9120;
+ RETCODE_RET_WATER_SPIRIT_COIN_NOT_ENOUGH = 9121;
+ RETCODE_RET_REGION_SEARCH_NO_SEARCH = 9122;
+ RETCODE_RET_REGION_SEARCH_STATE_ERROR = 9123;
+ RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_STAGE_NOT_OPEN = 9130;
+ RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_NOT_OPEN = 9131;
+ RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_FIRST_PASS_REWARD_HAS_TAKEN = 9132;
+ RETCODE_RET_CHANNELLER_SLAB_LOOP_DUNGEON_SCORE_REWARD_HAS_TAKEN = 9133;
+ RETCODE_RET_CHANNELLER_SLAB_INVALID_ONE_OFF_DUNGEON = 9134;
+ RETCODE_RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_DONE = 9135;
+ RETCODE_RET_CHANNELLER_SLAB_ONE_OFF_DUNGEON_STAGE_NOT_OPEN = 9136;
+ RETCODE_RET_CHANNELLER_SLAB_TOKEN_EXCEED_LIMIT = 9137;
+ RETCODE_RET_CHANNELLER_SLAB_TOKEN_NOT_ENOUGH = 9138;
+ RETCODE_RET_CHANNELLER_SLAB_PLAYER_NOT_IN_ONE_OFF_DUNGEON = 9139;
+ RETCODE_RET_MIST_TRIAL_SELECT_CHARACTER_NUM_NOT_ENOUGH = 9150;
+ RETCODE_RET_HIDE_AND_SEEK_PLAY_NOT_OPEN = 9160;
+ RETCODE_RET_HIDE_AND_SEEK_PLAY_MAP_NOT_OPEN = 9161;
+ RETCODE_RET_SUMMER_TIME_DRAFT_WOORD_EXCEED_LIMIT = 9170;
+ RETCODE_RET_SUMMER_TIME_DRAFT_WOORD_NOT_ENOUGH = 9171;
+ RETCODE_RET_SUMMER_TIME_MINI_HARPASTUM_EXCEED_LIMIT = 9172;
+ RETCODE_RET_SUMMER_TIME_MINI_HARPASTUMNOT_ENOUGH = 9173;
+ RETCODE_RET_BOUNCE_CONJURING_COIN_EXCEED_LIMIT = 9180;
+ RETCODE_RET_BOUNCE_CONJURING_COIN_NOT_ENOUGH = 9181;
+ RETCODE_RET_CHESS_TEACH_MAP_FINISHED = 9183;
+ RETCODE_RET_CHESS_TEACH_MAP_UNFINISHED = 9184;
+ RETCODE_RET_CHESS_COIN_EXCEED_LIMIT = 9185;
+ RETCODE_RET_CHESS_COIN_NOT_ENOUGH = 9186;
+ RETCODE_RET_CHESS_IN_PUNISH_TIME = 9187;
+ RETCODE_RET_CHESS_PREV_MAP_UNFINISHED = 9188;
+ RETCODE_RET_CHESS_MAP_LOCKED = 9189;
+ RETCODE_RET_BLITZ_RUSH_NOT_OPEN = 9192;
+ RETCODE_RET_BLITZ_RUSH_DUNGEON_NOT_OPEN = 9193;
+ RETCODE_RET_BLITZ_RUSH_COIN_A_EXCEED_LIMIT = 9194;
+ RETCODE_RET_BLITZ_RUSH_COIN_B_EXCEED_LIMIT = 9195;
+ RETCODE_RET_BLITZ_RUSH_COIN_A_NOT_ENOUGH = 9196;
+ RETCODE_RET_BLITZ_RUSH_COIN_B_NOT_ENOUGH = 9197;
+ RETCODE_RET_MIRACLE_RING_VALUE_NOT_ENOUGH = 9201;
+ RETCODE_RET_MIRACLE_RING_CD = 9202;
+ RETCODE_RET_MIRACLE_RING_REWARD_NOT_TAKEN = 9203;
+ RETCODE_RET_MIRACLE_RING_NOT_DELIVER = 9204;
+ RETCODE_RET_MIRACLE_RING_DELIVER_EXCEED = 9205;
+ RETCODE_RET_MIRACLE_RING_HAS_CREATED = 9206;
+ RETCODE_RET_MIRACLE_RING_HAS_NOT_CREATED = 9207;
+ RETCODE_RET_MIRACLE_RING_NOT_YOURS = 9208;
+ RETCODE_RET_GADGET_FOUNDATION_UNAUTHORIZED = 9251;
+ RETCODE_RET_GADGET_FOUNDATION_SCENE_NOT_FOUND = 9252;
+ RETCODE_RET_GADGET_FOUNDATION_NOT_IN_INIT_STATE = 9253;
+ RETCODE_RET_GADGET_FOUNDATION_BILDING_POINT_NOT_ENOUGHT = 9254;
+ RETCODE_RET_GADGET_FOUNDATION_NOT_IN_BUILT_STATE = 9255;
+ RETCODE_RET_GADGET_FOUNDATION_OP_NOT_SUPPORTED = 9256;
+ RETCODE_RET_GADGET_FOUNDATION_REQ_PLAYER_NOT_IN_SCENE = 9257;
+ RETCODE_RET_GADGET_FOUNDATION_LOCKED_BY_ANOTHER_PLAYER = 9258;
+ RETCODE_RET_GADGET_FOUNDATION_NOT_LOCKED = 9259;
+ RETCODE_RET_GADGET_FOUNDATION_DUPLICATE_LOCK = 9260;
+ RETCODE_RET_GADGET_FOUNDATION_PLAYER_NOT_FOUND = 9261;
+ RETCODE_RET_GADGET_FOUNDATION_PLAYER_GEAR_NOT_FOUND = 9262;
+ RETCODE_RET_GADGET_FOUNDATION_ROTAION_DISABLED = 9263;
+ RETCODE_RET_GADGET_FOUNDATION_REACH_DUNGEON_GEAR_LIMIT = 9264;
+ RETCODE_RET_GADGET_FOUNDATION_REACH_SINGLE_GEAR_LIMIT = 9265;
+ RETCODE_RET_GADGET_FOUNDATION_ROTATION_ON_GOING = 9266;
+ RETCODE_RET_OP_ACTIVITY_BONUS_NOT_FOUND = 9301;
+ RETCODE_RET_OP_ACTIVITY_NOT_OPEN = 9302;
+ RETCODE_RET_MULTISTAGE_PLAY_PLAYER_NOT_IN_SCENE = 9501;
+ RETCODE_RET_MULTISTAGE_PLAY_NOT_FOUND = 9502;
+ RETCODE_RET_COOP_CHAPTER_NOT_OPEN = 9601;
+ RETCODE_RET_COOP_COND_NOT_MEET = 9602;
+ RETCODE_RET_COOP_POINT_LOCKED = 9603;
+ RETCODE_RET_COOP_NOT_HAVE_PROGRESS = 9604;
+ RETCODE_RET_COOP_REWARD_HAS_TAKEN = 9605;
+ RETCODE_RET_DRAFT_HAS_ACTIVE_DRAFT = 9651;
+ RETCODE_RET_DRAFT_NOT_IN_MY_WORLD = 9652;
+ RETCODE_RET_DRAFT_NOT_SUPPORT_MP = 9653;
+ RETCODE_RET_DRAFT_PLAYER_NOT_ENOUGH = 9654;
+ RETCODE_RET_DRAFT_INCORRECT_SCENE = 9655;
+ RETCODE_RET_DRAFT_OTHER_PLAYER_ENTERING = 9656;
+ RETCODE_RET_DRAFT_GUEST_IS_TRANSFERRING = 9657;
+ RETCODE_RET_DRAFT_GUEST_NOT_IN_DRAFT_SCENE = 9658;
+ RETCODE_RET_DRAFT_INVITE_OVER_TIME = 9659;
+ RETCODE_RET_DRAFT_TWICE_CONFIRM_OVER_TIMER = 9660;
+ RETCODE_RET_HOME_UNKOWN = 9701;
+ RETCODE_RET_HOME_INVALID_CLIENT_PARAM = 9702;
+ RETCODE_RET_HOME_TARGE_PLAYER_HAS_NO_HOME = 9703;
+ RETCODE_RET_HOME_NOT_ONLINE = 9704;
+ RETCODE_RET_HOME_PLAYER_FULL = 9705;
+ RETCODE_RET_HOME_BLOCKED = 9706;
+ RETCODE_RET_HOME_ALREADY_IN_TARGET_HOME_WORLD = 9707;
+ RETCODE_RET_HOME_IN_EDIT_MODE = 9708;
+ RETCODE_RET_HOME_NOT_IN_EDIT_MODE = 9709;
+ RETCODE_RET_HOME_HAS_GUEST = 9710;
+ RETCODE_RET_HOME_CANT_ENTER_BY_IN_EDIT_MODE = 9711;
+ RETCODE_RET_HOME_CLIENT_PARAM_INVALID = 9712;
+ RETCODE_RET_HOME_PLAYER_NOT_IN_HOME_WORLD = 9713;
+ RETCODE_RET_HOME_PLAYER_NOT_IN_SELF_HOME_WORLD = 9714;
+ RETCODE_RET_HOME_NOT_FOUND_IN_MEM = 9715;
+ RETCODE_RET_HOME_PLAYER_IN_HOME_ROOM_SCENE = 9716;
+ RETCODE_RET_HOME_HOME_REFUSE_GUEST_ENTER = 9717;
+ RETCODE_RET_HOME_OWNER_REFUSE_TO_ENTER_HOME = 9718;
+ RETCODE_RET_HOME_OWNER_OFFLINE = 9719;
+ RETCODE_RET_HOME_FURNITURE_EXCEED_LIMIT = 9720;
+ RETCODE_RET_HOME_FURNITURE_COUNT_NOT_ENOUGH = 9721;
+ RETCODE_RET_HOME_IN_TRY_ENTER_PROCESS = 9722;
+ RETCODE_RET_HOME_ALREADY_IN_TARGET_SCENE = 9723;
+ RETCODE_RET_HOME_COIN_EXCEED_LIMIT = 9724;
+ RETCODE_RET_HOME_COIN_NOT_ENOUGH = 9725;
+ RETCODE_RET_HOME_MODULE_NOT_UNLOCKED = 9726;
+ RETCODE_RET_HOME_CUR_MODULE_CLOSED = 9727;
+ RETCODE_RET_HOME_FURNITURE_SUITE_NOT_UNLOCKED = 9728;
+ RETCODE_RET_HOME_IN_MATCH = 9729;
+ RETCODE_RET_HOME_IN_COMBAT = 9730;
+ RETCODE_RET_HOME_EDIT_MODE_CD = 9731;
+ RETCODE_RET_HOME_UPDATE_FURNITURE_CD = 9732;
+ RETCODE_RET_HOME_BLOCK_FURNITURE_LIMIT = 9733;
+ RETCODE_RET_HOME_NOT_SUPPORT = 9734;
+ RETCODE_RET_HOME_STATE_NOT_OPEN = 9735;
+ RETCODE_RET_HOME_TARGET_STATE_NOT_OPEN = 9736;
+ RETCODE_RET_HOME_APPLY_ENTER_OTHER_HOME_FAIL = 9737;
+ RETCODE_RET_HOME_SAVE_NO_MAIN_HOUSE = 9738;
+ RETCODE_RET_HOME_IN_DUNGEON = 9739;
+ RETCODE_RET_HOME_ANY_GALLERY_STARTED = 9740;
+ RETCODE_RET_HOME_QUEST_BLOCK_HOME = 9741;
+ RETCODE_RET_HOME_WAITING_PRIOR_CHECK = 9742;
+ RETCODE_RET_HOME_PERSISTENT_CHECK_FAIL = 9743;
+ RETCODE_RET_HOME_FIND_ONLINE_HOME_FAIL = 9744;
+ RETCODE_RET_HOME_JOIN_SCENE_FAIL = 9745;
+ RETCODE_RET_HOME_MAX_PLAYER = 9746;
+ RETCODE_RET_HOME_IN_TRANSFER = 9747;
+ RETCODE_RET_HOME_ANY_HOME_GALLERY_STARTED = 9748;
+ RETCODE_RET_HOME_CAN_NOT_ENTER_IN_AUDIT = 9749;
+ RETCODE_RET_FURNITURE_MAKE_INDEX_ERROR = 9750;
+ RETCODE_RET_FURNITURE_MAKE_LOCKED = 9751;
+ RETCODE_RET_FURNITURE_MAKE_CONFIG_ERROR = 9752;
+ RETCODE_RET_FURNITURE_MAKE_SLOT_FULL = 9753;
+ RETCODE_RET_FURNITURE_MAKE_ADD_FURNITURE_FAIL = 9754;
+ RETCODE_RET_FURNITURE_MAKE_UNFINISH = 9755;
+ RETCODE_RET_FURNITURE_MAKE_IS_FINISH = 9756;
+ RETCODE_RET_FURNITURE_MAKE_NOT_IN_CORRECT_HOME = 9757;
+ RETCODE_RET_FURNITURE_MAKE_NO_COUNT = 9758;
+ RETCODE_RET_FURNITURE_MAKE_ACCELERATE_LIMIT = 9759;
+ RETCODE_RET_FURNITURE_MAKE_NO_MAKE_DATA = 9760;
+ RETCODE_RET_HOME_LIMITED_SHOP_CLOSE = 9761;
+ RETCODE_RET_HOME_AVATAR_NOT_SHOW = 9762;
+ RETCODE_RET_HOME_EVENT_COND_NOT_SATISFIED = 9763;
+ RETCODE_RET_HOME_INVALID_ARRANGE_ANIMAL_PARAM = 9764;
+ RETCODE_RET_HOME_INVALID_ARRANGE_NPC_PARAM = 9765;
+ RETCODE_RET_HOME_INVALID_ARRANGE_SUITE_PARAM = 9766;
+ RETCODE_RET_HOME_INVALID_ARRANGE_MAIN_HOUSE_PARAM = 9767;
+ RETCODE_RET_HOME_AVATAR_STATE_NOT_OPEN = 9768;
+ RETCODE_RET_HOME_PLANT_FIELD_NOT_EMPTY = 9769;
+ RETCODE_RET_HOME_PLANT_FIELD_EMPTY = 9770;
+ RETCODE_RET_HOME_PLANT_FIELD_TYPE_ERROR = 9771;
+ RETCODE_RET_HOME_PLANT_TIME_NOT_ENOUGH = 9772;
+ RETCODE_RET_HOME_PLANT_SUB_FIELD_NUM_NOT_ENOUGH = 9773;
+ RETCODE_RET_HOME_PLANT_FIELD_PARAM_ERROR = 9774;
+ RETCODE_RET_HOME_FURNITURE_GUID_ERROR = 9775;
+ RETCODE_RET_HOME_FURNITURE_ARRANGE_LIMIT = 9776;
+ RETCODE_RET_HOME_FISH_FARMING_LIMIT = 9777;
+ RETCODE_RET_HOME_FISH_COUNT_NOT_ENOUGH = 9778;
+ RETCODE_RET_HOME_FURNITURE_COST_LIMIT = 9779;
+ RETCODE_RET_HOME_CUSTOM_FURNITURE_INVALID = 9780;
+ RETCODE_RET_HOME_INVALID_ARRANGE_GROUP_PARAM = 9781;
+ RETCODE_RET_HOME_FURNITURE_ARRANGE_GROUP_LIMIT = 9782;
+ RETCODE_RET_HOME_PICTURE_FRAME_COOP_CG_GENDER_ERROR = 9783;
+ RETCODE_RET_HOME_PICTURE_FRAME_COOP_CG_NOT_UNLOCK = 9784;
+ RETCODE_RET_HOME_FURNITURE_CANNOT_ARRANGE = 9785;
+ RETCODE_RET_HOME_FURNITURE_IN_DUPLICATE_SUITE = 9786;
+ RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_SMALL = 9787;
+ RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_TOO_BIG = 9788;
+ RETCODE_RET_HOME_FURNITURE_SUITE_EXCEED_LIMIT = 9789;
+ RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_EXCEED_LIMIT = 9790;
+ RETCODE_RET_HOME_FURNITURE_CUSTOM_SUITE_INVALID_SURFACE_TYPE = 9791;
+ RETCODE_RET_HOME_BGM_ID_NOT_FOUND = 9792;
+ RETCODE_RET_HOME_BGM_NOT_UNLOCKED = 9793;
+ RETCODE_RET_HOME_BGM_FURNITURE_NOT_FOUND = 9794;
+ RETCODE_RET_HOME_BGM_NOT_SUPPORT_BY_CUR_SCENE = 9795;
+ RETCODE_RET_HOME_LIMITED_SHOP_GOODS_DISABLE = 9796;
+ RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_EMPTY = 9797;
+ RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_NOT_FOUND = 9798;
+ RETCODE_RET_HOME_WORLD_WOOD_MATERIAL_COUNT_INVALID = 9799;
+ RETCODE_RET_HOME_WORLD_WOOD_EXCHANGE_EXCEED_LIMIT = 9800;
+ RETCODE_RET_SUMO_ACTIVITY_STAGE_NOT_OPEN = 10000;
+ RETCODE_RET_SUMO_ACTIVITY_SWITCH_TEAM_IN_CD = 10001;
+ RETCODE_RET_SUMO_ACTIVITY_TEAM_NUM_INCORRECT = 10002;
+ RETCODE_RET_LUNA_RITE_ACTIVITY_AREA_ID_ERROR = 10004;
+ RETCODE_RET_LUNA_RITE_ACTIVITY_BATTLE_NOT_FINISH = 10005;
+ RETCODE_RET_LUNA_RITE_ACTIVITY_ALREADY_SACRIFICE = 10006;
+ RETCODE_RET_LUNA_RITE_ACTIVITY_ALREADY_TAKE_REWARD = 10007;
+ RETCODE_RET_LUNA_RITE_ACTIVITY_SACRIFICE_NOT_ENOUGH = 10008;
+ RETCODE_RET_LUNA_RITE_ACTIVITY_SEARCHING_COND_NOT_MEET = 10009;
+ RETCODE_RET_DIG_GADGET_CONFIG_ID_NOT_MATCH = 10015;
+ RETCODE_RET_DIG_FIND_NEAREST_POS_FAIL = 10016;
+ RETCODE_RET_MUSIC_GAME_LEVEL_NOT_OPEN = 10021;
+ RETCODE_RET_MUSIC_GAME_LEVEL_NOT_UNLOCK = 10022;
+ RETCODE_RET_MUSIC_GAME_LEVEL_NOT_STARTED = 10023;
+ RETCODE_RET_MUSIC_GAME_LEVEL_CONFIG_NOT_FOUND = 10024;
+ RETCODE_RET_MUSIC_GAME_LEVEL_ID_NOT_MATCH = 10025;
+ RETCODE_RET_ROGUELIKE_COIN_A_NOT_ENOUGH = 10031;
+ RETCODE_RET_ROGUELIKE_COIN_B_NOT_ENOUGH = 10032;
+ RETCODE_RET_ROGUELIKE_COIN_C_NOT_ENOUGH = 10033;
+ RETCODE_RET_ROGUELIKE_COIN_A_EXCEED_LIMIT = 10034;
+ RETCODE_RET_ROGUELIKE_COIN_B_EXCEED_LIMIT = 10035;
+ RETCODE_RET_ROGUELIKE_COIN_C_EXCEED_LIMIT = 10036;
+ RETCODE_RET_ROGUELIKE_RUNE_COUNT_NOT_ENOUGH = 10037;
+ RETCODE_RET_ROGUELIKE_NOT_IN_ROGUE_DUNGEON = 10038;
+ RETCODE_RET_ROGUELIKE_CELL_NOT_FOUND = 10039;
+ RETCODE_RET_ROGUELIKE_CELL_TYPE_INCORRECT = 10040;
+ RETCODE_RET_ROGUELIKE_CELL_ALREADY_FINISHED = 10041;
+ RETCODE_RET_ROGUELIKE_DUNGEON_HAVE_UNFINISHED_PROGRESS = 10042;
+ RETCODE_RET_ROGUELIKE_STAGE_NOT_FINISHED = 10043;
+ RETCODE_RET_ROGUELIKE_STAGE_FIRST_PASS_REWARD_HAS_TAKEN = 10045;
+ RETCODE_RET_ROGUELIKE_ACTIVITY_CONTENT_CLOSED = 10046;
+ RETCODE_RET_ROGUELIKE_DUNGEON_PRE_QUEST_NOT_FINISHED = 10047;
+ RETCODE_RET_ROGUELIKE_DUNGEON_NOT_OPEN = 10048;
+ RETCODE_RET_ROGUELIKE_SPRINT_IS_BANNED = 10049;
+ RETCODE_RET_ROGUELIKE_DUNGEON_PRE_STAGE_NOT_FINISHED = 10050;
+ RETCODE_RET_ROGUELIKE_ALL_AVATAR_DIE_CANNOT_RESUME = 10051;
+ RETCODE_RET_PLANT_FLOWER_ALREADY_TAKE_SEED = 10056;
+ RETCODE_RET_PLANT_FLOWER_FRIEND_HAVE_FLOWER_LIMIT = 10057;
+ RETCODE_RET_PLANT_FLOWER_CAN_GIVE_FLOWER_NOT_ENOUGH = 10058;
+ RETCODE_RET_PLANT_FLOWER_WISH_FLOWER_KINDS_LIMIT = 10059;
+ RETCODE_RET_PLANT_FLOWER_HAVE_FLOWER_NOT_ENOUGH = 10060;
+ RETCODE_RET_PLANT_FLOWER_FLOWER_COMBINATION_INVALID = 10061;
+ RETCODE_RET_HACHI_DUNGEON_NOT_VALID = 10052;
+ RETCODE_RET_HACHI_DUNGEON_STAGE_NOT_OPEN = 10053;
+ RETCODE_RET_HACHI_DUNGEON_TEAMMATE_NOT_PASS = 10054;
+ RETCODE_RET_WINTER_CAMP_COIN_A_NOT_ENOUGH = 10071;
+ RETCODE_RET_WINTER_CAMP_COIN_B_NOT_ENOUGH = 10072;
+ RETCODE_RET_WINTER_CAMP_COIN_A_EXCEED_LIMIT = 10073;
+ RETCODE_RET_WINTER_CAMP_COIN_B_EXCEED_LIMIT = 10074;
+ RETCODE_RET_WINTER_CAMP_WISH_ID_INVALID = 10075;
+ RETCODE_RET_WINTER_CAMP_NOT_FOUND_RECV_ITEM_DATA = 10076;
+ RETCODE_RET_WINTER_CAMP_FRIEND_ITEM_COUNT_OVERFLOW = 10077;
+ RETCODE_RET_WINTER_CAMP_SELECT_ITEM_DATA_INVALID = 10078;
+ RETCODE_RET_WINTER_CAMP_ITEM_LIST_EMPTY = 10079;
+ RETCODE_RET_WINTER_CAMP_REWARD_ALREADY_TAKEN = 10080;
+ RETCODE_RET_WINTER_CAMP_STAGE_NOT_FINISH = 10081;
+ RETCODE_RET_WINTER_CAMP_GADGET_INVALID = 10082;
+ RETCODE_RET_LANTERN_RITE_COIN_A_NOT_ENOUGH = 10090;
+ RETCODE_RET_LANTERN_RITE_COIN_B_NOT_ENOUGH = 10091;
+ RETCODE_RET_LANTERN_RITE_COIN_C_NOT_ENOUGH = 10092;
+ RETCODE_RET_LANTERN_RITE_COIN_A_EXCEED_LIMIT = 10093;
+ RETCODE_RET_LANTERN_RITE_COIN_B_EXCEED_LIMIT = 10094;
+ RETCODE_RET_LANTERN_RITE_COIN_C_EXCEED_LIMIT = 10095;
+ RETCODE_RET_LANTERN_RITE_PROJECTION_CONTENT_CLOSED = 10096;
+ RETCODE_RET_LANTERN_RITE_PROJECTION_CAN_NOT_START = 10097;
+ RETCODE_RET_LANTERN_RITE_DUNGEON_NOT_OPEN = 10098;
+ RETCODE_RET_LANTERN_RITE_HAS_TAKEN_SKIN_REWARD = 10099;
+ RETCODE_RET_LANTERN_RITE_NOT_FINISHED_SKIN_WATCHERS = 10100;
+ RETCODE_RET_LANTERN_RITE_FIREWORKS_CONTENT_CLOSED = 10101;
+ RETCODE_RET_LANTERN_RITE_FIREWORKS_CHALLENGE_NOT_START = 10102;
+ RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_PARAM_ERROR = 10103;
+ RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_SKILL_LOCK = 10104;
+ RETCODE_RET_LANTERN_RITE_FIREWORKS_REFORM_STAMINA_NOT_ENOUGH = 10105;
+ RETCODE_RET_POTION_ACTIVITY_STAGE_NOT_OPEN = 10110;
+ RETCODE_RET_POTION_ACTIVITY_LEVEL_HAVE_PASS = 10111;
+ RETCODE_RET_POTION_ACTIVITY_TEAM_NUM_INCORRECT = 10112;
+ RETCODE_RET_POTION_ACTIVITY_AVATAR_IN_CD = 10113;
+ RETCODE_RET_POTION_ACTIVITY_BUFF_IN_CD = 10114;
+ RETCODE_RET_IRODORI_POETRY_INVALID_LINE_ID = 10120;
+ RETCODE_RET_IRODORI_POETRY_INVALID_THEME_ID = 10121;
+ RETCODE_RET_IRODORI_POETRY_NOT_GET_ALL_INSPIRATION = 10122;
+ RETCODE_RET_IRODORI_POETRY_INSPIRATION_REACH_LIMIE = 10123;
+ RETCODE_RET_IRODORI_POETRY_ENTITY_ALREADY_SCANNED = 10124;
+ RETCODE_RET_ACTIVITY_BANNER_ALREADY_CLEARED = 10300;
+ RETCODE_RET_IRODORI_CHESS_NOT_OPEN = 10301;
+ RETCODE_RET_IRODORI_CHESS_LEVEL_NOT_OPEN = 10302;
+ RETCODE_RET_IRODORI_CHESS_MAP_NOT_OPEN = 10303;
+ RETCODE_RET_IRODORI_CHESS_MAP_CARD_ALREADY_EQUIPED = 10304;
+ RETCODE_RET_IRODORI_CHESS_EQUIP_CARD_EXCEED_LIMIT = 10305;
+ RETCODE_RET_IRODORI_CHESS_MAP_CARD_NOT_EQUIPED = 10306;
+ RETCODE_RET_IRODORI_CHESS_ENTER_FAIL_CARD_EXCEED_LIMIT = 10307;
+ RETCODE_RET_ACTIVITY_FRIEND_HAVE_GIFT_LIMIT = 10310;
+ RETCODE_RET_GACHA_ACTIVITY_HAVE_REWARD_LIMIT = 10315;
+ RETCODE_RET_GACHA_ACTIVITY_HAVE_ROBOT_LIMIT = 10316;
+ RETCODE_RET_SUMMER_TIME_V2_COIN_EXCEED_LIMIT = 10317;
+ RETCODE_RET_SUMMER_TIME_V2_COIN_NOT_ENOUGH = 10318;
+ RETCODE_RET_SUMMER_TIME_V2_DUNGEON_STAGE_NOT_OPEN = 10319;
+ RETCODE_RET_SUMMER_TIME_V2_PREV_DUNGEON_NOT_COMPLETE = 10320;
+ RETCODE_RET_ROGUE_DIARY_AVATAR_DEATH = 10350;
+ RETCODE_RET_ROGUE_DIARY_AVATAR_TIRED = 10351;
+ RETCODE_RET_ROGUE_DIARY_AVATAR_DUPLICATED = 10352;
+ RETCODE_RET_ROGUE_DIARY_COIN_NOT_ENOUGH = 10353;
+ RETCODE_RET_ROGUE_DIARY_VIRTUAL_COIN_EXCEED_LIMIT = 10354;
+ RETCODE_RET_ROGUE_DIARY_VIRTUAL_COIN_NOT_ENOUGH = 10355;
+ RETCODE_RET_ROGUE_DIARY_CONTENT_CLOSED = 10366;
+ RETCODE_RET_GRAVEN_INNOCENCE_COIN_A_NOT_ENOUGH = 10380;
+ RETCODE_RET_GRAVEN_INNOCENCE_COIN_B_NOT_ENOUGH = 10381;
+ RETCODE_RET_GRAVEN_INNOCENCE_COIN_A_EXCEED_LIMIT = 10382;
+ RETCODE_RET_GRAVEN_INNOCENCE_COIN_B_EXCEED_LIMIT = 10383;
+ RETCODE_RET_ISLAND_PARTY_STAGE_NOT_OPEN = 10371;
+ RETCODE_RET_NOT_IN_FISHING = 11001;
+ RETCODE_RET_FISH_STATE_ERROR = 11002;
+ RETCODE_RET_FISH_BAIT_LIMIT = 11003;
+ RETCODE_RET_FISHING_MAX_DISTANCE = 11004;
+ RETCODE_RET_FISHING_IN_COMBAT = 11005;
+ RETCODE_RET_FISHING_BATTLE_TOO_SHORT = 11006;
+ RETCODE_RET_FISH_GONE_AWAY = 11007;
+ RETCODE_RET_CAN_NOT_EDIT_OTHER_DUNGEON = 11051;
+ RETCODE_RET_CUSTOM_DUNGEON_DISMATCH = 11052;
+ RETCODE_RET_NO_CUSTOM_DUNGEON_DATA = 11053;
+ RETCODE_RET_BUILD_CUSTOM_DUNGEON_FAIL = 11054;
+ RETCODE_RET_CUSTOM_DUNGEON_ROOM_CHECK_FAIL = 11055;
+ RETCODE_RET_CUSTOM_DUNGEON_SAVE_MAY_FAIL = 11056;
+ RETCODE_RET_NOT_IN_CUSTOM_DUNGEON = 11057;
+ RETCODE_RET_CUSTOM_DUNGEON_INTERNAL_FAIL = 11058;
+ RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_TRY = 11059;
+ RETCODE_RET_CUSTOM_DUNGEON_NO_START_ROOM = 11060;
+ RETCODE_RET_CUSTOM_DUNGEON_NO_ROOM_DATA = 11061;
+ RETCODE_RET_CUSTOM_DUNGEON_SAVE_TOO_FREQUENT = 11062;
+ RETCODE_RET_CUSTOM_DUNGEON_NOT_SELF_PASS = 11063;
+ RETCODE_RET_CUSTOM_DUNGEON_LACK_COIN = 11064;
+ RETCODE_RET_CUSTOM_DUNGEON_NO_FINISH_BRICK = 11065;
+ RETCODE_RET_CUSTOM_DUNGEON_MULTI_FINISH = 11066;
+ RETCODE_RET_CUSTOM_DUNGEON_NOT_PUBLISHED = 11067;
+ RETCODE_RET_CUSTOM_DUNGEON_FULL_STORE = 11068;
+ RETCODE_RET_CUSTOM_DUNGEON_STORE_REPEAT = 11069;
+ RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_STORE_SELF = 11070;
+ RETCODE_RET_CUSTOM_DUNGEON_NOT_SAVE_SUCC = 11071;
+ RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_LIKE_SELF = 11072;
+ RETCODE_RET_CUSTOM_DUNGEON_NOT_FOUND = 11073;
+ RETCODE_RET_CUSTOM_DUNGEON_INVALID_SETTING = 11074;
+ RETCODE_RET_CUSTOM_DUNGEON_NO_FINISH_SETTING = 11075;
+ RETCODE_RET_CUSTOM_DUNGEON_SAVE_NOTHING = 11076;
+ RETCODE_RET_CUSTOM_DUNGEON_NOT_IN_GROUP = 11077;
+ RETCODE_RET_CUSTOM_DUNGEON_NOT_OFFICIAL = 11078;
+ RETCODE_RET_CUSTOM_DUNGEON_LIFE_NUM_ERROR = 11079;
+ RETCODE_RET_CUSTOM_DUNGEON_NO_OPEN_ROOM = 11080;
+ RETCODE_RET_CUSTOM_DUNGEON_BRICK_EXCEED_LIMIT = 11081;
+ RETCODE_RET_CUSTOM_DUNGEON_OFFICIAL_NOT_UNLOCK = 11082;
+ RETCODE_RET_CAN_NOT_EDIT_OFFICIAL_SETTING = 11083;
+ RETCODE_RET_CUSTOM_DUNGEON_BAN_PUBLISH = 11084;
+ RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_REPLAY = 11085;
+ RETCODE_RET_CUSTOM_DUNGEON_NOT_OPEN_GROUP = 11086;
+ RETCODE_RET_CUSTOM_DUNGEON_MAX_EDIT_NUM = 11087;
+ RETCODE_RET_CUSTOM_DUNGEON_CAN_NOT_OUT_STUCK = 11088;
+ RETCODE_RET_CUSTOM_DUNGEON_MAX_TAG = 11089;
+ RETCODE_RET_CUSTOM_DUNGEON_INVALID_TAG = 11090;
+ RETCODE_RET_CUSTOM_DUNGEON_MAX_COST = 11091;
+ RETCODE_RET_CUSTOM_DUNGEON_REQUEST_TOO_FREQUENT = 11092;
+ RETCODE_RET_CUSTOM_DUNGEON_NOT_OPEN = 11093;
+ RETCODE_RET_SHARE_CD_ID_ERROR = 11101;
+ RETCODE_RET_SHARE_CD_INDEX_ERROR = 11102;
+ RETCODE_RET_SHARE_CD_IN_CD = 11103;
+ RETCODE_RET_SHARE_CD_TOKEN_NOT_ENOUGH = 11104;
+ RETCODE_RET_UGC_DISMATCH = 11151;
+ RETCODE_RET_UGC_DATA_NOT_FOUND = 11152;
+ RETCODE_RET_UGC_BRIEF_NOT_FOUND = 11153;
+ RETCODE_RET_UGC_DISABLED = 11154;
+ RETCODE_RET_UGC_LIMITED = 11155;
+ RETCODE_RET_UGC_LOCKED = 11156;
+ RETCODE_RET_UGC_NOT_AUTH = 11157;
+ RETCODE_RET_UGC_NOT_OPEN = 11158;
+ RETCODE_RET_UGC_BAN_PUBLISH = 11159;
+ RETCODE_RET_COMPOUND_BOOST_ITEM_NOT_EXIST = 11201;
+ RETCODE_RET_COMPOUND_BOOST_TARGET_NOT_EXIST = 11202;
+ RETCODE_RET_QUICK_HIT_TREE_EMPTY_TREES = 11211;
+}
diff --git a/protocol/proto/RetryCurRogueDiaryDungeonReq.proto b/protocol/proto/RetryCurRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..a2cb189e
--- /dev/null
+++ b/protocol/proto/RetryCurRogueDiaryDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8398
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RetryCurRogueDiaryDungeonReq {}
diff --git a/protocol/proto/RetryCurRogueDiaryDungeonRsp.proto b/protocol/proto/RetryCurRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..df1450c3
--- /dev/null
+++ b/protocol/proto/RetryCurRogueDiaryDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8334
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RetryCurRogueDiaryDungeonRsp {
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/ReunionActivateNotify.proto b/protocol/proto/ReunionActivateNotify.proto
new file mode 100644
index 00000000..cf42df23
--- /dev/null
+++ b/protocol/proto/ReunionActivateNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionBriefInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5085
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReunionActivateNotify {
+ bool is_activate = 9;
+ ReunionBriefInfo reunion_brief_info = 13;
+}
diff --git a/protocol/proto/ReunionBriefInfo.proto b/protocol/proto/ReunionBriefInfo.proto
new file mode 100644
index 00000000..2acaba16
--- /dev/null
+++ b/protocol/proto/ReunionBriefInfo.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionPrivilegeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ReunionBriefInfo {
+ uint32 first_gift_reward_id = 15;
+ uint32 privilege_id = 5;
+ uint32 mission_id = 10;
+ uint32 first_day_start_time = 3;
+ bool sign_in_has_reward = 2;
+ uint32 start_time = 7;
+ bool is_taken_first_gift = 8;
+ uint32 finish_time = 12;
+ bool mission_has_reward = 9;
+ ReunionPrivilegeInfo privilege_info = 14;
+ string version = 13;
+ uint32 sign_in_config_id = 6;
+}
diff --git a/protocol/proto/ReunionBriefInfoReq.proto b/protocol/proto/ReunionBriefInfoReq.proto
new file mode 100644
index 00000000..97947a22
--- /dev/null
+++ b/protocol/proto/ReunionBriefInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5076
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ReunionBriefInfoReq {}
diff --git a/protocol/proto/ReunionBriefInfoRsp.proto b/protocol/proto/ReunionBriefInfoRsp.proto
new file mode 100644
index 00000000..afd46b66
--- /dev/null
+++ b/protocol/proto/ReunionBriefInfoRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionBriefInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5068
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReunionBriefInfoRsp {
+ bool is_activate = 13;
+ int32 retcode = 14;
+ ReunionBriefInfo reunion_brief_info = 5;
+}
diff --git a/protocol/proto/ReunionDailyRefreshNotify.proto b/protocol/proto/ReunionDailyRefreshNotify.proto
new file mode 100644
index 00000000..b8cd4ce3
--- /dev/null
+++ b/protocol/proto/ReunionDailyRefreshNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionBriefInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5100
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReunionDailyRefreshNotify {
+ ReunionBriefInfo reunion_brief_info = 4;
+}
diff --git a/protocol/proto/ReunionMissionInfo.proto b/protocol/proto/ReunionMissionInfo.proto
new file mode 100644
index 00000000..32850bb8
--- /dev/null
+++ b/protocol/proto/ReunionMissionInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionWatcherInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ReunionMissionInfo {
+ repeated ReunionWatcherInfo cur_day_watcher_list = 3;
+ uint32 cur_score = 11;
+ bool is_taken_reward = 8;
+ repeated bool is_taken_reward_list = 6;
+ uint32 next_refresh_time = 5;
+ bool is_finished = 9;
+ uint32 mission_id = 12;
+ repeated ReunionWatcherInfo watcher_list = 2;
+}
diff --git a/protocol/proto/ReunionPrivilegeChangeNotify.proto b/protocol/proto/ReunionPrivilegeChangeNotify.proto
new file mode 100644
index 00000000..a8f8f78d
--- /dev/null
+++ b/protocol/proto/ReunionPrivilegeChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionPrivilegeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5098
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReunionPrivilegeChangeNotify {
+ ReunionPrivilegeInfo privilege_info = 13;
+}
diff --git a/protocol/proto/ReunionPrivilegeInfo.proto b/protocol/proto/ReunionPrivilegeInfo.proto
new file mode 100644
index 00000000..f5e918e3
--- /dev/null
+++ b/protocol/proto/ReunionPrivilegeInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ReunionPrivilegeInfo {
+ uint32 cur_day_count = 7;
+ uint32 total_count = 10;
+ uint32 privilege_id = 4;
+}
diff --git a/protocol/proto/ReunionSettleNotify.proto b/protocol/proto/ReunionSettleNotify.proto
new file mode 100644
index 00000000..645d6580
--- /dev/null
+++ b/protocol/proto/ReunionSettleNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5073
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ReunionSettleNotify {}
diff --git a/protocol/proto/ReunionSignInInfo.proto b/protocol/proto/ReunionSignInInfo.proto
new file mode 100644
index 00000000..93636fc9
--- /dev/null
+++ b/protocol/proto/ReunionSignInInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ReunionSignInInfo {
+ uint32 sign_in_count = 6;
+ repeated uint32 reward_day_list = 8;
+ uint32 config_id = 12;
+ uint32 last_sign_in_time = 11;
+}
diff --git a/protocol/proto/ReunionWatcherInfo.proto b/protocol/proto/ReunionWatcherInfo.proto
new file mode 100644
index 00000000..266db96c
--- /dev/null
+++ b/protocol/proto/ReunionWatcherInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ReunionWatcherInfo {
+ uint32 reward_unlock_time = 12;
+ uint32 watcher_id = 3;
+ uint32 total_progress = 4;
+ uint32 cur_progress = 11;
+ bool is_taken_reward = 14;
+}
diff --git a/protocol/proto/Reward.proto b/protocol/proto/Reward.proto
new file mode 100644
index 00000000..525a3260
--- /dev/null
+++ b/protocol/proto/Reward.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Reward {
+ uint32 reward_id = 1;
+ repeated ItemParam item_list = 2;
+}
diff --git a/protocol/proto/RobotPushPlayerDataNotify.proto b/protocol/proto/RobotPushPlayerDataNotify.proto
new file mode 100644
index 00000000..a3c10786
--- /dev/null
+++ b/protocol/proto/RobotPushPlayerDataNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 97
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RobotPushPlayerDataNotify {
+ bytes bin = 6;
+}
diff --git a/protocol/proto/RockBoardExploreDetailInfo.proto b/protocol/proto/RockBoardExploreDetailInfo.proto
new file mode 100644
index 00000000..24bc7d58
--- /dev/null
+++ b/protocol/proto/RockBoardExploreDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RockBoardExploreStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RockBoardExploreDetailInfo {
+ repeated RockBoardExploreStageData stage_data_list = 9;
+}
diff --git a/protocol/proto/RockBoardExploreStageData.proto b/protocol/proto/RockBoardExploreStageData.proto
new file mode 100644
index 00000000..ed7bbf5e
--- /dev/null
+++ b/protocol/proto/RockBoardExploreStageData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RockBoardExploreStageData {
+ bool is_finish = 6;
+ uint32 open_time = 7;
+ bool is_open = 5;
+ uint32 stage_id = 3;
+}
diff --git a/protocol/proto/RogueAvatarInfo.proto b/protocol/proto/RogueAvatarInfo.proto
new file mode 100644
index 00000000..04dae0c6
--- /dev/null
+++ b/protocol/proto/RogueAvatarInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueAvatarInfo {
+ bool is_onstage = 5;
+ bool is_alive = 3;
+ uint32 avatar_id = 14;
+}
diff --git a/protocol/proto/RogueCellInfo.proto b/protocol/proto/RogueCellInfo.proto
new file mode 100644
index 00000000..295c0f46
--- /dev/null
+++ b/protocol/proto/RogueCellInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueCellState.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueCellInfo {
+ uint32 cell_config_id = 14;
+ uint32 dungeon_id = 4;
+ uint32 cell_id = 9;
+ uint32 cell_type = 13;
+ RogueCellState state = 10;
+}
diff --git a/protocol/proto/RogueCellState.proto b/protocol/proto/RogueCellState.proto
new file mode 100644
index 00000000..54824632
--- /dev/null
+++ b/protocol/proto/RogueCellState.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum RogueCellState {
+ ROGUE_CELL_STATE_NONE = 0;
+ ROGUE_CELL_STATE_BATTLE = 1;
+ ROGUE_CELL_STATE_SUCCESS = 2;
+ ROGUE_CELL_STATE_FINISH = 3;
+ ROGUE_CELL_STATE_TAKEN_CHEST = 4;
+}
diff --git a/protocol/proto/RogueCellUpdateNotify.proto b/protocol/proto/RogueCellUpdateNotify.proto
new file mode 100644
index 00000000..8c43b1a8
--- /dev/null
+++ b/protocol/proto/RogueCellUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueCellInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8642
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RogueCellUpdateNotify {
+ RogueCellInfo cell_info = 7;
+}
diff --git a/protocol/proto/RogueDiaryActivityDetailInfo.proto b/protocol/proto/RogueDiaryActivityDetailInfo.proto
new file mode 100644
index 00000000..b5b25ea7
--- /dev/null
+++ b/protocol/proto/RogueDiaryActivityDetailInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryProgress.proto";
+import "RogueDiaryStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueDiaryActivityDetailInfo {
+ repeated RogueDiaryStageInfo stage_list = 11;
+ bool is_have_progress = 10;
+ bool is_content_closed = 2;
+ RogueDiaryProgress cur_progress = 7;
+}
diff --git a/protocol/proto/RogueDiaryAvatar.proto b/protocol/proto/RogueDiaryAvatar.proto
new file mode 100644
index 00000000..b5df9b50
--- /dev/null
+++ b/protocol/proto/RogueDiaryAvatar.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ActivityDungeonAvatar.proto";
+import "RogueDiaryAvatarDisableStatus.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueDiaryAvatar {
+ ActivityDungeonAvatar avatar = 2;
+ uint32 level = 14;
+ uint32 tired_round = 13;
+ repeated RogueDiaryAvatarDisableStatus disable_status_list = 9;
+}
diff --git a/protocol/proto/RogueDiaryAvatarDisableStatus.proto b/protocol/proto/RogueDiaryAvatarDisableStatus.proto
new file mode 100644
index 00000000..198d2441
--- /dev/null
+++ b/protocol/proto/RogueDiaryAvatarDisableStatus.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum RogueDiaryAvatarDisableStatus {
+ ROGUE_DIARY_AVATAR_DISABLE_STATUS_NONE = 0;
+ ROGUE_DIARY_AVATAR_DISABLE_STATUS_DEATH = 1;
+ ROGUE_DIARY_AVATAR_DISABLE_STATUS_TIRED = 2;
+ ROGUE_DIARY_AVATAR_DISABLE_STATUS_DUPLICATED = 3;
+}
diff --git a/protocol/proto/RogueDiaryCoinAddNotify.proto b/protocol/proto/RogueDiaryCoinAddNotify.proto
new file mode 100644
index 00000000..0e035d68
--- /dev/null
+++ b/protocol/proto/RogueDiaryCoinAddNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueDiaryCoinAddNotify {
+ uint32 num = 10;
+}
diff --git a/protocol/proto/RogueDiaryDungeonInfoNotify.proto b/protocol/proto/RogueDiaryDungeonInfoNotify.proto
new file mode 100644
index 00000000..fb887c89
--- /dev/null
+++ b/protocol/proto/RogueDiaryDungeonInfoNotify.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryRoomInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8597
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueDiaryDungeonInfoNotify {
+ uint32 stage_id = 12;
+ repeated uint32 round_monster_list = 15;
+ uint32 time = 4;
+ uint32 cur_room = 5;
+ uint32 cur_round = 6;
+ uint32 coin = 11;
+ uint32 difficulty = 8;
+ uint32 dungeon_id = 14;
+ repeated RogueDiaryRoomInfo room_list = 7;
+ repeated uint32 round_card_list = 10;
+}
diff --git a/protocol/proto/RogueDiaryDungeonRecord.proto b/protocol/proto/RogueDiaryDungeonRecord.proto
new file mode 100644
index 00000000..01136b65
--- /dev/null
+++ b/protocol/proto/RogueDiaryDungeonRecord.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueDiaryDungeonRecord {
+ bool is_finish = 10;
+ uint32 max_round = 5;
+ uint32 finish_time = 15;
+ uint32 difficulty = 13;
+}
diff --git a/protocol/proto/RogueDiaryDungeonSettleNotify.proto b/protocol/proto/RogueDiaryDungeonSettleNotify.proto
new file mode 100644
index 00000000..1873bc76
--- /dev/null
+++ b/protocol/proto/RogueDiaryDungeonSettleNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8895
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueDiaryDungeonSettleNotify {
+ uint32 explore_time = 1;
+ bool is_finish = 3;
+ uint32 cur_round = 2;
+}
diff --git a/protocol/proto/RogueDiaryProgress.proto b/protocol/proto/RogueDiaryProgress.proto
new file mode 100644
index 00000000..b3d0d7b0
--- /dev/null
+++ b/protocol/proto/RogueDiaryProgress.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueDiaryProgress {
+ uint32 difficulty = 7;
+ repeated uint32 optional_card_list = 4;
+ bool is_enter_dungeon = 9;
+ uint32 stage_id = 12;
+ uint32 cur_round = 3;
+}
diff --git a/protocol/proto/RogueDiaryRepairInfoNotify.proto b/protocol/proto/RogueDiaryRepairInfoNotify.proto
new file mode 100644
index 00000000..35543e26
--- /dev/null
+++ b/protocol/proto/RogueDiaryRepairInfoNotify.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryAvatar.proto";
+import "RogueDiaryRoomInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8641
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueDiaryRepairInfoNotify {
+ uint32 stage_id = 8;
+ repeated uint32 select_card_list = 14;
+ repeated RogueDiaryAvatar avatar_list = 13;
+ repeated RogueDiaryRoomInfo room_list = 2;
+ repeated uint32 rand_card_list = 10;
+ repeated RogueDiaryAvatar select_avatar_list = 9;
+ repeated uint32 chosen_card_list = 15;
+ repeated RogueDiaryAvatar trial_avatar_list = 11;
+}
diff --git a/protocol/proto/RogueDiaryReviveAvatarReq.proto b/protocol/proto/RogueDiaryReviveAvatarReq.proto
new file mode 100644
index 00000000..a5007011
--- /dev/null
+++ b/protocol/proto/RogueDiaryReviveAvatarReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryAvatar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8038
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueDiaryReviveAvatarReq {
+ RogueDiaryAvatar revive_avatar = 2;
+}
diff --git a/protocol/proto/RogueDiaryReviveAvatarRsp.proto b/protocol/proto/RogueDiaryReviveAvatarRsp.proto
new file mode 100644
index 00000000..c2349e39
--- /dev/null
+++ b/protocol/proto/RogueDiaryReviveAvatarRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8343
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RogueDiaryReviveAvatarRsp {
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/RogueDiaryRoomInfo.proto b/protocol/proto/RogueDiaryRoomInfo.proto
new file mode 100644
index 00000000..4d6411c8
--- /dev/null
+++ b/protocol/proto/RogueDiaryRoomInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Uint32Pair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueDiaryRoomInfo {
+ repeated Uint32Pair monster_list = 1;
+ bool is_boss = 3;
+ uint32 config_id = 7;
+}
diff --git a/protocol/proto/RogueDiaryStageInfo.proto b/protocol/proto/RogueDiaryStageInfo.proto
new file mode 100644
index 00000000..c6f46adf
--- /dev/null
+++ b/protocol/proto/RogueDiaryStageInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryDungeonRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueDiaryStageInfo {
+ uint32 stage_id = 1;
+ RogueDiaryDungeonRecord best_record = 12;
+ bool is_have_try = 10;
+}
diff --git a/protocol/proto/RogueDiaryTiredAvatarNotify.proto b/protocol/proto/RogueDiaryTiredAvatarNotify.proto
new file mode 100644
index 00000000..863223d4
--- /dev/null
+++ b/protocol/proto/RogueDiaryTiredAvatarNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryAvatar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8514
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueDiaryTiredAvatarNotify {
+ repeated RogueDiaryAvatar optianal_tired_avatar_list = 10;
+ uint32 reserve_avatar_num = 6;
+ uint32 tired_type = 8;
+ bool is_need_show = 7;
+}
diff --git a/protocol/proto/RogueDungeonPlayerCellChangeNotify.proto b/protocol/proto/RogueDungeonPlayerCellChangeNotify.proto
new file mode 100644
index 00000000..99bc53cb
--- /dev/null
+++ b/protocol/proto/RogueDungeonPlayerCellChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8347
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RogueDungeonPlayerCellChangeNotify {
+ uint32 old_cell_id = 10;
+ uint32 cell_id = 7;
+}
diff --git a/protocol/proto/RogueEffectRecord.proto b/protocol/proto/RogueEffectRecord.proto
new file mode 100644
index 00000000..5d555ebd
--- /dev/null
+++ b/protocol/proto/RogueEffectRecord.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueEffectRecord {
+ uint32 source_id = 6;
+ repeated uint32 extra_param_list = 9;
+ uint32 count = 10;
+ bool is_new = 5;
+}
diff --git a/protocol/proto/RogueEliteCellDifficultyType.proto b/protocol/proto/RogueEliteCellDifficultyType.proto
new file mode 100644
index 00000000..b277162f
--- /dev/null
+++ b/protocol/proto/RogueEliteCellDifficultyType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum RogueEliteCellDifficultyType {
+ ROGUE_ELITE_CELL_DIFFICULTY_TYPE_NORMAL = 0;
+ ROGUE_ELITE_CELL_DIFFICULTY_TYPE_HARD = 1;
+}
diff --git a/protocol/proto/RogueFinishRepairReq.proto b/protocol/proto/RogueFinishRepairReq.proto
new file mode 100644
index 00000000..0477212c
--- /dev/null
+++ b/protocol/proto/RogueFinishRepairReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryAvatar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8363
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueFinishRepairReq {
+ repeated uint32 chosen_card_list = 1;
+ repeated RogueDiaryAvatar chosen_avatar_list = 8;
+}
diff --git a/protocol/proto/RogueFinishRepairRsp.proto b/protocol/proto/RogueFinishRepairRsp.proto
new file mode 100644
index 00000000..a6dba92a
--- /dev/null
+++ b/protocol/proto/RogueFinishRepairRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8535
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RogueFinishRepairRsp {
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/RogueHealAvatarsReq.proto b/protocol/proto/RogueHealAvatarsReq.proto
new file mode 100644
index 00000000..e92f9b58
--- /dev/null
+++ b/protocol/proto/RogueHealAvatarsReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8947
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueHealAvatarsReq {
+ uint32 dungeon_id = 1;
+ uint32 cell_id = 3;
+}
diff --git a/protocol/proto/RogueHealAvatarsRsp.proto b/protocol/proto/RogueHealAvatarsRsp.proto
new file mode 100644
index 00000000..00ebd524
--- /dev/null
+++ b/protocol/proto/RogueHealAvatarsRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8949
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RogueHealAvatarsRsp {
+ uint32 dungeon_id = 10;
+ int32 retcode = 9;
+ uint32 cell_id = 14;
+}
diff --git a/protocol/proto/RogueResumeDungeonReq.proto b/protocol/proto/RogueResumeDungeonReq.proto
new file mode 100644
index 00000000..e19d2636
--- /dev/null
+++ b/protocol/proto/RogueResumeDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8795
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueResumeDungeonReq {
+ uint32 stage_id = 12;
+}
diff --git a/protocol/proto/RogueResumeDungeonRsp.proto b/protocol/proto/RogueResumeDungeonRsp.proto
new file mode 100644
index 00000000..d3135dc1
--- /dev/null
+++ b/protocol/proto/RogueResumeDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8647
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RogueResumeDungeonRsp {
+ uint32 stage_id = 12;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/RogueShowAvatarTeamInfo.proto b/protocol/proto/RogueShowAvatarTeamInfo.proto
new file mode 100644
index 00000000..f82f7d22
--- /dev/null
+++ b/protocol/proto/RogueShowAvatarTeamInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueShowAvatarTeamInfo {
+ repeated RogueAvatarInfo avatar_list = 12;
+}
diff --git a/protocol/proto/RogueStageInfo.proto b/protocol/proto/RogueStageInfo.proto
new file mode 100644
index 00000000..a4a7b1cd
--- /dev/null
+++ b/protocol/proto/RogueStageInfo.proto
@@ -0,0 +1,41 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueShowAvatarTeamInfo.proto";
+import "RoguelikeRuneRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RogueStageInfo {
+ RogueShowAvatarTeamInfo avatar_team = 2;
+ bool is_passed = 5;
+ uint32 stage_id = 7;
+ uint32 revise_monster_level = 205;
+ repeated RoguelikeRuneRecord rune_record_list = 6;
+ bool is_open = 1;
+ uint32 cur_level = 4;
+ uint32 cached_coin_c_num = 1409;
+ bool is_taken_reward = 11;
+ bool is_in_combat = 12;
+ uint32 cached_coin_b_num = 14;
+ uint32 explore_cell_num = 15;
+ uint32 coin_c_num = 8;
+ bool is_explored = 9;
+ uint32 max_passed_level = 3;
+}
diff --git a/protocol/proto/RogueSwitchAvatarReq.proto b/protocol/proto/RogueSwitchAvatarReq.proto
new file mode 100644
index 00000000..5aa38a8f
--- /dev/null
+++ b/protocol/proto/RogueSwitchAvatarReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8201
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RogueSwitchAvatarReq {
+ uint32 cell_id = 15;
+ repeated uint64 onstage_avatar_guid_list = 3;
+ uint64 cur_avatar_guid = 11;
+ uint32 dungeon_id = 6;
+}
diff --git a/protocol/proto/RogueSwitchAvatarRsp.proto b/protocol/proto/RogueSwitchAvatarRsp.proto
new file mode 100644
index 00000000..821a395a
--- /dev/null
+++ b/protocol/proto/RogueSwitchAvatarRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8915
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RogueSwitchAvatarRsp {
+ uint64 cur_avatar_guid = 4;
+ repeated uint64 backstage_avatar_guid_list = 8;
+ uint32 dungeon_id = 14;
+ uint32 cell_id = 3;
+ int32 retcode = 12;
+ repeated uint64 onstage_avatar_guid_list = 9;
+}
diff --git a/protocol/proto/RoguelikeCardGachaNotify.proto b/protocol/proto/RoguelikeCardGachaNotify.proto
new file mode 100644
index 00000000..7c1171c2
--- /dev/null
+++ b/protocol/proto/RoguelikeCardGachaNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8925
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RoguelikeCardGachaNotify {
+ repeated uint32 card_list = 10;
+ bool is_can_refresh = 11;
+}
diff --git a/protocol/proto/RoguelikeDungeonActivityDetailInfo.proto b/protocol/proto/RoguelikeDungeonActivityDetailInfo.proto
new file mode 100644
index 00000000..161d00d2
--- /dev/null
+++ b/protocol/proto/RoguelikeDungeonActivityDetailInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueStageInfo.proto";
+import "RoguelikeShikigamiRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RoguelikeDungeonActivityDetailInfo {
+ repeated RogueStageInfo stage_list = 8;
+ repeated RoguelikeShikigamiRecord shikigami_list = 5;
+ repeated uint32 equipped_rune_list = 14;
+ uint32 content_close_time = 6;
+ bool is_content_closed = 10;
+ repeated uint32 rune_list = 2;
+}
diff --git a/protocol/proto/RoguelikeDungeonSettleInfo.proto b/protocol/proto/RoguelikeDungeonSettleInfo.proto
new file mode 100644
index 00000000..5a5a1168
--- /dev/null
+++ b/protocol/proto/RoguelikeDungeonSettleInfo.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RoguelikeSettleCoinInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RoguelikeDungeonSettleInfo {
+ uint32 stage_id = 5;
+ bool is_final_level = 15;
+ map finished_challenge_cell_num_map = 3;
+ bool is_coin_c_reach_limit = 13;
+ uint32 cur_level = 9;
+ uint32 total_coin_b_num = 6;
+ uint32 total_coin_c_num = 10;
+}
diff --git a/protocol/proto/RoguelikeEffectDataNotify.proto b/protocol/proto/RoguelikeEffectDataNotify.proto
new file mode 100644
index 00000000..0e0a91f6
--- /dev/null
+++ b/protocol/proto/RoguelikeEffectDataNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueEffectRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8222
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RoguelikeEffectDataNotify {
+ repeated RogueEffectRecord curse_list = 7;
+ repeated RogueEffectRecord card_list = 4;
+}
diff --git a/protocol/proto/RoguelikeEffectViewReq.proto b/protocol/proto/RoguelikeEffectViewReq.proto
new file mode 100644
index 00000000..90e6f036
--- /dev/null
+++ b/protocol/proto/RoguelikeEffectViewReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8528
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RoguelikeEffectViewReq {
+ repeated uint32 view_curse_list = 10;
+ repeated uint32 view_card_list = 2;
+}
diff --git a/protocol/proto/RoguelikeEffectViewRsp.proto b/protocol/proto/RoguelikeEffectViewRsp.proto
new file mode 100644
index 00000000..ef5a1ae1
--- /dev/null
+++ b/protocol/proto/RoguelikeEffectViewRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8639
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RoguelikeEffectViewRsp {
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/RoguelikeGadgetInfo.proto b/protocol/proto/RoguelikeGadgetInfo.proto
new file mode 100644
index 00000000..f10710da
--- /dev/null
+++ b/protocol/proto/RoguelikeGadgetInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RoguelikeGadgetInfo {
+ uint32 cell_config_id = 1;
+ uint32 cell_type = 2;
+ uint32 cell_state = 3;
+ uint32 cell_id = 4;
+}
diff --git a/protocol/proto/RoguelikeGiveUpReq.proto b/protocol/proto/RoguelikeGiveUpReq.proto
new file mode 100644
index 00000000..5882c63d
--- /dev/null
+++ b/protocol/proto/RoguelikeGiveUpReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8660
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RoguelikeGiveUpReq {
+ uint32 stage_id = 9;
+}
diff --git a/protocol/proto/RoguelikeGiveUpRsp.proto b/protocol/proto/RoguelikeGiveUpRsp.proto
new file mode 100644
index 00000000..7e8cce58
--- /dev/null
+++ b/protocol/proto/RoguelikeGiveUpRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RoguelikeDungeonSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8139
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RoguelikeGiveUpRsp {
+ int32 retcode = 4;
+ uint32 stage_id = 7;
+ oneof info {
+ RoguelikeDungeonSettleInfo settle_info = 8;
+ }
+}
diff --git a/protocol/proto/RoguelikeMistClearNotify.proto b/protocol/proto/RoguelikeMistClearNotify.proto
new file mode 100644
index 00000000..c3e89c98
--- /dev/null
+++ b/protocol/proto/RoguelikeMistClearNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8324
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RoguelikeMistClearNotify {}
diff --git a/protocol/proto/RoguelikeRefreshCardCostUpdateNotify.proto b/protocol/proto/RoguelikeRefreshCardCostUpdateNotify.proto
new file mode 100644
index 00000000..0df1afb3
--- /dev/null
+++ b/protocol/proto/RoguelikeRefreshCardCostUpdateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8927
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RoguelikeRefreshCardCostUpdateNotify {
+ uint32 item_count = 5;
+ uint32 item_id = 1;
+}
diff --git a/protocol/proto/RoguelikeResourceBonusPropUpdateNotify.proto b/protocol/proto/RoguelikeResourceBonusPropUpdateNotify.proto
new file mode 100644
index 00000000..4907a585
--- /dev/null
+++ b/protocol/proto/RoguelikeResourceBonusPropUpdateNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8555
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RoguelikeResourceBonusPropUpdateNotify {
+ float bonus_resource_prop = 12;
+}
diff --git a/protocol/proto/RoguelikeRuneRecord.proto b/protocol/proto/RoguelikeRuneRecord.proto
new file mode 100644
index 00000000..ddc8b1d6
--- /dev/null
+++ b/protocol/proto/RoguelikeRuneRecord.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RoguelikeRuneRecord {
+ uint32 left_count = 14;
+ uint32 rune_id = 6;
+ uint32 max_count = 4;
+}
diff --git a/protocol/proto/RoguelikeRuneRecordUpdateNotify.proto b/protocol/proto/RoguelikeRuneRecordUpdateNotify.proto
new file mode 100644
index 00000000..bf3d0b69
--- /dev/null
+++ b/protocol/proto/RoguelikeRuneRecordUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RoguelikeRuneRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8973
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RoguelikeRuneRecordUpdateNotify {
+ repeated RoguelikeRuneRecord rune_record_list = 11;
+}
diff --git a/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto b/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto
new file mode 100644
index 00000000..b572e9aa
--- /dev/null
+++ b/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8457
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RoguelikeSelectAvatarAndEnterDungeonReq {
+ repeated uint64 onstage_avatar_guid_list = 14;
+ uint32 stage_id = 4;
+ repeated uint64 backstage_avatar_guid_list = 11;
+}
diff --git a/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto b/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto
new file mode 100644
index 00000000..c5e8a5b5
--- /dev/null
+++ b/protocol/proto/RoguelikeSelectAvatarAndEnterDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8538
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RoguelikeSelectAvatarAndEnterDungeonRsp {
+ uint32 stage_id = 15;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/RoguelikeSettleCoinInfo.proto b/protocol/proto/RoguelikeSettleCoinInfo.proto
new file mode 100644
index 00000000..fb03a153
--- /dev/null
+++ b/protocol/proto/RoguelikeSettleCoinInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RoguelikeSettleCoinInfo {
+ uint32 coin_c = 8;
+ uint32 coin_b = 10;
+ uint32 cell_num = 1;
+}
diff --git a/protocol/proto/RoguelikeShikigamiRecord.proto b/protocol/proto/RoguelikeShikigamiRecord.proto
new file mode 100644
index 00000000..721526c3
--- /dev/null
+++ b/protocol/proto/RoguelikeShikigamiRecord.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RoguelikeShikigamiRecord {
+ uint32 id = 6;
+ uint32 level = 3;
+}
diff --git a/protocol/proto/RoguelikeTakeStageFirstPassRewardReq.proto b/protocol/proto/RoguelikeTakeStageFirstPassRewardReq.proto
new file mode 100644
index 00000000..590550ca
--- /dev/null
+++ b/protocol/proto/RoguelikeTakeStageFirstPassRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message RoguelikeTakeStageFirstPassRewardReq {
+ uint32 stage_id = 1;
+}
diff --git a/protocol/proto/RoguelikeTakeStageFirstPassRewardRsp.proto b/protocol/proto/RoguelikeTakeStageFirstPassRewardRsp.proto
new file mode 100644
index 00000000..f2befb30
--- /dev/null
+++ b/protocol/proto/RoguelikeTakeStageFirstPassRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8552
+// EnetChannelId: 0
+// EnetIsReliable: true
+message RoguelikeTakeStageFirstPassRewardRsp {
+ uint32 stage_id = 14;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/Route.proto b/protocol/proto/Route.proto
new file mode 100644
index 00000000..74277908
--- /dev/null
+++ b/protocol/proto/Route.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RoutePoint.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Route {
+ repeated RoutePoint route_points = 1;
+ uint32 route_type = 2;
+}
diff --git a/protocol/proto/RoutePoint.proto b/protocol/proto/RoutePoint.proto
new file mode 100644
index 00000000..58583855
--- /dev/null
+++ b/protocol/proto/RoutePoint.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MathQuaternion.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RoutePoint {
+ Vector position = 1;
+ float arrive_range = 2;
+ bool has_reach_event = 3;
+ oneof move_params {
+ float velocity = 11;
+ float time = 12;
+ }
+ oneof rotate_params {
+ Vector rotation = 21;
+ MathQuaternion rotation_speed = 22;
+ MathQuaternion axis_speed = 23;
+ }
+}
diff --git a/protocol/proto/RoutePointChangeInfo.proto b/protocol/proto/RoutePointChangeInfo.proto
new file mode 100644
index 00000000..60cdb9ba
--- /dev/null
+++ b/protocol/proto/RoutePointChangeInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message RoutePointChangeInfo {
+ float wait_time = 6;
+ float target_velocity = 14;
+ uint32 point_index = 11;
+}
diff --git a/protocol/proto/SalesmanActivityDetailInfo.proto b/protocol/proto/SalesmanActivityDetailInfo.proto
new file mode 100644
index 00000000..5d18a55a
--- /dev/null
+++ b/protocol/proto/SalesmanActivityDetailInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SalesmanStatusType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SalesmanActivityDetailInfo {
+ uint32 special_reward_preview_id = 3;
+ SalesmanStatusType status = 4;
+ uint32 last_deliver_time = 2;
+ map selected_reward_id_map = 5;
+ uint32 deliver_count = 11;
+ bool is_has_taken_special_reward = 7;
+ uint32 day_index = 12;
+ uint32 cond_day_count = 6;
+ uint32 day_reward_id = 9;
+ bool is_today_has_delivered = 13;
+}
diff --git a/protocol/proto/SalesmanDeliverItemReq.proto b/protocol/proto/SalesmanDeliverItemReq.proto
new file mode 100644
index 00000000..8e55626d
--- /dev/null
+++ b/protocol/proto/SalesmanDeliverItemReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2138
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SalesmanDeliverItemReq {
+ uint32 schedule_id = 4;
+}
diff --git a/protocol/proto/SalesmanDeliverItemRsp.proto b/protocol/proto/SalesmanDeliverItemRsp.proto
new file mode 100644
index 00000000..32cd6b29
--- /dev/null
+++ b/protocol/proto/SalesmanDeliverItemRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2104
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SalesmanDeliverItemRsp {
+ uint32 schedule_id = 9;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/SalesmanStatusType.proto b/protocol/proto/SalesmanStatusType.proto
new file mode 100644
index 00000000..c7e4ef7b
--- /dev/null
+++ b/protocol/proto/SalesmanStatusType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum SalesmanStatusType {
+ SALESMAN_STATUS_TYPE_NONE = 0;
+ SALESMAN_STATUS_TYPE_UNSTARTED = 1;
+ SALESMAN_STATUS_TYPE_STARTED = 2;
+ SALESMAN_STATUS_TYPE_DELIVERED = 3;
+}
diff --git a/protocol/proto/SalesmanTakeRewardReq.proto b/protocol/proto/SalesmanTakeRewardReq.proto
new file mode 100644
index 00000000..eef6ef4b
--- /dev/null
+++ b/protocol/proto/SalesmanTakeRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2191
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SalesmanTakeRewardReq {
+ uint32 position = 8;
+ uint32 schedule_id = 7;
+}
diff --git a/protocol/proto/SalesmanTakeRewardRsp.proto b/protocol/proto/SalesmanTakeRewardRsp.proto
new file mode 100644
index 00000000..ac3ebf19
--- /dev/null
+++ b/protocol/proto/SalesmanTakeRewardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2110
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SalesmanTakeRewardRsp {
+ uint32 position = 13;
+ uint32 schedule_id = 7;
+ uint32 reward_id = 9;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/SalesmanTakeSpecialRewardReq.proto b/protocol/proto/SalesmanTakeSpecialRewardReq.proto
new file mode 100644
index 00000000..0254881e
--- /dev/null
+++ b/protocol/proto/SalesmanTakeSpecialRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2145
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SalesmanTakeSpecialRewardReq {
+ uint32 schedule_id = 13;
+}
diff --git a/protocol/proto/SalesmanTakeSpecialRewardRsp.proto b/protocol/proto/SalesmanTakeSpecialRewardRsp.proto
new file mode 100644
index 00000000..0325e0fa
--- /dev/null
+++ b/protocol/proto/SalesmanTakeSpecialRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2124
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SalesmanTakeSpecialRewardRsp {
+ int32 retcode = 12;
+ uint32 schedule_id = 5;
+}
diff --git a/protocol/proto/SalvageBundleChallengeInfo.proto b/protocol/proto/SalvageBundleChallengeInfo.proto
new file mode 100644
index 00000000..9f9b243c
--- /dev/null
+++ b/protocol/proto/SalvageBundleChallengeInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SalvageBundleChallengeInfo {
+ repeated uint32 finished_bundle_list = 13;
+}
diff --git a/protocol/proto/SalvageChallengeInfo.proto b/protocol/proto/SalvageChallengeInfo.proto
new file mode 100644
index 00000000..7a1749d9
--- /dev/null
+++ b/protocol/proto/SalvageChallengeInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SalvageBundleChallengeInfo.proto";
+import "SalvageScoreChallengeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SalvageChallengeInfo {
+ uint32 challenge_type = 5;
+ bool is_unlock = 12;
+ oneof challenge_detail {
+ SalvageBundleChallengeInfo bundle_info = 11;
+ SalvageScoreChallengeInfo score_challenge_info = 13;
+ uint32 boss_challenge_id = 2;
+ }
+}
diff --git a/protocol/proto/SalvageEscortGallerySettleInfo.proto b/protocol/proto/SalvageEscortGallerySettleInfo.proto
new file mode 100644
index 00000000..a41a4e7a
--- /dev/null
+++ b/protocol/proto/SalvageEscortGallerySettleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SalvageEscortStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SalvageEscortGallerySettleInfo {
+ uint32 time_remain = 14;
+ SalvageEscortStopReason reason = 7;
+}
diff --git a/protocol/proto/SalvageEscortRestartReq.proto b/protocol/proto/SalvageEscortRestartReq.proto
new file mode 100644
index 00000000..34adad41
--- /dev/null
+++ b/protocol/proto/SalvageEscortRestartReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8396
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SalvageEscortRestartReq {
+ uint32 gallery_id = 4;
+}
diff --git a/protocol/proto/SalvageEscortRestartRsp.proto b/protocol/proto/SalvageEscortRestartRsp.proto
new file mode 100644
index 00000000..c9afae60
--- /dev/null
+++ b/protocol/proto/SalvageEscortRestartRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8959
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SalvageEscortRestartRsp {
+ uint32 gallery_id = 14;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/SalvageEscortSettleInfo.proto b/protocol/proto/SalvageEscortSettleInfo.proto
new file mode 100644
index 00000000..859f0f18
--- /dev/null
+++ b/protocol/proto/SalvageEscortSettleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SalvageEscortGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SalvageEscortSettleInfo {
+ SalvageEscortGallerySettleInfo settle_info = 3;
+ bool is_new_record = 2;
+}
diff --git a/protocol/proto/SalvageEscortSettleNotify.proto b/protocol/proto/SalvageEscortSettleNotify.proto
new file mode 100644
index 00000000..be34fee1
--- /dev/null
+++ b/protocol/proto/SalvageEscortSettleNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SalvageEscortSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8499
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SalvageEscortSettleNotify {
+ uint32 gallery_id = 14;
+ SalvageEscortSettleInfo settle_info = 15;
+}
diff --git a/protocol/proto/SalvageEscortStopReason.proto b/protocol/proto/SalvageEscortStopReason.proto
new file mode 100644
index 00000000..b42a8e36
--- /dev/null
+++ b/protocol/proto/SalvageEscortStopReason.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum SalvageEscortStopReason {
+ SALVAGE_ESCORT_STOP_REASON_NONE = 0;
+ SALVAGE_ESCORT_STOP_REASON_SUCCESS = 1;
+ SALVAGE_ESCORT_STOP_REASON_DUMP = 2;
+ SALVAGE_ESCORT_STOP_REASON_TIME = 3;
+ SALVAGE_ESCORT_STOP_REASON_INTERRUPT = 4;
+ SALVAGE_ESCORT_STOP_REASON_LEAVE = 5;
+ SALVAGE_ESCORT_STOP_REASON_FULL = 6;
+}
diff --git a/protocol/proto/SalvagePreventGallerySettleInfo.proto b/protocol/proto/SalvagePreventGallerySettleInfo.proto
new file mode 100644
index 00000000..f46facc1
--- /dev/null
+++ b/protocol/proto/SalvagePreventGallerySettleInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SalvagePreventStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SalvagePreventGallerySettleInfo {
+ uint32 time_remain = 8;
+ SalvagePreventStopReason reason = 7;
+ uint32 final_score = 13;
+ uint32 monster_count = 15;
+}
diff --git a/protocol/proto/SalvagePreventRestartReq.proto b/protocol/proto/SalvagePreventRestartReq.proto
new file mode 100644
index 00000000..20e84a12
--- /dev/null
+++ b/protocol/proto/SalvagePreventRestartReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8367
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SalvagePreventRestartReq {
+ uint32 gallery_id = 13;
+}
diff --git a/protocol/proto/SalvagePreventRestartRsp.proto b/protocol/proto/SalvagePreventRestartRsp.proto
new file mode 100644
index 00000000..48bccda3
--- /dev/null
+++ b/protocol/proto/SalvagePreventRestartRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8938
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SalvagePreventRestartRsp {
+ int32 retcode = 10;
+ uint32 gallery_id = 12;
+}
diff --git a/protocol/proto/SalvagePreventSettleInfo.proto b/protocol/proto/SalvagePreventSettleInfo.proto
new file mode 100644
index 00000000..d23f9db1
--- /dev/null
+++ b/protocol/proto/SalvagePreventSettleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SalvagePreventGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SalvagePreventSettleInfo {
+ bool is_new_record = 8;
+ SalvagePreventGallerySettleInfo settle_info = 14;
+}
diff --git a/protocol/proto/SalvagePreventSettleNotify.proto b/protocol/proto/SalvagePreventSettleNotify.proto
new file mode 100644
index 00000000..309b102b
--- /dev/null
+++ b/protocol/proto/SalvagePreventSettleNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SalvagePreventSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8231
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SalvagePreventSettleNotify {
+ uint32 gallery_id = 13;
+ SalvagePreventSettleInfo settle_info = 12;
+}
diff --git a/protocol/proto/SalvagePreventStopReason.proto b/protocol/proto/SalvagePreventStopReason.proto
new file mode 100644
index 00000000..54a41476
--- /dev/null
+++ b/protocol/proto/SalvagePreventStopReason.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum SalvagePreventStopReason {
+ SALVAGE_PREVENT_STOP_REASON_NONE = 0;
+ SALVAGE_PREVENT_STOP_REASON_SUCCESS = 1;
+ SALVAGE_PREVENT_STOP_REASON_ARRIVAL = 2;
+ SALVAGE_PREVENT_STOP_REASON_INTERRUPT = 3;
+ SALVAGE_PREVENT_STOP_REASON_LEAVE = 4;
+ SALVAGE_PREVENT_STOP_REASON_FULL = 5;
+ SALVAGE_PREVENT_STOP_REASON_AWAY = 6;
+}
diff --git a/protocol/proto/SalvageScoreChallengeInfo.proto b/protocol/proto/SalvageScoreChallengeInfo.proto
new file mode 100644
index 00000000..5404ef15
--- /dev/null
+++ b/protocol/proto/SalvageScoreChallengeInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SalvageScoreChallengeInfo {
+ uint32 salvage_challenge_id = 13;
+ uint32 max_score = 7;
+}
diff --git a/protocol/proto/SalvageStageInfo.proto b/protocol/proto/SalvageStageInfo.proto
new file mode 100644
index 00000000..7223306e
--- /dev/null
+++ b/protocol/proto/SalvageStageInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SalvageChallengeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SalvageStageInfo {
+ repeated SalvageChallengeInfo challenge_info_list = 9;
+ bool is_open = 10;
+ uint32 stage_id = 2;
+}
diff --git a/protocol/proto/SaveCoopDialogReq.proto b/protocol/proto/SaveCoopDialogReq.proto
new file mode 100644
index 00000000..536f9d9b
--- /dev/null
+++ b/protocol/proto/SaveCoopDialogReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2000
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SaveCoopDialogReq {
+ uint32 main_coop_id = 11;
+ uint32 dialog_id = 6;
+}
diff --git a/protocol/proto/SaveCoopDialogRsp.proto b/protocol/proto/SaveCoopDialogRsp.proto
new file mode 100644
index 00000000..43f703a3
--- /dev/null
+++ b/protocol/proto/SaveCoopDialogRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1962
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SaveCoopDialogRsp {
+ uint32 dialog_id = 8;
+ uint32 main_coop_id = 10;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/SaveCustomDungeonRoomReq.proto b/protocol/proto/SaveCustomDungeonRoomReq.proto
new file mode 100644
index 00000000..8596597e
--- /dev/null
+++ b/protocol/proto/SaveCustomDungeonRoomReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonRoom.proto";
+import "CustomDungeonSetting.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6225
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SaveCustomDungeonRoomReq {
+ CustomDungeonRoom custom_dungeon_room = 5;
+ bool is_update_setting = 7;
+ CustomDungeonSetting setting = 13;
+}
diff --git a/protocol/proto/SaveCustomDungeonRoomRsp.proto b/protocol/proto/SaveCustomDungeonRoomRsp.proto
new file mode 100644
index 00000000..5a7b0639
--- /dev/null
+++ b/protocol/proto/SaveCustomDungeonRoomRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomDungeonBlock.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6207
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SaveCustomDungeonRoomRsp {
+ uint32 room_id = 14;
+ repeated CustomDungeonBlock error_block_list = 9;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/SaveMainCoopReq.proto b/protocol/proto/SaveMainCoopReq.proto
new file mode 100644
index 00000000..28b2597f
--- /dev/null
+++ b/protocol/proto/SaveMainCoopReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1975
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SaveMainCoopReq {
+ map normal_var_map = 15;
+ uint32 self_confidence = 2;
+ uint32 save_point_id = 1;
+ map temp_var_map = 8;
+ uint32 id = 3;
+}
diff --git a/protocol/proto/SaveMainCoopRsp.proto b/protocol/proto/SaveMainCoopRsp.proto
new file mode 100644
index 00000000..99c003aa
--- /dev/null
+++ b/protocol/proto/SaveMainCoopRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1957
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SaveMainCoopRsp {
+ int32 retcode = 2;
+ repeated uint32 save_point_id_list = 15;
+ uint32 id = 14;
+}
diff --git a/protocol/proto/SaveUgcReq.proto b/protocol/proto/SaveUgcReq.proto
new file mode 100644
index 00000000..ef8cbd96
--- /dev/null
+++ b/protocol/proto/SaveUgcReq.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcMusicBriefInfo.proto";
+import "UgcMusicRecord.proto";
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6329
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SaveUgcReq {
+ UgcType ugc_type = 11;
+ oneof record {
+ UgcMusicRecord music_record = 2;
+ }
+ oneof brief {
+ UgcMusicBriefInfo music_brief_info = 1488;
+ }
+}
diff --git a/protocol/proto/SaveUgcRsp.proto b/protocol/proto/SaveUgcRsp.proto
new file mode 100644
index 00000000..dcfecb26
--- /dev/null
+++ b/protocol/proto/SaveUgcRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6322
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SaveUgcRsp {
+ int32 retcode = 15;
+ uint64 ugc_guid = 8;
+ UgcType ugc_type = 1;
+}
diff --git a/protocol/proto/SceneAreaUnlockNotify.proto b/protocol/proto/SceneAreaUnlockNotify.proto
new file mode 100644
index 00000000..8f224e8e
--- /dev/null
+++ b/protocol/proto/SceneAreaUnlockNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 293
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneAreaUnlockNotify {
+ repeated uint32 area_list = 10;
+ uint32 scene_id = 9;
+}
diff --git a/protocol/proto/SceneAreaWeatherNotify.proto b/protocol/proto/SceneAreaWeatherNotify.proto
new file mode 100644
index 00000000..c50959b5
--- /dev/null
+++ b/protocol/proto/SceneAreaWeatherNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 230
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneAreaWeatherNotify {
+ uint32 weather_area_id = 1;
+ uint32 weather_gadget_id = 9;
+ uint32 climate_type = 14;
+ float trans_duration = 15;
+ map weather_value_map = 10;
+}
diff --git a/protocol/proto/SceneAudioNotify.proto b/protocol/proto/SceneAudioNotify.proto
new file mode 100644
index 00000000..1fbd3ab1
--- /dev/null
+++ b/protocol/proto/SceneAudioNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3166
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneAudioNotify {
+ repeated float param2 = 14;
+ int32 type = 3;
+ repeated string param3 = 11;
+ uint32 source_uid = 6;
+ repeated uint32 param1 = 4;
+}
diff --git a/protocol/proto/SceneAvatarInfo.proto b/protocol/proto/SceneAvatarInfo.proto
new file mode 100644
index 00000000..5197c24a
--- /dev/null
+++ b/protocol/proto/SceneAvatarInfo.proto
@@ -0,0 +1,50 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarExcelInfo.proto";
+import "CurVehicleInfo.proto";
+import "SceneReliquaryInfo.proto";
+import "SceneWeaponInfo.proto";
+import "ServerBuff.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneAvatarInfo {
+ uint32 uid = 1;
+ uint32 avatar_id = 2;
+ uint64 guid = 3;
+ uint32 peer_id = 4;
+ repeated uint32 equip_id_list = 5;
+ uint32 skill_depot_id = 6;
+ repeated uint32 talent_id_list = 7;
+ SceneWeaponInfo weapon = 8;
+ repeated SceneReliquaryInfo reliquary_list = 9;
+ uint32 core_proud_skill_level = 11;
+ repeated uint32 inherent_proud_skill_list = 12;
+ map skill_level_map = 13;
+ map proud_skill_extra_level_map = 14;
+ repeated ServerBuff server_buff_list = 15;
+ repeated uint32 team_resonance_list = 16;
+ uint32 wearing_flycloak_id = 17;
+ uint32 born_time = 18;
+ uint32 costume_id = 19;
+ CurVehicleInfo cur_vehicle_info = 20;
+ AvatarExcelInfo excel_info = 21;
+ uint32 anim_hash = 22;
+}
diff --git a/protocol/proto/SceneAvatarStaminaStepReq.proto b/protocol/proto/SceneAvatarStaminaStepReq.proto
new file mode 100644
index 00000000..ca22ffaf
--- /dev/null
+++ b/protocol/proto/SceneAvatarStaminaStepReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 299
+// EnetChannelId: 1
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneAvatarStaminaStepReq {
+ bool use_client_rot = 15;
+ Vector rot = 7;
+}
diff --git a/protocol/proto/SceneAvatarStaminaStepRsp.proto b/protocol/proto/SceneAvatarStaminaStepRsp.proto
new file mode 100644
index 00000000..2b636e07
--- /dev/null
+++ b/protocol/proto/SceneAvatarStaminaStepRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 231
+// EnetChannelId: 1
+// EnetIsReliable: true
+message SceneAvatarStaminaStepRsp {
+ bool use_client_rot = 9;
+ int32 retcode = 7;
+ Vector rot = 11;
+}
diff --git a/protocol/proto/SceneCreateEntityReq.proto b/protocol/proto/SceneCreateEntityReq.proto
new file mode 100644
index 00000000..cde70255
--- /dev/null
+++ b/protocol/proto/SceneCreateEntityReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CreateEntityInfo.proto";
+import "CreateReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 288
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneCreateEntityReq {
+ CreateEntityInfo entity = 1;
+ bool is_destroy_when_disconnect = 10;
+ CreateReason reason = 3;
+}
diff --git a/protocol/proto/SceneCreateEntityRsp.proto b/protocol/proto/SceneCreateEntityRsp.proto
new file mode 100644
index 00000000..7187017a
--- /dev/null
+++ b/protocol/proto/SceneCreateEntityRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CreateEntityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 226
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneCreateEntityRsp {
+ int32 retcode = 14;
+ uint32 entity_id = 1;
+ CreateEntityInfo entity = 10;
+}
diff --git a/protocol/proto/SceneDataNotify.proto b/protocol/proto/SceneDataNotify.proto
new file mode 100644
index 00000000..c1cd81ca
--- /dev/null
+++ b/protocol/proto/SceneDataNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3203
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneDataNotify {
+ repeated string level_config_name_list = 15;
+ repeated uint32 scene_tag_id_list = 8;
+}
diff --git a/protocol/proto/SceneDestroyEntityReq.proto b/protocol/proto/SceneDestroyEntityReq.proto
new file mode 100644
index 00000000..eb5e8dbd
--- /dev/null
+++ b/protocol/proto/SceneDestroyEntityReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 263
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneDestroyEntityReq {
+ uint32 entity_id = 7;
+}
diff --git a/protocol/proto/SceneDestroyEntityRsp.proto b/protocol/proto/SceneDestroyEntityRsp.proto
new file mode 100644
index 00000000..cc5d0b6d
--- /dev/null
+++ b/protocol/proto/SceneDestroyEntityRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 295
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneDestroyEntityRsp {
+ int32 retcode = 14;
+ uint32 entity_id = 7;
+}
diff --git a/protocol/proto/SceneEntitiesMoveCombineNotify.proto b/protocol/proto/SceneEntitiesMoveCombineNotify.proto
new file mode 100644
index 00000000..bc9cfc84
--- /dev/null
+++ b/protocol/proto/SceneEntitiesMoveCombineNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EntityMoveInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3387
+// EnetChannelId: 1
+// EnetIsReliable: false
+message SceneEntitiesMoveCombineNotify {
+ repeated EntityMoveInfo entity_move_info_list = 8;
+}
diff --git a/protocol/proto/SceneEntitiesMovesReq.proto b/protocol/proto/SceneEntitiesMovesReq.proto
new file mode 100644
index 00000000..569ad59c
--- /dev/null
+++ b/protocol/proto/SceneEntitiesMovesReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EntityMoveInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 279
+// EnetChannelId: 1
+// EnetIsReliable: false
+// IsAllowClient: true
+message SceneEntitiesMovesReq {
+ repeated EntityMoveInfo entity_move_info_list = 14;
+}
diff --git a/protocol/proto/SceneEntitiesMovesRsp.proto b/protocol/proto/SceneEntitiesMovesRsp.proto
new file mode 100644
index 00000000..2e8fe9f8
--- /dev/null
+++ b/protocol/proto/SceneEntitiesMovesRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EntityMoveFailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 255
+// EnetChannelId: 1
+// EnetIsReliable: false
+message SceneEntitiesMovesRsp {
+ repeated EntityMoveFailInfo entity_move_fail_info_list = 11;
+}
diff --git a/protocol/proto/SceneEntityAiInfo.proto b/protocol/proto/SceneEntityAiInfo.proto
new file mode 100644
index 00000000..54f6a1a0
--- /dev/null
+++ b/protocol/proto/SceneEntityAiInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ServantInfo.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneEntityAiInfo {
+ bool is_ai_open = 1;
+ Vector born_pos = 2;
+ map skill_cd_map = 3;
+ ServantInfo servant_info = 4;
+ map ai_threat_map = 5;
+ map skill_group_cd_map = 6;
+ uint32 cur_tactic = 7;
+}
diff --git a/protocol/proto/SceneEntityAppearNotify.proto b/protocol/proto/SceneEntityAppearNotify.proto
new file mode 100644
index 00000000..18a6dd28
--- /dev/null
+++ b/protocol/proto/SceneEntityAppearNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneEntityInfo.proto";
+import "VisionType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 221
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneEntityAppearNotify {
+ VisionType appear_type = 15;
+ uint32 param = 9;
+ repeated SceneEntityInfo entity_list = 5;
+}
diff --git a/protocol/proto/SceneEntityDisappearNotify.proto b/protocol/proto/SceneEntityDisappearNotify.proto
new file mode 100644
index 00000000..71bf0a9e
--- /dev/null
+++ b/protocol/proto/SceneEntityDisappearNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VisionType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 203
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneEntityDisappearNotify {
+ uint32 param = 6;
+ repeated uint32 entity_list = 1;
+ VisionType disappear_type = 2;
+}
diff --git a/protocol/proto/SceneEntityDrownReq.proto b/protocol/proto/SceneEntityDrownReq.proto
new file mode 100644
index 00000000..5603588a
--- /dev/null
+++ b/protocol/proto/SceneEntityDrownReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 227
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneEntityDrownReq {
+ uint32 entity_id = 10;
+}
diff --git a/protocol/proto/SceneEntityDrownRsp.proto b/protocol/proto/SceneEntityDrownRsp.proto
new file mode 100644
index 00000000..d69f0da3
--- /dev/null
+++ b/protocol/proto/SceneEntityDrownRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 294
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneEntityDrownRsp {
+ int32 retcode = 8;
+ uint32 entity_id = 11;
+}
diff --git a/protocol/proto/SceneEntityInfo.proto b/protocol/proto/SceneEntityInfo.proto
new file mode 100644
index 00000000..d448e4f3
--- /dev/null
+++ b/protocol/proto/SceneEntityInfo.proto
@@ -0,0 +1,58 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AnimatorParameterValueInfoPair.proto";
+import "EntityAuthorityInfo.proto";
+import "EntityClientData.proto";
+import "EntityEnvironmentInfo.proto";
+import "FightPropPair.proto";
+import "MotionInfo.proto";
+import "PropPair.proto";
+import "ProtEntityType.proto";
+import "SceneAvatarInfo.proto";
+import "SceneGadgetInfo.proto";
+import "SceneMonsterInfo.proto";
+import "SceneNpcInfo.proto";
+import "ServerBuff.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneEntityInfo {
+ ProtEntityType entity_type = 1;
+ uint32 entity_id = 2;
+ string name = 3;
+ MotionInfo motion_info = 4;
+ repeated PropPair prop_list = 5;
+ repeated FightPropPair fight_prop_list = 6;
+ uint32 life_state = 7;
+ repeated AnimatorParameterValueInfoPair animator_para_list = 9;
+ uint32 last_move_scene_time_ms = 17;
+ uint32 last_move_reliable_seq = 18;
+ EntityClientData entity_client_data = 19;
+ repeated EntityEnvironmentInfo entity_environment_info_list = 20;
+ EntityAuthorityInfo entity_authority_info = 21;
+ repeated string tag_list = 22;
+ repeated ServerBuff server_buff_list = 23;
+ oneof entity {
+ SceneAvatarInfo avatar = 10;
+ SceneMonsterInfo monster = 11;
+ SceneNpcInfo npc = 12;
+ SceneGadgetInfo gadget = 13;
+ }
+}
diff --git a/protocol/proto/SceneEntityMoveNotify.proto b/protocol/proto/SceneEntityMoveNotify.proto
new file mode 100644
index 00000000..8995d7da
--- /dev/null
+++ b/protocol/proto/SceneEntityMoveNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MotionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 275
+// EnetChannelId: 1
+// EnetIsReliable: true
+message SceneEntityMoveNotify {
+ MotionInfo motion_info = 6;
+ uint32 entity_id = 8;
+ uint32 scene_time = 15;
+ uint32 reliable_seq = 2;
+}
diff --git a/protocol/proto/SceneEntityMoveReq.proto b/protocol/proto/SceneEntityMoveReq.proto
new file mode 100644
index 00000000..d4e6970e
--- /dev/null
+++ b/protocol/proto/SceneEntityMoveReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MotionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 290
+// EnetChannelId: 1
+// EnetIsReliable: false
+// IsAllowClient: true
+message SceneEntityMoveReq {
+ MotionInfo motion_info = 7;
+ uint32 scene_time = 4;
+ uint32 entity_id = 8;
+ uint32 reliable_seq = 15;
+}
diff --git a/protocol/proto/SceneEntityMoveRsp.proto b/protocol/proto/SceneEntityMoveRsp.proto
new file mode 100644
index 00000000..de48792f
--- /dev/null
+++ b/protocol/proto/SceneEntityMoveRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MotionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 273
+// EnetChannelId: 1
+// EnetIsReliable: true
+message SceneEntityMoveRsp {
+ uint32 entity_id = 4;
+ MotionInfo fail_motion = 1;
+ uint32 scene_time = 10;
+ uint32 reliable_seq = 6;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/SceneEntityUpdateNotify.proto b/protocol/proto/SceneEntityUpdateNotify.proto
new file mode 100644
index 00000000..5c209312
--- /dev/null
+++ b/protocol/proto/SceneEntityUpdateNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneEntityInfo.proto";
+import "VisionType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3412
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneEntityUpdateNotify {
+ uint32 param = 10;
+ VisionType appear_type = 13;
+ repeated SceneEntityInfo entity_list = 5;
+}
diff --git a/protocol/proto/SceneFishInfo.proto b/protocol/proto/SceneFishInfo.proto
new file mode 100644
index 00000000..4c0300cb
--- /dev/null
+++ b/protocol/proto/SceneFishInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneFishInfo {
+ uint32 fish_id = 1;
+ uint32 fish_pool_entity_id = 2;
+ Vector fish_pool_pos = 3;
+ uint32 fish_pool_gadget_id = 4;
+ uint32 last_shock_time = 5;
+}
diff --git a/protocol/proto/SceneForceLockNotify.proto b/protocol/proto/SceneForceLockNotify.proto
new file mode 100644
index 00000000..0032df56
--- /dev/null
+++ b/protocol/proto/SceneForceLockNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 234
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneForceLockNotify {
+ repeated uint32 force_id_list = 9;
+}
diff --git a/protocol/proto/SceneForceUnlockNotify.proto b/protocol/proto/SceneForceUnlockNotify.proto
new file mode 100644
index 00000000..57f3571e
--- /dev/null
+++ b/protocol/proto/SceneForceUnlockNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 206
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneForceUnlockNotify {
+ bool is_add = 10;
+ repeated uint32 force_id_list = 2;
+}
diff --git a/protocol/proto/SceneGadgetInfo.proto b/protocol/proto/SceneGadgetInfo.proto
new file mode 100644
index 00000000..78e87c44
--- /dev/null
+++ b/protocol/proto/SceneGadgetInfo.proto
@@ -0,0 +1,89 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityGadgetInfo.proto";
+import "BlossomChestInfo.proto";
+import "BossChestInfo.proto";
+import "ClientGadgetInfo.proto";
+import "CustomGadgetTreeInfo.proto";
+import "DeshretObeliskGadgetInfo.proto";
+import "EchoShellInfo.proto";
+import "FishPoolInfo.proto";
+import "FoundationInfo.proto";
+import "GadgetBornType.proto";
+import "GadgetGeneralRewardInfo.proto";
+import "GadgetPlayInfo.proto";
+import "GatherGadgetInfo.proto";
+import "Item.proto";
+import "MpPlayRewardInfo.proto";
+import "NightCrowGadgetInfo.proto";
+import "OfferingInfo.proto";
+import "PlatformInfo.proto";
+import "RoguelikeGadgetInfo.proto";
+import "ScreenInfo.proto";
+import "StatueGadgetInfo.proto";
+import "VehicleInfo.proto";
+import "WeatherInfo.proto";
+import "WorktopInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGadgetInfo {
+ uint32 gadget_id = 1;
+ uint32 group_id = 2;
+ uint32 config_id = 3;
+ uint32 owner_entity_id = 4;
+ GadgetBornType born_type = 5;
+ uint32 gadget_state = 6;
+ uint32 gadget_type = 7;
+ bool is_show_cutscene = 8;
+ uint32 authority_peer_id = 9;
+ bool is_enable_interact = 10;
+ uint32 interact_id = 11;
+ uint32 mark_flag = 21;
+ uint32 prop_owner_entity_id = 22;
+ PlatformInfo platform = 23;
+ repeated uint32 interact_uid_list = 24;
+ uint32 draft_id = 25;
+ uint32 gadget_talk_state = 26;
+ GadgetPlayInfo play_info = 100;
+ oneof content {
+ Item trifle_item = 12;
+ GatherGadgetInfo gather_gadget = 13;
+ WorktopInfo worktop = 14;
+ ClientGadgetInfo client_gadget = 15;
+ WeatherInfo weather = 17;
+ AbilityGadgetInfo ability_gadget = 18;
+ StatueGadgetInfo statue_gadget = 19;
+ BossChestInfo boss_chest = 20;
+ BlossomChestInfo blossom_chest = 41;
+ MpPlayRewardInfo mp_play_reward = 42;
+ GadgetGeneralRewardInfo general_reward = 43;
+ OfferingInfo offering_info = 44;
+ FoundationInfo foundation_info = 45;
+ VehicleInfo vehicle_info = 46;
+ EchoShellInfo shell_info = 47;
+ ScreenInfo screen_info = 48;
+ FishPoolInfo fish_pool_info = 59;
+ CustomGadgetTreeInfo custom_gadget_tree_info = 60;
+ RoguelikeGadgetInfo roguelike_gadget_info = 61;
+ NightCrowGadgetInfo night_crow_gadget_info = 62;
+ DeshretObeliskGadgetInfo deshret_obelisk_gadget_info = 63;
+ }
+}
diff --git a/protocol/proto/SceneGalleryBalloonInfo.proto b/protocol/proto/SceneGalleryBalloonInfo.proto
new file mode 100644
index 00000000..b1e794dc
--- /dev/null
+++ b/protocol/proto/SceneGalleryBalloonInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BalloonPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryBalloonInfo {
+ map scene_player_balloon_info_map = 14;
+ uint32 end_time = 5;
+}
diff --git a/protocol/proto/SceneGalleryBounceConjuringInfo.proto b/protocol/proto/SceneGalleryBounceConjuringInfo.proto
new file mode 100644
index 00000000..2f2a6968
--- /dev/null
+++ b/protocol/proto/SceneGalleryBounceConjuringInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryBounceConjuringInfo {
+ uint32 total_destroyed_machine_count = 4;
+ uint32 total_score = 6;
+}
diff --git a/protocol/proto/SceneGalleryBrokenFloorInfo.proto b/protocol/proto/SceneGalleryBrokenFloorInfo.proto
new file mode 100644
index 00000000..d383c950
--- /dev/null
+++ b/protocol/proto/SceneGalleryBrokenFloorInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryBrokenFloorInfo {
+ map fall_count_map = 3;
+ uint32 end_time = 9;
+}
diff --git a/protocol/proto/SceneGalleryBulletInfo.proto b/protocol/proto/SceneGalleryBulletInfo.proto
new file mode 100644
index 00000000..b541e633
--- /dev/null
+++ b/protocol/proto/SceneGalleryBulletInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryBulletInfo {
+ uint32 end_time = 1;
+ map hit_count_map = 10;
+}
diff --git a/protocol/proto/SceneGalleryBuoyantCombatInfo.proto b/protocol/proto/SceneGalleryBuoyantCombatInfo.proto
new file mode 100644
index 00000000..de124c16
--- /dev/null
+++ b/protocol/proto/SceneGalleryBuoyantCombatInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryBuoyantCombatInfo {
+ uint32 score = 6;
+ uint32 kill_special_monster_count = 1;
+ uint32 kill_monster_count = 14;
+}
diff --git a/protocol/proto/SceneGalleryCharAmusementInfo.proto b/protocol/proto/SceneGalleryCharAmusementInfo.proto
new file mode 100644
index 00000000..2828cb9d
--- /dev/null
+++ b/protocol/proto/SceneGalleryCharAmusementInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryCharAmusementInfo {
+ bool is_last_level = 2;
+ uint32 max_score = 9;
+ uint32 cur_score = 14;
+ bool is_finish = 10;
+ bool is_success = 1;
+}
diff --git a/protocol/proto/SceneGalleryCrystalLinkInfo.proto b/protocol/proto/SceneGalleryCrystalLinkInfo.proto
new file mode 100644
index 00000000..b24bc36c
--- /dev/null
+++ b/protocol/proto/SceneGalleryCrystalLinkInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryCrystalLinkInfo {
+ uint32 score = 10;
+}
diff --git a/protocol/proto/SceneGalleryEffigyChallengeV2Info.proto b/protocol/proto/SceneGalleryEffigyChallengeV2Info.proto
new file mode 100644
index 00000000..eb50bbc9
--- /dev/null
+++ b/protocol/proto/SceneGalleryEffigyChallengeV2Info.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryEffigyChallengeV2Info {
+ uint32 killed_monster_cnt = 10;
+ uint32 total_target_kill_cnt = 15;
+ uint32 scene_start_time = 14;
+ uint32 t_remain_use_time = 6;
+ uint32 boss_violent_level = 9;
+}
diff --git a/protocol/proto/SceneGalleryFallInfo.proto b/protocol/proto/SceneGalleryFallInfo.proto
new file mode 100644
index 00000000..a6da4d0d
--- /dev/null
+++ b/protocol/proto/SceneGalleryFallInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FallPlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryFallInfo {
+ map scene_player_fall_info_map = 12;
+ uint32 end_time = 2;
+}
diff --git a/protocol/proto/SceneGalleryFlowerInfo.proto b/protocol/proto/SceneGalleryFlowerInfo.proto
new file mode 100644
index 00000000..39b1b295
--- /dev/null
+++ b/protocol/proto/SceneGalleryFlowerInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryFlowerInfo {
+ uint32 end_time = 7;
+ uint32 target_score = 13;
+ uint32 cur_score = 9;
+}
diff --git a/protocol/proto/SceneGalleryFungusFighterCaptureInfo.proto b/protocol/proto/SceneGalleryFungusFighterCaptureInfo.proto
new file mode 100644
index 00000000..a9240b5e
--- /dev/null
+++ b/protocol/proto/SceneGalleryFungusFighterCaptureInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryFungusFighterCaptureInfo {
+ bool is_hide_progress = 13;
+}
diff --git a/protocol/proto/SceneGalleryFungusFighterTrainingInfo.proto b/protocol/proto/SceneGalleryFungusFighterTrainingInfo.proto
new file mode 100644
index 00000000..cdecca3a
--- /dev/null
+++ b/protocol/proto/SceneGalleryFungusFighterTrainingInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryFungusFighterTrainingInfo {
+ uint32 max_monster_count = 4;
+ uint32 killed_monster_count = 9;
+ uint32 buff_start_time = 13;
+ uint32 buff_id = 1;
+ uint32 max_skill_count = 10;
+ uint32 buff_last_time = 14;
+ uint32 rest_skill_count = 5;
+}
diff --git a/protocol/proto/SceneGalleryHandballInfo.proto b/protocol/proto/SceneGalleryHandballInfo.proto
new file mode 100644
index 00000000..5f43bed8
--- /dev/null
+++ b/protocol/proto/SceneGalleryHandballInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlaceInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryHandballInfo {
+ PlaceInfo ball_place_info = 9;
+ bool is_have_ball = 15;
+}
diff --git a/protocol/proto/SceneGalleryHideAndSeekInfo.proto b/protocol/proto/SceneGalleryHideAndSeekInfo.proto
new file mode 100644
index 00000000..27fada1b
--- /dev/null
+++ b/protocol/proto/SceneGalleryHideAndSeekInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryHideAndSeekInfo {
+ repeated uint32 visible_uid_list = 13;
+ repeated uint32 caught_uid_list = 4;
+}
diff --git a/protocol/proto/SceneGalleryHomeBalloonInfo.proto b/protocol/proto/SceneGalleryHomeBalloonInfo.proto
new file mode 100644
index 00000000..4b0292fc
--- /dev/null
+++ b/protocol/proto/SceneGalleryHomeBalloonInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryHomeBalloonInfo {
+ uint32 score = 7;
+}
diff --git a/protocol/proto/SceneGalleryHomeSeekFurnitureInfo.proto b/protocol/proto/SceneGalleryHomeSeekFurnitureInfo.proto
new file mode 100644
index 00000000..842a7dff
--- /dev/null
+++ b/protocol/proto/SceneGalleryHomeSeekFurnitureInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryHomeSeekFurnitureInfo {
+ uint32 cur_tide_left_num = 6;
+ map player_score_map = 8;
+ uint32 cur_tide_duration_time = 12;
+ uint32 cur_tide_total_num = 9;
+}
diff --git a/protocol/proto/SceneGalleryInfo.proto b/protocol/proto/SceneGalleryInfo.proto
new file mode 100644
index 00000000..1544e8e4
--- /dev/null
+++ b/protocol/proto/SceneGalleryInfo.proto
@@ -0,0 +1,96 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStageType.proto";
+import "SceneGalleryBalloonInfo.proto";
+import "SceneGalleryBounceConjuringInfo.proto";
+import "SceneGalleryBrokenFloorInfo.proto";
+import "SceneGalleryBulletInfo.proto";
+import "SceneGalleryBuoyantCombatInfo.proto";
+import "SceneGalleryCharAmusementInfo.proto";
+import "SceneGalleryCrystalLinkInfo.proto";
+import "SceneGalleryEffigyChallengeV2Info.proto";
+import "SceneGalleryFallInfo.proto";
+import "SceneGalleryFlowerInfo.proto";
+import "SceneGalleryFungusFighterCaptureInfo.proto";
+import "SceneGalleryFungusFighterTrainingInfo.proto";
+import "SceneGalleryHandballInfo.proto";
+import "SceneGalleryHideAndSeekInfo.proto";
+import "SceneGalleryHomeBalloonInfo.proto";
+import "SceneGalleryHomeSeekFurnitureInfo.proto";
+import "SceneGalleryInstableSprayInfo.proto";
+import "SceneGalleryIrodoriMasterInfo.proto";
+import "SceneGalleryIslandPartyDownHillInfo.proto";
+import "SceneGalleryIslandPartyRaftInfo.proto";
+import "SceneGalleryIslandPartySailInfo.proto";
+import "SceneGalleryLuminanceStoneChallengeInfo.proto";
+import "SceneGalleryMuqadasPotionInfo.proto";
+import "SceneGalleryProgressInfo.proto";
+import "SceneGallerySalvageEscortInfoInfo.proto";
+import "SceneGallerySalvagePreventInfo.proto";
+import "SceneGallerySummerTimeV2BoatInfo.proto";
+import "SceneGallerySumoInfo.proto";
+import "SceneGalleryTreasureSeelieInfo.proto";
+import "SceneGalleryVintageHuntingInfo.proto";
+import "SceneGalleryWindFieldInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryInfo {
+ GalleryStageType stage = 5;
+ repeated SceneGalleryProgressInfo progress_info_list = 4;
+ uint32 gallery_id = 2;
+ uint32 start_time = 3;
+ uint32 end_time = 11;
+ uint32 owner_uid = 9;
+ uint32 player_count = 1;
+ uint32 pre_start_end_time = 15;
+ oneof info {
+ SceneGalleryBalloonInfo balloon_info = 14;
+ SceneGalleryFallInfo fall_info = 7;
+ SceneGalleryFlowerInfo flower_info = 8;
+ SceneGalleryBulletInfo bullet_info = 13;
+ SceneGalleryBrokenFloorInfo broken_floor_info = 10;
+ SceneGalleryHideAndSeekInfo hide_and_seek_info = 6;
+ SceneGalleryBuoyantCombatInfo buoyant_combat_info = 1384;
+ SceneGalleryBounceConjuringInfo bounce_conjuring_info = 708;
+ SceneGalleryHandballInfo handball_info = 1997;
+ SceneGallerySumoInfo sumo_info = 811;
+ SceneGallerySalvagePreventInfo salvage_prevent_info = 1700;
+ SceneGallerySalvageEscortInfoInfo salvage_escort_info = 759;
+ SceneGalleryHomeBalloonInfo home_balloon_info = 1034;
+ SceneGalleryCrystalLinkInfo crystal_link_info = 2004;
+ SceneGalleryIrodoriMasterInfo irodori_master_info = 1953;
+ SceneGalleryLuminanceStoneChallengeInfo luminance_stone_challenge_info = 106;
+ SceneGalleryHomeSeekFurnitureInfo home_seek_furniture_info = 1456;
+ SceneGalleryIslandPartyDownHillInfo island_party_down_hill_info = 462;
+ SceneGallerySummerTimeV2BoatInfo summer_time_v2_boat_info = 296;
+ SceneGalleryIslandPartyRaftInfo island_party_raft_info = 1805;
+ SceneGalleryIslandPartySailInfo island_party_sail_info = 1133;
+ SceneGalleryInstableSprayInfo instable_spray_info = 1196;
+ SceneGalleryMuqadasPotionInfo muqadas_potion_info = 865;
+ SceneGalleryTreasureSeelieInfo treasure_seelie_info = 1525;
+ SceneGalleryVintageHuntingInfo vintage_hunting_info = 254;
+ SceneGalleryWindFieldInfo wind_field_info = 1080;
+ SceneGalleryFungusFighterTrainingInfo fungus_fighter_training_info = 1328;
+ SceneGalleryEffigyChallengeV2Info effigy_challenge_info = 882;
+ SceneGalleryFungusFighterCaptureInfo fungus_fighter_capture_info = 422;
+ SceneGalleryCharAmusementInfo char_amusement_info = 1086;
+ }
+}
diff --git a/protocol/proto/SceneGalleryInfoNotify.proto b/protocol/proto/SceneGalleryInfoNotify.proto
new file mode 100644
index 00000000..d761712d
--- /dev/null
+++ b/protocol/proto/SceneGalleryInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneGalleryInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5581
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneGalleryInfoNotify {
+ SceneGalleryInfo gallery_info = 4;
+}
diff --git a/protocol/proto/SceneGalleryInstableSprayBuffInfo.proto b/protocol/proto/SceneGalleryInstableSprayBuffInfo.proto
new file mode 100644
index 00000000..e34fa14e
--- /dev/null
+++ b/protocol/proto/SceneGalleryInstableSprayBuffInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryInstableSprayBuffInfo {
+ uint32 buff_id = 6;
+ uint64 buff_end_time = 9;
+ uint64 buff_max_time = 4;
+}
diff --git a/protocol/proto/SceneGalleryInstableSprayInfo.proto b/protocol/proto/SceneGalleryInstableSprayInfo.proto
new file mode 100644
index 00000000..c3fd3b6a
--- /dev/null
+++ b/protocol/proto/SceneGalleryInstableSprayInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneGalleryInstableSprayBuffInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryInstableSprayInfo {
+ uint32 score = 5;
+ repeated SceneGalleryInstableSprayBuffInfo buff_info_list = 12;
+}
diff --git a/protocol/proto/SceneGalleryIrodoriMasterInfo.proto b/protocol/proto/SceneGalleryIrodoriMasterInfo.proto
new file mode 100644
index 00000000..57809596
--- /dev/null
+++ b/protocol/proto/SceneGalleryIrodoriMasterInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryIrodoriMasterInfo {
+ uint32 level_id = 8;
+ uint32 difficulty = 1;
+ bool is_cg_viewed = 5;
+}
diff --git a/protocol/proto/SceneGalleryIslandPartyDownHillInfo.proto b/protocol/proto/SceneGalleryIslandPartyDownHillInfo.proto
new file mode 100644
index 00000000..f56afd3c
--- /dev/null
+++ b/protocol/proto/SceneGalleryIslandPartyDownHillInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStartSource.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryIslandPartyDownHillInfo {
+ uint32 total_kill_monster_count = 14;
+ GalleryStartSource start_source = 15;
+ uint32 max_kill_monster_count = 5;
+ uint32 coin = 13;
+}
diff --git a/protocol/proto/SceneGalleryIslandPartyRaftInfo.proto b/protocol/proto/SceneGalleryIslandPartyRaftInfo.proto
new file mode 100644
index 00000000..eefa1f53
--- /dev/null
+++ b/protocol/proto/SceneGalleryIslandPartyRaftInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStartSource.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryIslandPartyRaftInfo {
+ uint32 coin = 6;
+ GalleryStartSource start_source = 7;
+ uint32 component = 1;
+ uint32 fuel = 15;
+ uint32 point_id = 12;
+ uint32 raft_entity_id = 4;
+}
diff --git a/protocol/proto/SceneGalleryIslandPartySailInfo.proto b/protocol/proto/SceneGalleryIslandPartySailInfo.proto
new file mode 100644
index 00000000..d203e82d
--- /dev/null
+++ b/protocol/proto/SceneGalleryIslandPartySailInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStartSource.proto";
+import "IslandPartySailStage.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryIslandPartySailInfo {
+ uint32 max_clean_progress = 14;
+ uint32 clean_progress = 10;
+ GalleryStartSource start_source = 1;
+ uint32 kill_progress = 11;
+ uint32 coin = 15;
+ IslandPartySailStage stage = 12;
+ uint32 max_kill_progress = 8;
+}
diff --git a/protocol/proto/SceneGalleryLuminanceStoneChallengeInfo.proto b/protocol/proto/SceneGalleryLuminanceStoneChallengeInfo.proto
new file mode 100644
index 00000000..3ea442d1
--- /dev/null
+++ b/protocol/proto/SceneGalleryLuminanceStoneChallengeInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryLuminanceStoneChallengeInfo {
+ uint32 kill_monster_count = 5;
+ uint32 score = 3;
+ uint32 clean_mud_count = 2;
+ uint32 kill_special_monster_count = 6;
+}
diff --git a/protocol/proto/SceneGalleryMuqadasPotionInfo.proto b/protocol/proto/SceneGalleryMuqadasPotionInfo.proto
new file mode 100644
index 00000000..8fc3ea25
--- /dev/null
+++ b/protocol/proto/SceneGalleryMuqadasPotionInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryMuqadasPotionInfo {
+ uint32 score = 6;
+ uint32 capture_weakness_count = 4;
+ uint32 skill_energy = 10;
+ uint32 skill_use_limit = 9;
+}
diff --git a/protocol/proto/SceneGalleryProgressInfo.proto b/protocol/proto/SceneGalleryProgressInfo.proto
new file mode 100644
index 00000000..74d55cf5
--- /dev/null
+++ b/protocol/proto/SceneGalleryProgressInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryProgressInfo {
+ repeated uint32 progress_stage_list = 8;
+ string key = 11;
+ uint32 progress = 5;
+ uint32 ui_form = 12;
+}
diff --git a/protocol/proto/SceneGallerySalvageEscortInfoInfo.proto b/protocol/proto/SceneGallerySalvageEscortInfoInfo.proto
new file mode 100644
index 00000000..abadf117
--- /dev/null
+++ b/protocol/proto/SceneGallerySalvageEscortInfoInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGallerySalvageEscortInfoInfo {
+ uint32 max_box_count = 14;
+ uint32 max_monster_count = 3;
+ uint32 box_count = 7;
+ uint32 monster_count = 11;
+}
diff --git a/protocol/proto/SceneGallerySalvagePreventInfo.proto b/protocol/proto/SceneGallerySalvagePreventInfo.proto
new file mode 100644
index 00000000..ada93886
--- /dev/null
+++ b/protocol/proto/SceneGallerySalvagePreventInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGallerySalvagePreventInfo {
+ uint32 monster_count = 7;
+}
diff --git a/protocol/proto/SceneGallerySummerTimeV2BoatInfo.proto b/protocol/proto/SceneGallerySummerTimeV2BoatInfo.proto
new file mode 100644
index 00000000..92376320
--- /dev/null
+++ b/protocol/proto/SceneGallerySummerTimeV2BoatInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGallerySummerTimeV2BoatInfo {
+ uint32 param1 = 15;
+ uint32 param3 = 3;
+ uint32 used_time = 11;
+ uint32 param2 = 7;
+}
diff --git a/protocol/proto/SceneGallerySumoInfo.proto b/protocol/proto/SceneGallerySumoInfo.proto
new file mode 100644
index 00000000..b182d37d
--- /dev/null
+++ b/protocol/proto/SceneGallerySumoInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGallerySumoInfo {
+ uint32 score = 2;
+ uint32 kill_normal_mosnter_num = 15;
+ uint32 kill_elite_monster_num = 14;
+}
diff --git a/protocol/proto/SceneGalleryTreasureSeelieInfo.proto b/protocol/proto/SceneGalleryTreasureSeelieInfo.proto
new file mode 100644
index 00000000..008ef160
--- /dev/null
+++ b/protocol/proto/SceneGalleryTreasureSeelieInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryTreasureSeelieInfo {
+ uint32 progress = 15;
+ uint32 goal = 14;
+}
diff --git a/protocol/proto/SceneGalleryVintageHuntingInfo.proto b/protocol/proto/SceneGalleryVintageHuntingInfo.proto
new file mode 100644
index 00000000..621ac79c
--- /dev/null
+++ b/protocol/proto/SceneGalleryVintageHuntingInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VintageHuntingFirstStageInfo.proto";
+import "VintageHuntingSecondStageInfo.proto";
+import "VintageHuntingThirdStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryVintageHuntingInfo {
+ uint32 stage_id = 7;
+ oneof info {
+ VintageHuntingFirstStageInfo first_stage_info = 2;
+ VintageHuntingSecondStageInfo second_stage_info = 15;
+ VintageHuntingThirdStageInfo third_stage_info = 12;
+ }
+}
diff --git a/protocol/proto/SceneGalleryVintageHuntingSettleNotify.proto b/protocol/proto/SceneGalleryVintageHuntingSettleNotify.proto
new file mode 100644
index 00000000..a97df57e
--- /dev/null
+++ b/protocol/proto/SceneGalleryVintageHuntingSettleNotify.proto
@@ -0,0 +1,40 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VintageHuntingFirstStageSettleInfo.proto";
+import "VintageHuntingSecondStageSettleInfo.proto";
+import "VintageHuntingThirdStageSettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20324
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneGalleryVintageHuntingSettleNotify {
+ bool has_new_watcher = 11;
+ uint32 stage_id = 9;
+ uint32 total_watcher_num = 12;
+ uint32 finished_watcher_num = 6;
+ bool is_new_record = 1;
+ oneof info {
+ VintageHuntingFirstStageSettleInfo first_stage_info = 4;
+ VintageHuntingSecondStageSettleInfo second_stage_info = 10;
+ VintageHuntingThirdStageSettleInfo third_stage_info = 8;
+ }
+}
diff --git a/protocol/proto/SceneGalleryWindFieldInfo.proto b/protocol/proto/SceneGalleryWindFieldInfo.proto
new file mode 100644
index 00000000..f6b9a224
--- /dev/null
+++ b/protocol/proto/SceneGalleryWindFieldInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneGalleryWindFieldInfo {
+ uint32 killed_monster_num = 5;
+ uint32 challenge_ball_max_count = 12;
+ uint32 show_id = 15;
+ uint32 challenge_total_time = 4;
+ uint32 challenge_ball_cur_count = 9;
+ uint32 coin_num = 1;
+ uint32 challenge_timestamp = 13;
+ uint32 element_ball_num = 10;
+}
diff --git a/protocol/proto/SceneInitFinishReq.proto b/protocol/proto/SceneInitFinishReq.proto
new file mode 100644
index 00000000..d760f158
--- /dev/null
+++ b/protocol/proto/SceneInitFinishReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 235
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneInitFinishReq {
+ uint32 enter_scene_token = 11;
+}
diff --git a/protocol/proto/SceneInitFinishRsp.proto b/protocol/proto/SceneInitFinishRsp.proto
new file mode 100644
index 00000000..a7b9f44a
--- /dev/null
+++ b/protocol/proto/SceneInitFinishRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 207
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneInitFinishRsp {
+ int32 retcode = 13;
+ uint32 enter_scene_token = 8;
+}
diff --git a/protocol/proto/SceneKickPlayerNotify.proto b/protocol/proto/SceneKickPlayerNotify.proto
new file mode 100644
index 00000000..6cd369e2
--- /dev/null
+++ b/protocol/proto/SceneKickPlayerNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 211
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneKickPlayerNotify {
+ uint32 target_uid = 8;
+ uint32 kicker_uid = 9;
+}
diff --git a/protocol/proto/SceneKickPlayerReq.proto b/protocol/proto/SceneKickPlayerReq.proto
new file mode 100644
index 00000000..47087699
--- /dev/null
+++ b/protocol/proto/SceneKickPlayerReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 264
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneKickPlayerReq {
+ uint32 target_uid = 6;
+}
diff --git a/protocol/proto/SceneKickPlayerRsp.proto b/protocol/proto/SceneKickPlayerRsp.proto
new file mode 100644
index 00000000..c8efc921
--- /dev/null
+++ b/protocol/proto/SceneKickPlayerRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 238
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneKickPlayerRsp {
+ int32 retcode = 13;
+ uint32 target_uid = 10;
+}
diff --git a/protocol/proto/SceneMonsterInfo.proto b/protocol/proto/SceneMonsterInfo.proto
new file mode 100644
index 00000000..6099ba47
--- /dev/null
+++ b/protocol/proto/SceneMonsterInfo.proto
@@ -0,0 +1,56 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FishtankFishInfo.proto";
+import "MonsterBornType.proto";
+import "MonsterRoute.proto";
+import "SceneFishInfo.proto";
+import "SceneWeaponInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneMonsterInfo {
+ uint32 monster_id = 1;
+ uint32 group_id = 2;
+ uint32 config_id = 3;
+ repeated SceneWeaponInfo weapon_list = 4;
+ uint32 authority_peer_id = 5;
+ repeated uint32 affix_list = 6;
+ bool is_elite = 7;
+ uint32 owner_entity_id = 8;
+ uint32 summoned_tag = 9;
+ map summon_tag_map = 10;
+ uint32 pose_id = 11;
+ MonsterBornType born_type = 12;
+ uint32 block_id = 13;
+ uint32 mark_flag = 14;
+ uint32 title_id = 15;
+ uint32 special_name_id = 16;
+ uint32 attack_target_id = 17;
+ MonsterRoute monster_route = 18;
+ uint32 ai_config_id = 19;
+ uint32 level_route_id = 20;
+ uint32 init_pose_id = 21;
+ bool is_light = 22;
+ uint32 kill_num = 23;
+ oneof content {
+ SceneFishInfo fish_info = 50;
+ FishtankFishInfo fishtank_fish_info = 51;
+ }
+}
diff --git a/protocol/proto/SceneNpcInfo.proto b/protocol/proto/SceneNpcInfo.proto
new file mode 100644
index 00000000..17022e2a
--- /dev/null
+++ b/protocol/proto/SceneNpcInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneNpcInfo {
+ uint32 npc_id = 1;
+ uint32 room_id = 2;
+ uint32 parent_quest_id = 3;
+ uint32 block_id = 4;
+}
diff --git a/protocol/proto/ScenePlayBattleInfo.proto b/protocol/proto/ScenePlayBattleInfo.proto
new file mode 100644
index 00000000..9761d24d
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ScenePlayBattleInfo {
+ uint32 mode = 4;
+ repeated uint32 progress_stage_list = 3;
+ uint32 start_time = 10;
+ uint32 duration = 14;
+ uint32 play_type = 12;
+ uint32 play_id = 1;
+ uint32 prepare_end_time = 7;
+ uint32 progress = 11;
+ uint32 state = 8;
+ uint32 type = 9;
+}
diff --git a/protocol/proto/ScenePlayBattleInfoListNotify.proto b/protocol/proto/ScenePlayBattleInfoListNotify.proto
new file mode 100644
index 00000000..2a9bb8aa
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleInfoListNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ScenePlayBattleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4431
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayBattleInfoListNotify {
+ repeated ScenePlayBattleInfo battle_info_list = 12;
+}
diff --git a/protocol/proto/ScenePlayBattleInfoNotify.proto b/protocol/proto/ScenePlayBattleInfoNotify.proto
new file mode 100644
index 00000000..f098ae08
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ScenePlayBattleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4422
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayBattleInfoNotify {
+ ScenePlayBattleInfo battle_info = 11;
+}
diff --git a/protocol/proto/ScenePlayBattleInterruptNotify.proto b/protocol/proto/ScenePlayBattleInterruptNotify.proto
new file mode 100644
index 00000000..b98a348c
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleInterruptNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4425
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayBattleInterruptNotify {
+ uint32 interrupt_state = 6;
+ uint32 play_id = 5;
+ uint32 play_type = 1;
+}
diff --git a/protocol/proto/ScenePlayBattleResultNotify.proto b/protocol/proto/ScenePlayBattleResultNotify.proto
new file mode 100644
index 00000000..4cc3aacc
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleResultNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ScenePlayBattleSettlePlayerInfo.proto";
+import "ScenePlayBattleSettleRewardInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4398
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayBattleResultNotify {
+ bool is_win = 1;
+ uint32 cost_time = 7;
+ uint32 play_type = 15;
+ uint32 play_id = 11;
+ repeated ScenePlayBattleSettlePlayerInfo settle_player_info_list = 4;
+ repeated ScenePlayBattleSettleRewardInfo settle_reward_info_list = 14;
+}
diff --git a/protocol/proto/ScenePlayBattleSettlePlayerInfo.proto b/protocol/proto/ScenePlayBattleSettlePlayerInfo.proto
new file mode 100644
index 00000000..2cd9a3be
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleSettlePlayerInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ExhibitionDisplayInfo.proto";
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ScenePlayBattleSettlePlayerInfo {
+ repeated ExhibitionDisplayInfo card_list = 14;
+ ProfilePicture profile_picture = 10;
+ uint32 head_image = 11;
+ uint32 statistic_id = 4;
+ uint32 uid = 1;
+ int64 param = 5;
+ string online_id = 12;
+ string nickname = 15;
+}
diff --git a/protocol/proto/ScenePlayBattleSettleRewardInfo.proto b/protocol/proto/ScenePlayBattleSettleRewardInfo.proto
new file mode 100644
index 00000000..616585e9
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleSettleRewardInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ScenePlayBattleSettleRewardInfo {
+ repeated ItemParam reward_item_list = 4;
+ uint32 uid = 3;
+}
diff --git a/protocol/proto/ScenePlayBattleUidOpNotify.proto b/protocol/proto/ScenePlayBattleUidOpNotify.proto
new file mode 100644
index 00000000..69a60d21
--- /dev/null
+++ b/protocol/proto/ScenePlayBattleUidOpNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4447
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayBattleUidOpNotify {
+ uint32 op = 7;
+ repeated uint32 param_target_list = 9;
+ uint32 entity_id = 2;
+ string param_str = 3;
+ repeated uint32 uid_list = 6;
+ uint32 param_index = 11;
+ uint32 play_type = 8;
+ uint32 param_duration = 12;
+ repeated uint32 param_list = 15;
+ uint32 play_id = 5;
+}
diff --git a/protocol/proto/ScenePlayGuestReplyInviteReq.proto b/protocol/proto/ScenePlayGuestReplyInviteReq.proto
new file mode 100644
index 00000000..93ebfc84
--- /dev/null
+++ b/protocol/proto/ScenePlayGuestReplyInviteReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4353
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ScenePlayGuestReplyInviteReq {
+ bool is_agree = 15;
+ uint32 play_id = 6;
+}
diff --git a/protocol/proto/ScenePlayGuestReplyInviteRsp.proto b/protocol/proto/ScenePlayGuestReplyInviteRsp.proto
new file mode 100644
index 00000000..2e6d2432
--- /dev/null
+++ b/protocol/proto/ScenePlayGuestReplyInviteRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4440
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayGuestReplyInviteRsp {
+ int32 retcode = 6;
+ bool is_agree = 2;
+ uint32 play_id = 8;
+}
diff --git a/protocol/proto/ScenePlayGuestReplyNotify.proto b/protocol/proto/ScenePlayGuestReplyNotify.proto
new file mode 100644
index 00000000..ab15a25c
--- /dev/null
+++ b/protocol/proto/ScenePlayGuestReplyNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4423
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayGuestReplyNotify {
+ uint32 play_id = 13;
+ uint32 guest_uid = 12;
+ bool is_agree = 3;
+}
diff --git a/protocol/proto/ScenePlayInfo.proto b/protocol/proto/ScenePlayInfo.proto
new file mode 100644
index 00000000..0dbaf502
--- /dev/null
+++ b/protocol/proto/ScenePlayInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ScenePlayInfo {
+ uint32 entry_id = 15;
+ uint32 play_id = 11;
+ uint32 play_type = 3;
+ bool is_open = 9;
+}
diff --git a/protocol/proto/ScenePlayInfoListNotify.proto b/protocol/proto/ScenePlayInfoListNotify.proto
new file mode 100644
index 00000000..9703caf6
--- /dev/null
+++ b/protocol/proto/ScenePlayInfoListNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ScenePlayInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4381
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayInfoListNotify {
+ repeated ScenePlayInfo play_info_list = 6;
+}
diff --git a/protocol/proto/ScenePlayInviteResultNotify.proto b/protocol/proto/ScenePlayInviteResultNotify.proto
new file mode 100644
index 00000000..4d19c34c
--- /dev/null
+++ b/protocol/proto/ScenePlayInviteResultNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4449
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayInviteResultNotify {
+ bool is_all_argee = 11;
+ uint32 play_id = 15;
+}
diff --git a/protocol/proto/ScenePlayOutofRegionNotify.proto b/protocol/proto/ScenePlayOutofRegionNotify.proto
new file mode 100644
index 00000000..9767220c
--- /dev/null
+++ b/protocol/proto/ScenePlayOutofRegionNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4355
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ScenePlayOutofRegionNotify {
+ uint32 play_id = 13;
+}
diff --git a/protocol/proto/ScenePlayOwnerCheckReq.proto b/protocol/proto/ScenePlayOwnerCheckReq.proto
new file mode 100644
index 00000000..d7650be6
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerCheckReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4448
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ScenePlayOwnerCheckReq {
+ uint32 play_id = 9;
+ bool is_skip_match = 6;
+}
diff --git a/protocol/proto/ScenePlayOwnerCheckRsp.proto b/protocol/proto/ScenePlayOwnerCheckRsp.proto
new file mode 100644
index 00000000..9dcf9b5d
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerCheckRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4362
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayOwnerCheckRsp {
+ repeated uint32 param_list = 8;
+ bool is_skip_match = 1;
+ uint32 play_id = 9;
+ uint32 wrong_uid = 5;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/ScenePlayOwnerInviteNotify.proto b/protocol/proto/ScenePlayOwnerInviteNotify.proto
new file mode 100644
index 00000000..19f0b5e7
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerInviteNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4371
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayOwnerInviteNotify {
+ uint32 invite_cd = 14;
+ uint32 play_id = 5;
+ bool is_remain_reward = 15;
+}
diff --git a/protocol/proto/ScenePlayOwnerStartInviteReq.proto b/protocol/proto/ScenePlayOwnerStartInviteReq.proto
new file mode 100644
index 00000000..d75899e4
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerStartInviteReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4385
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ScenePlayOwnerStartInviteReq {
+ bool is_skip_match = 8;
+ uint32 play_id = 13;
+}
diff --git a/protocol/proto/ScenePlayOwnerStartInviteRsp.proto b/protocol/proto/ScenePlayOwnerStartInviteRsp.proto
new file mode 100644
index 00000000..95ad06e1
--- /dev/null
+++ b/protocol/proto/ScenePlayOwnerStartInviteRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4357
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayOwnerStartInviteRsp {
+ bool is_skip_match = 7;
+ int32 retcode = 15;
+ uint32 play_id = 11;
+}
diff --git a/protocol/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto b/protocol/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto
new file mode 100644
index 00000000..10311ebd
--- /dev/null
+++ b/protocol/proto/ScenePlayerBackgroundAvatarRefreshNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneEntityInfo.proto";
+import "VisionType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3274
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayerBackgroundAvatarRefreshNotify {
+ repeated SceneEntityInfo entity_list = 4;
+ VisionType appear_type = 8;
+ uint32 param = 9;
+}
diff --git a/protocol/proto/ScenePlayerInfo.proto b/protocol/proto/ScenePlayerInfo.proto
new file mode 100644
index 00000000..b8263f3f
--- /dev/null
+++ b/protocol/proto/ScenePlayerInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ScenePlayerInfo {
+ uint32 scene_id = 10;
+ uint32 peer_id = 6;
+ OnlinePlayerInfo online_player_info = 13;
+ bool is_connected = 2;
+ string name = 15;
+ uint32 uid = 8;
+}
diff --git a/protocol/proto/ScenePlayerInfoNotify.proto b/protocol/proto/ScenePlayerInfoNotify.proto
new file mode 100644
index 00000000..0d940643
--- /dev/null
+++ b/protocol/proto/ScenePlayerInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ScenePlayerInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 267
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayerInfoNotify {
+ repeated ScenePlayerInfo player_info_list = 5;
+}
diff --git a/protocol/proto/ScenePlayerLocationNotify.proto b/protocol/proto/ScenePlayerLocationNotify.proto
new file mode 100644
index 00000000..38161f87
--- /dev/null
+++ b/protocol/proto/ScenePlayerLocationNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerLocationInfo.proto";
+import "VehicleLocationInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 248
+// EnetChannelId: 1
+// EnetIsReliable: true
+message ScenePlayerLocationNotify {
+ repeated VehicleLocationInfo vehicle_loc_list = 3;
+ uint32 scene_id = 9;
+ repeated PlayerLocationInfo player_loc_list = 14;
+}
diff --git a/protocol/proto/ScenePlayerSoundNotify.proto b/protocol/proto/ScenePlayerSoundNotify.proto
new file mode 100644
index 00000000..526fda9c
--- /dev/null
+++ b/protocol/proto/ScenePlayerSoundNotify.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 233
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePlayerSoundNotify {
+ string sound_name = 4;
+ PlaySoundType play_type = 8;
+ Vector play_pos = 3;
+
+ enum PlaySoundType {
+ PLAY_SOUND_TYPE_NONE = 0;
+ PLAY_SOUND_TYPE_START = 1;
+ PLAY_SOUND_TYPE_STOP = 2;
+ }
+}
diff --git a/protocol/proto/ScenePointUnlockNotify.proto b/protocol/proto/ScenePointUnlockNotify.proto
new file mode 100644
index 00000000..672408c6
--- /dev/null
+++ b/protocol/proto/ScenePointUnlockNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 247
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ScenePointUnlockNotify {
+ repeated uint32 point_list = 13;
+ uint32 scene_id = 6;
+ repeated uint32 unhide_point_list = 12;
+ repeated uint32 hide_point_list = 1;
+ repeated uint32 locked_point_list = 8;
+}
diff --git a/protocol/proto/SceneReliquaryInfo.proto b/protocol/proto/SceneReliquaryInfo.proto
new file mode 100644
index 00000000..8ea71b86
--- /dev/null
+++ b/protocol/proto/SceneReliquaryInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneReliquaryInfo {
+ uint32 item_id = 1;
+ uint64 guid = 2;
+ uint32 level = 3;
+ uint32 promote_level = 4;
+}
diff --git a/protocol/proto/SceneRouteChangeInfo.proto b/protocol/proto/SceneRouteChangeInfo.proto
new file mode 100644
index 00000000..bbd03acb
--- /dev/null
+++ b/protocol/proto/SceneRouteChangeInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RoutePointChangeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneRouteChangeInfo {
+ bool is_forward = 12;
+ uint32 route_id = 15;
+ uint32 type = 4;
+ repeated RoutePointChangeInfo point_list = 1;
+}
diff --git a/protocol/proto/SceneRouteChangeNotify.proto b/protocol/proto/SceneRouteChangeNotify.proto
new file mode 100644
index 00000000..72491ab5
--- /dev/null
+++ b/protocol/proto/SceneRouteChangeNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneRouteChangeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 240
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneRouteChangeNotify {
+ uint32 scene_id = 12;
+ uint32 scene_time = 11;
+ repeated SceneRouteChangeInfo route_list = 2;
+}
diff --git a/protocol/proto/SceneSurfaceMaterial.proto b/protocol/proto/SceneSurfaceMaterial.proto
new file mode 100644
index 00000000..cd4d5212
--- /dev/null
+++ b/protocol/proto/SceneSurfaceMaterial.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum SceneSurfaceMaterial {
+ SCENE_SURFACE_MATERIAL_INVALID = 0;
+ SCENE_SURFACE_MATERIAL_GRASS = 1;
+ SCENE_SURFACE_MATERIAL_DIRT = 2;
+ SCENE_SURFACE_MATERIAL_ROCK = 3;
+ SCENE_SURFACE_MATERIAL_SNOW = 4;
+ SCENE_SURFACE_MATERIAL_WATER = 5;
+ SCENE_SURFACE_MATERIAL_TILE = 6;
+ SCENE_SURFACE_MATERIAL_SAND = 7;
+}
diff --git a/protocol/proto/SceneTeamAvatar.proto b/protocol/proto/SceneTeamAvatar.proto
new file mode 100644
index 00000000..4f904732
--- /dev/null
+++ b/protocol/proto/SceneTeamAvatar.proto
@@ -0,0 +1,46 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityControlBlock.proto";
+import "AbilitySyncStateInfo.proto";
+import "AvatarInfo.proto";
+import "SceneAvatarInfo.proto";
+import "SceneEntityInfo.proto";
+import "ServerBuff.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneTeamAvatar {
+ AbilitySyncStateInfo avatar_ability_info = 5;
+ AvatarInfo avatar_info = 8;
+ bool is_on_scene = 152;
+ uint32 entity_id = 9;
+ uint64 avatar_guid = 15;
+ uint32 scene_id = 1;
+ uint32 weapon_entity_id = 7;
+ SceneAvatarInfo scene_avatar_info = 3;
+ uint64 weapon_guid = 4;
+ AbilitySyncStateInfo weapon_ability_info = 11;
+ SceneEntityInfo scene_entity_info = 12;
+ uint32 player_uid = 14;
+ bool is_reconnect = 6;
+ AbilityControlBlock ability_control_block = 2;
+ bool is_player_cur_avatar = 13;
+ repeated ServerBuff server_buff_list = 10;
+}
diff --git a/protocol/proto/SceneTeamUpdateNotify.proto b/protocol/proto/SceneTeamUpdateNotify.proto
new file mode 100644
index 00000000..12e6ea8e
--- /dev/null
+++ b/protocol/proto/SceneTeamUpdateNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SceneTeamAvatar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1775
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneTeamUpdateNotify {
+ repeated SceneTeamAvatar scene_team_avatar_list = 11;
+ bool is_in_mp = 15;
+}
diff --git a/protocol/proto/SceneTimeNotify.proto b/protocol/proto/SceneTimeNotify.proto
new file mode 100644
index 00000000..be48dfad
--- /dev/null
+++ b/protocol/proto/SceneTimeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 245
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneTimeNotify {
+ uint64 scene_time = 14;
+ bool is_paused = 1;
+ uint32 scene_id = 7;
+}
diff --git a/protocol/proto/SceneTransToPointReq.proto b/protocol/proto/SceneTransToPointReq.proto
new file mode 100644
index 00000000..80734714
--- /dev/null
+++ b/protocol/proto/SceneTransToPointReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 239
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneTransToPointReq {
+ uint32 scene_id = 13;
+ uint32 point_id = 1;
+}
diff --git a/protocol/proto/SceneTransToPointRsp.proto b/protocol/proto/SceneTransToPointRsp.proto
new file mode 100644
index 00000000..c1649294
--- /dev/null
+++ b/protocol/proto/SceneTransToPointRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 253
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneTransToPointRsp {
+ uint32 point_id = 14;
+ uint32 scene_id = 3;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/SceneWeaponInfo.proto b/protocol/proto/SceneWeaponInfo.proto
new file mode 100644
index 00000000..62e8f9db
--- /dev/null
+++ b/protocol/proto/SceneWeaponInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilitySyncStateInfo.proto";
+import "EntityRendererChangedInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SceneWeaponInfo {
+ uint32 entity_id = 1;
+ uint32 gadget_id = 2;
+ uint32 item_id = 3;
+ uint64 guid = 4;
+ uint32 level = 5;
+ uint32 promote_level = 6;
+ AbilitySyncStateInfo ability_info = 7;
+ map affix_map = 8;
+ EntityRendererChangedInfo renderer_changed_info = 9;
+}
diff --git a/protocol/proto/SceneWeatherForcastReq.proto b/protocol/proto/SceneWeatherForcastReq.proto
new file mode 100644
index 00000000..25cfcacb
--- /dev/null
+++ b/protocol/proto/SceneWeatherForcastReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3110
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SceneWeatherForcastReq {
+ uint32 weather_area_id = 15;
+}
diff --git a/protocol/proto/SceneWeatherForcastRsp.proto b/protocol/proto/SceneWeatherForcastRsp.proto
new file mode 100644
index 00000000..ecf4ea9f
--- /dev/null
+++ b/protocol/proto/SceneWeatherForcastRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3012
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SceneWeatherForcastRsp {
+ uint64 next_climate_time = 14;
+ repeated uint32 forcast_climate_list = 2;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/ScreenInfo.proto b/protocol/proto/ScreenInfo.proto
new file mode 100644
index 00000000..14170075
--- /dev/null
+++ b/protocol/proto/ScreenInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ScreenInfo {
+ uint32 live_id = 1;
+ uint32 projector_entity_id = 2;
+}
diff --git a/protocol/proto/SeaLampActivityDetailInfo.proto b/protocol/proto/SeaLampActivityDetailInfo.proto
new file mode 100644
index 00000000..d9bd9e66
--- /dev/null
+++ b/protocol/proto/SeaLampActivityDetailInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SeaLampActivityDetailInfo {
+ uint32 phase_id = 14;
+ repeated uint32 taken_phase_reward_list = 1;
+ repeated uint32 taken_contribution_reward_list = 7;
+ uint32 progress = 8;
+ uint32 contribution = 15;
+ uint32 factor = 13;
+ uint32 days = 4;
+}
diff --git a/protocol/proto/SeaLampActivityInfo.proto b/protocol/proto/SeaLampActivityInfo.proto
new file mode 100644
index 00000000..c779e91a
--- /dev/null
+++ b/protocol/proto/SeaLampActivityInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SeaLampSectionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SeaLampActivityInfo {
+ bool is_mechanicus_open = 14;
+ uint32 day_index = 1;
+ repeated SeaLampSectionInfo section_info_list = 6;
+ uint32 popularity = 10;
+ uint32 sea_lamp_coin = 15;
+ uint32 first_day_start_time = 11;
+ uint32 mechanicus_id = 9;
+ bool is_mechanicus_feature_close = 12;
+ bool is_content_closed = 5;
+}
diff --git a/protocol/proto/SeaLampCoinNotify.proto b/protocol/proto/SeaLampCoinNotify.proto
new file mode 100644
index 00000000..40f7ae2c
--- /dev/null
+++ b/protocol/proto/SeaLampCoinNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2114
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SeaLampCoinNotify {
+ uint32 sea_lamp_coin = 8;
+}
diff --git a/protocol/proto/SeaLampContributeItemReq.proto b/protocol/proto/SeaLampContributeItemReq.proto
new file mode 100644
index 00000000..14ba1d9d
--- /dev/null
+++ b/protocol/proto/SeaLampContributeItemReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2123
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SeaLampContributeItemReq {
+ uint32 activity_id = 8;
+ repeated ItemParam item_list = 1;
+}
diff --git a/protocol/proto/SeaLampContributeItemRsp.proto b/protocol/proto/SeaLampContributeItemRsp.proto
new file mode 100644
index 00000000..d4fb0859
--- /dev/null
+++ b/protocol/proto/SeaLampContributeItemRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2139
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SeaLampContributeItemRsp {
+ uint32 add_contribution = 7;
+ uint32 add_progress = 1;
+ uint32 total_contribution = 14;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/SeaLampFlyLampNotify.proto b/protocol/proto/SeaLampFlyLampNotify.proto
new file mode 100644
index 00000000..10c60b72
--- /dev/null
+++ b/protocol/proto/SeaLampFlyLampNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2105
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SeaLampFlyLampNotify {
+ Vector pos = 11;
+ uint32 item_num = 10;
+ uint32 item_id = 7;
+ int32 param = 5;
+}
diff --git a/protocol/proto/SeaLampFlyLampReq.proto b/protocol/proto/SeaLampFlyLampReq.proto
new file mode 100644
index 00000000..d7fa30c4
--- /dev/null
+++ b/protocol/proto/SeaLampFlyLampReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2199
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SeaLampFlyLampReq {
+ uint32 item_id = 9;
+ int32 param = 10;
+ Vector pos = 7;
+ uint32 item_num = 5;
+}
diff --git a/protocol/proto/SeaLampFlyLampRsp.proto b/protocol/proto/SeaLampFlyLampRsp.proto
new file mode 100644
index 00000000..f3bbf3c5
--- /dev/null
+++ b/protocol/proto/SeaLampFlyLampRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2192
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SeaLampFlyLampRsp {
+ uint32 item_num = 9;
+ uint32 item_id = 15;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/SeaLampPopularityNotify.proto b/protocol/proto/SeaLampPopularityNotify.proto
new file mode 100644
index 00000000..12b4a8be
--- /dev/null
+++ b/protocol/proto/SeaLampPopularityNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2032
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SeaLampPopularityNotify {
+ uint32 popularity = 4;
+}
diff --git a/protocol/proto/SeaLampSectionInfo.proto b/protocol/proto/SeaLampSectionInfo.proto
new file mode 100644
index 00000000..c6940a5f
--- /dev/null
+++ b/protocol/proto/SeaLampSectionInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SeaLampSectionInfo {
+ uint32 section_id = 11;
+}
diff --git a/protocol/proto/SeaLampTakeContributionRewardReq.proto b/protocol/proto/SeaLampTakeContributionRewardReq.proto
new file mode 100644
index 00000000..c23d498e
--- /dev/null
+++ b/protocol/proto/SeaLampTakeContributionRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2019
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SeaLampTakeContributionRewardReq {
+ uint32 activity_id = 4;
+ uint32 config_id = 10;
+}
diff --git a/protocol/proto/SeaLampTakeContributionRewardRsp.proto b/protocol/proto/SeaLampTakeContributionRewardRsp.proto
new file mode 100644
index 00000000..290965bc
--- /dev/null
+++ b/protocol/proto/SeaLampTakeContributionRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2177
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SeaLampTakeContributionRewardRsp {
+ uint32 config_id = 9;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/SeaLampTakePhaseRewardReq.proto b/protocol/proto/SeaLampTakePhaseRewardReq.proto
new file mode 100644
index 00000000..a5065f75
--- /dev/null
+++ b/protocol/proto/SeaLampTakePhaseRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2176
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SeaLampTakePhaseRewardReq {
+ uint32 phase_id = 12;
+ uint32 activity_id = 11;
+}
diff --git a/protocol/proto/SeaLampTakePhaseRewardRsp.proto b/protocol/proto/SeaLampTakePhaseRewardRsp.proto
new file mode 100644
index 00000000..acd4c648
--- /dev/null
+++ b/protocol/proto/SeaLampTakePhaseRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2190
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SeaLampTakePhaseRewardRsp {
+ uint32 phase_id = 2;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/SealBattleBeginNotify.proto b/protocol/proto/SealBattleBeginNotify.proto
new file mode 100644
index 00000000..019a4778
--- /dev/null
+++ b/protocol/proto/SealBattleBeginNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SealBattleType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 289
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SealBattleBeginNotify {
+ uint32 seal_max_progress = 9;
+ uint32 seal_entity_id = 1;
+ uint32 seal_radius = 12;
+ SealBattleType battle_type = 14;
+}
diff --git a/protocol/proto/SealBattleEndNotify.proto b/protocol/proto/SealBattleEndNotify.proto
new file mode 100644
index 00000000..d8507ae4
--- /dev/null
+++ b/protocol/proto/SealBattleEndNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 259
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SealBattleEndNotify {
+ bool is_win = 4;
+ uint32 seal_entity_id = 15;
+}
diff --git a/protocol/proto/SealBattleProgressNotify.proto b/protocol/proto/SealBattleProgressNotify.proto
new file mode 100644
index 00000000..f42d334b
--- /dev/null
+++ b/protocol/proto/SealBattleProgressNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 232
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SealBattleProgressNotify {
+ uint32 seal_entity_id = 9;
+ uint32 max_progress = 10;
+ uint32 seal_radius = 4;
+ uint32 progress = 5;
+ uint32 end_time = 2;
+}
diff --git a/protocol/proto/SealBattleType.proto b/protocol/proto/SealBattleType.proto
new file mode 100644
index 00000000..bd38d266
--- /dev/null
+++ b/protocol/proto/SealBattleType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum SealBattleType {
+ SEAL_BATTLE_TYPE_KEEP_ALIVE = 0;
+ SEAL_BATTLE_TYPE_KILL_MONSTER = 1;
+ SEAL_BATTLE_TYPE_ENERGY_CHARGE = 2;
+}
diff --git a/protocol/proto/SearchCustomDungeonReq.proto b/protocol/proto/SearchCustomDungeonReq.proto
new file mode 100644
index 00000000..0d0fac0e
--- /dev/null
+++ b/protocol/proto/SearchCustomDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6233
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SearchCustomDungeonReq {
+ string dungeon_code = 6;
+}
diff --git a/protocol/proto/SearchCustomDungeonRsp.proto b/protocol/proto/SearchCustomDungeonRsp.proto
new file mode 100644
index 00000000..ea8dbf86
--- /dev/null
+++ b/protocol/proto/SearchCustomDungeonRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OtherCustomDungeonBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6215
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SearchCustomDungeonRsp {
+ int32 retcode = 15;
+ OtherCustomDungeonBrief custom_dungeon_brief = 14;
+}
diff --git a/protocol/proto/SeeMonsterReq.proto b/protocol/proto/SeeMonsterReq.proto
new file mode 100644
index 00000000..42cd2825
--- /dev/null
+++ b/protocol/proto/SeeMonsterReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 228
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SeeMonsterReq {
+ uint32 monster_id = 7;
+}
diff --git a/protocol/proto/SeeMonsterRsp.proto b/protocol/proto/SeeMonsterRsp.proto
new file mode 100644
index 00000000..a50f97a8
--- /dev/null
+++ b/protocol/proto/SeeMonsterRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 251
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SeeMonsterRsp {
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/SeekFurnitureGalleryInfo.proto b/protocol/proto/SeekFurnitureGalleryInfo.proto
new file mode 100644
index 00000000..e10280c2
--- /dev/null
+++ b/protocol/proto/SeekFurnitureGalleryInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HomeSeekFurnitureOneRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SeekFurnitureGalleryInfo {
+ repeated HomeSeekFurnitureOneRecord record_list = 5;
+}
diff --git a/protocol/proto/SegmentCRCInfo.proto b/protocol/proto/SegmentCRCInfo.proto
new file mode 100644
index 00000000..80e6a69c
--- /dev/null
+++ b/protocol/proto/SegmentCRCInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SegmentCRCInfo {
+ uint32 module = 13;
+ int32 retcode = 5;
+ uint32 size = 10;
+ string crc = 3;
+ uint32 offset = 11;
+}
diff --git a/protocol/proto/SegmentInfo.proto b/protocol/proto/SegmentInfo.proto
new file mode 100644
index 00000000..0b87efec
--- /dev/null
+++ b/protocol/proto/SegmentInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SegmentInfo {
+ uint32 offset = 3;
+ uint32 module = 7;
+ uint32 size = 8;
+}
diff --git a/protocol/proto/SelectAsterMidDifficultyReq.proto b/protocol/proto/SelectAsterMidDifficultyReq.proto
new file mode 100644
index 00000000..8f2e7191
--- /dev/null
+++ b/protocol/proto/SelectAsterMidDifficultyReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2134
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SelectAsterMidDifficultyReq {
+ uint32 gadget_entity_id = 13;
+ uint32 schedule_id = 1;
+ uint32 difficulty_id = 5;
+}
diff --git a/protocol/proto/SelectAsterMidDifficultyRsp.proto b/protocol/proto/SelectAsterMidDifficultyRsp.proto
new file mode 100644
index 00000000..5528f57b
--- /dev/null
+++ b/protocol/proto/SelectAsterMidDifficultyRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2180
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SelectAsterMidDifficultyRsp {
+ int32 retcode = 15;
+ uint32 schedule_id = 2;
+ uint32 gadget_entity_id = 5;
+ uint32 difficulty_id = 14;
+}
diff --git a/protocol/proto/SelectEffigyChallengeConditionReq.proto b/protocol/proto/SelectEffigyChallengeConditionReq.proto
new file mode 100644
index 00000000..324611ec
--- /dev/null
+++ b/protocol/proto/SelectEffigyChallengeConditionReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2064
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SelectEffigyChallengeConditionReq {
+ uint32 difficulty_id = 15;
+ uint32 challenge_id = 7;
+ repeated uint32 condition_id_list = 9;
+}
diff --git a/protocol/proto/SelectEffigyChallengeConditionRsp.proto b/protocol/proto/SelectEffigyChallengeConditionRsp.proto
new file mode 100644
index 00000000..e4e75b4d
--- /dev/null
+++ b/protocol/proto/SelectEffigyChallengeConditionRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2039
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SelectEffigyChallengeConditionRsp {
+ repeated uint32 condition_id_list = 12;
+ int32 retcode = 6;
+ uint32 difficulty_id = 7;
+ uint32 challenge_id = 2;
+}
diff --git a/protocol/proto/SelectRoguelikeDungeonCardReq.proto b/protocol/proto/SelectRoguelikeDungeonCardReq.proto
new file mode 100644
index 00000000..1abfaf2a
--- /dev/null
+++ b/protocol/proto/SelectRoguelikeDungeonCardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8085
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SelectRoguelikeDungeonCardReq {
+ uint32 card_id = 13;
+}
diff --git a/protocol/proto/SelectRoguelikeDungeonCardRsp.proto b/protocol/proto/SelectRoguelikeDungeonCardRsp.proto
new file mode 100644
index 00000000..e1fe14d0
--- /dev/null
+++ b/protocol/proto/SelectRoguelikeDungeonCardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8138
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SelectRoguelikeDungeonCardRsp {
+ uint32 card_id = 9;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/SelectWorktopOptionReq.proto b/protocol/proto/SelectWorktopOptionReq.proto
new file mode 100644
index 00000000..30f35c75
--- /dev/null
+++ b/protocol/proto/SelectWorktopOptionReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 807
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SelectWorktopOptionReq {
+ uint32 gadget_entity_id = 12;
+ uint32 option_id = 11;
+}
diff --git a/protocol/proto/SelectWorktopOptionRsp.proto b/protocol/proto/SelectWorktopOptionRsp.proto
new file mode 100644
index 00000000..7a6b145b
--- /dev/null
+++ b/protocol/proto/SelectWorktopOptionRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 821
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SelectWorktopOptionRsp {
+ uint32 gadget_entity_id = 13;
+ uint32 option_id = 7;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/ServantInfo.proto b/protocol/proto/ServantInfo.proto
new file mode 100644
index 00000000..aa25d58a
--- /dev/null
+++ b/protocol/proto/ServantInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ServantInfo {
+ uint32 master_entity_id = 1;
+ uint32 born_slot_index = 2;
+}
diff --git a/protocol/proto/ServerAnnounceNotify.proto b/protocol/proto/ServerAnnounceNotify.proto
new file mode 100644
index 00000000..2b683a8b
--- /dev/null
+++ b/protocol/proto/ServerAnnounceNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AnnounceData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2197
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerAnnounceNotify {
+ repeated AnnounceData announce_data_list = 11;
+}
diff --git a/protocol/proto/ServerAnnounceRevokeNotify.proto b/protocol/proto/ServerAnnounceRevokeNotify.proto
new file mode 100644
index 00000000..7f8d4de7
--- /dev/null
+++ b/protocol/proto/ServerAnnounceRevokeNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2092
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerAnnounceRevokeNotify {
+ repeated uint32 config_id_list = 15;
+}
diff --git a/protocol/proto/ServerBuff.proto b/protocol/proto/ServerBuff.proto
new file mode 100644
index 00000000..623e15ae
--- /dev/null
+++ b/protocol/proto/ServerBuff.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ServerBuff {
+ uint32 server_buff_uid = 1;
+ uint32 server_buff_id = 2;
+ uint32 server_buff_type = 3;
+ uint32 instanced_modifier_id = 4;
+ bool is_modifier_added = 5;
+}
diff --git a/protocol/proto/ServerBuffChangeNotify.proto b/protocol/proto/ServerBuffChangeNotify.proto
new file mode 100644
index 00000000..0217ce94
--- /dev/null
+++ b/protocol/proto/ServerBuffChangeNotify.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ServerBuff.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 361
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerBuffChangeNotify {
+ ServerBuffChangeType server_buff_change_type = 7;
+ bool is_creature_buff = 10;
+ repeated uint32 entity_id_list = 1;
+ repeated uint64 avatar_guid_list = 12;
+ repeated ServerBuff server_buff_list = 11;
+
+ enum ServerBuffChangeType {
+ SERVER_BUFF_CHANGE_TYPE_ADD_SERVER_BUFF = 0;
+ SERVER_BUFF_CHANGE_TYPE_DEL_SERVER_BUFF = 1;
+ }
+}
diff --git a/protocol/proto/ServerCombatEndNotify.proto b/protocol/proto/ServerCombatEndNotify.proto
new file mode 100644
index 00000000..69c8edc1
--- /dev/null
+++ b/protocol/proto/ServerCombatEndNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1105
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerCombatEndNotify {
+ repeated uint32 combat_end_type_list = 14;
+}
diff --git a/protocol/proto/ServerCondMeetQuestListUpdateNotify.proto b/protocol/proto/ServerCondMeetQuestListUpdateNotify.proto
new file mode 100644
index 00000000..85ab8ec6
--- /dev/null
+++ b/protocol/proto/ServerCondMeetQuestListUpdateNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 406
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerCondMeetQuestListUpdateNotify {
+ repeated uint32 del_quest_id_list = 1;
+ repeated uint32 add_quest_id_list = 12;
+}
diff --git a/protocol/proto/ServerDisconnectClientNotify.proto b/protocol/proto/ServerDisconnectClientNotify.proto
new file mode 100644
index 00000000..059c9f48
--- /dev/null
+++ b/protocol/proto/ServerDisconnectClientNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 184
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerDisconnectClientNotify {
+ uint32 data = 10;
+}
diff --git a/protocol/proto/ServerGlobalValueChangeNotify.proto b/protocol/proto/ServerGlobalValueChangeNotify.proto
new file mode 100644
index 00000000..84109f01
--- /dev/null
+++ b/protocol/proto/ServerGlobalValueChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1197
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerGlobalValueChangeNotify {
+ uint32 entity_id = 6;
+ float value = 12;
+ uint32 key_hash = 13;
+}
diff --git a/protocol/proto/ServerLogLevel.proto b/protocol/proto/ServerLogLevel.proto
new file mode 100644
index 00000000..5d9b118e
--- /dev/null
+++ b/protocol/proto/ServerLogLevel.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ServerLogLevel {
+ SERVER_LOG_LEVEL_NONE = 0;
+ SERVER_LOG_LEVEL_DEBUG = 1;
+ SERVER_LOG_LEVEL_INFO = 2;
+ SERVER_LOG_LEVEL_WARNING = 3;
+ SERVER_LOG_LEVEL_ERROR = 4;
+}
diff --git a/protocol/proto/ServerLogNotify.proto b/protocol/proto/ServerLogNotify.proto
new file mode 100644
index 00000000..b73fc0b4
--- /dev/null
+++ b/protocol/proto/ServerLogNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ServerLogLevel.proto";
+import "ServerLogType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 31
+// EnetChannelId: 1
+// EnetIsReliable: true
+message ServerLogNotify {
+ string server_log = 7;
+ ServerLogType log_type = 9;
+ ServerLogLevel log_level = 15;
+}
diff --git a/protocol/proto/ServerLogType.proto b/protocol/proto/ServerLogType.proto
new file mode 100644
index 00000000..dd6d08ba
--- /dev/null
+++ b/protocol/proto/ServerLogType.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum ServerLogType {
+ SERVER_LOG_TYPE_NONE = 0;
+ SERVER_LOG_TYPE_ABILITY = 1;
+ SERVER_LOG_TYPE_LEVEL = 2;
+ SERVER_LOG_TYPE_ENTITY = 3;
+ SERVER_LOG_TYPE_LUA = 4;
+}
diff --git a/protocol/proto/ServerMassiveEntity.proto b/protocol/proto/ServerMassiveEntity.proto
new file mode 100644
index 00000000..e40b6193
--- /dev/null
+++ b/protocol/proto/ServerMassiveEntity.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MassiveBoxInfo.proto";
+import "MassiveGrassInfo.proto";
+import "MassiveWaterInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ServerMassiveEntity {
+ uint32 entity_type = 1;
+ uint32 config_id = 2;
+ uint32 runtime_id = 3;
+ uint32 authority_peer_id = 4;
+ int64 obj_id = 5;
+ oneof entity_info {
+ MassiveWaterInfo water_info = 6;
+ MassiveGrassInfo grass_info = 7;
+ MassiveBoxInfo box_info = 8;
+ }
+}
diff --git a/protocol/proto/ServerMessageNotify.proto b/protocol/proto/ServerMessageNotify.proto
new file mode 100644
index 00000000..9ccf3c9d
--- /dev/null
+++ b/protocol/proto/ServerMessageNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5718
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerMessageNotify {
+ uint32 index = 1;
+}
diff --git a/protocol/proto/ServerTimeNotify.proto b/protocol/proto/ServerTimeNotify.proto
new file mode 100644
index 00000000..7cbe8c6e
--- /dev/null
+++ b/protocol/proto/ServerTimeNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 99
+// EnetChannelId: 1
+// EnetIsReliable: true
+message ServerTimeNotify {
+ uint64 server_time = 5;
+}
diff --git a/protocol/proto/ServerTryCancelGeneralMatchNotify.proto b/protocol/proto/ServerTryCancelGeneralMatchNotify.proto
new file mode 100644
index 00000000..7b685fdd
--- /dev/null
+++ b/protocol/proto/ServerTryCancelGeneralMatchNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4187
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerTryCancelGeneralMatchNotify {
+ uint32 match_id = 9;
+}
diff --git a/protocol/proto/ServerUpdateGlobalValueNotify.proto b/protocol/proto/ServerUpdateGlobalValueNotify.proto
new file mode 100644
index 00000000..ca9ebdec
--- /dev/null
+++ b/protocol/proto/ServerUpdateGlobalValueNotify.proto
@@ -0,0 +1,37 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1148
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ServerUpdateGlobalValueNotify {
+ uint32 entity_id = 9;
+ UpdateType update_type = 13;
+ float delta = 3;
+ uint32 key_hash = 10;
+ float value = 6;
+
+ enum UpdateType {
+ UPDATE_TYPE_INVALID = 0;
+ UPDATE_TYPE_ADD = 1;
+ UPDATE_TYPE_SET = 2;
+ }
+}
diff --git a/protocol/proto/SetBattlePassViewedReq.proto b/protocol/proto/SetBattlePassViewedReq.proto
new file mode 100644
index 00000000..0657d6b4
--- /dev/null
+++ b/protocol/proto/SetBattlePassViewedReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2641
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetBattlePassViewedReq {
+ uint32 schedule_id = 6;
+}
diff --git a/protocol/proto/SetBattlePassViewedRsp.proto b/protocol/proto/SetBattlePassViewedRsp.proto
new file mode 100644
index 00000000..9724b367
--- /dev/null
+++ b/protocol/proto/SetBattlePassViewedRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2642
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetBattlePassViewedRsp {
+ uint32 schedule_id = 2;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/SetChatEmojiCollectionReq.proto b/protocol/proto/SetChatEmojiCollectionReq.proto
new file mode 100644
index 00000000..38ebba4a
--- /dev/null
+++ b/protocol/proto/SetChatEmojiCollectionReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ChatEmojiCollectionData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4084
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetChatEmojiCollectionReq {
+ ChatEmojiCollectionData chat_emoji_collection_data = 12;
+}
diff --git a/protocol/proto/SetChatEmojiCollectionRsp.proto b/protocol/proto/SetChatEmojiCollectionRsp.proto
new file mode 100644
index 00000000..117a865b
--- /dev/null
+++ b/protocol/proto/SetChatEmojiCollectionRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4080
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetChatEmojiCollectionRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/SetCodexPushtipsReadReq.proto b/protocol/proto/SetCodexPushtipsReadReq.proto
new file mode 100644
index 00000000..e4407ac4
--- /dev/null
+++ b/protocol/proto/SetCodexPushtipsReadReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4208
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetCodexPushtipsReadReq {
+ uint32 type_id = 2;
+ uint32 codex_id = 14;
+}
diff --git a/protocol/proto/SetCodexPushtipsReadRsp.proto b/protocol/proto/SetCodexPushtipsReadRsp.proto
new file mode 100644
index 00000000..35e0ac6d
--- /dev/null
+++ b/protocol/proto/SetCodexPushtipsReadRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4206
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetCodexPushtipsReadRsp {
+ int32 retcode = 10;
+ uint32 type_id = 5;
+ uint32 codex_id = 14;
+}
diff --git a/protocol/proto/SetCoopChapterViewedReq.proto b/protocol/proto/SetCoopChapterViewedReq.proto
new file mode 100644
index 00000000..58c86b57
--- /dev/null
+++ b/protocol/proto/SetCoopChapterViewedReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1965
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetCoopChapterViewedReq {
+ uint32 chapter_id = 2;
+}
diff --git a/protocol/proto/SetCoopChapterViewedRsp.proto b/protocol/proto/SetCoopChapterViewedRsp.proto
new file mode 100644
index 00000000..d4b63856
--- /dev/null
+++ b/protocol/proto/SetCoopChapterViewedRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1963
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetCoopChapterViewedRsp {
+ uint32 chapter_id = 11;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/SetCurExpeditionChallengeIdReq.proto b/protocol/proto/SetCurExpeditionChallengeIdReq.proto
new file mode 100644
index 00000000..54c7d100
--- /dev/null
+++ b/protocol/proto/SetCurExpeditionChallengeIdReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2021
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetCurExpeditionChallengeIdReq {
+ uint32 id = 5;
+}
diff --git a/protocol/proto/SetCurExpeditionChallengeIdRsp.proto b/protocol/proto/SetCurExpeditionChallengeIdRsp.proto
new file mode 100644
index 00000000..a1deea4d
--- /dev/null
+++ b/protocol/proto/SetCurExpeditionChallengeIdRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2049
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetCurExpeditionChallengeIdRsp {
+ uint32 id = 14;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/SetEntityClientDataNotify.proto b/protocol/proto/SetEntityClientDataNotify.proto
new file mode 100644
index 00000000..eaeb334c
--- /dev/null
+++ b/protocol/proto/SetEntityClientDataNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "EntityClientData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3146
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetEntityClientDataNotify {
+ uint32 entity_id = 14;
+ EntityClientData entity_client_data = 9;
+}
diff --git a/protocol/proto/SetEquipLockStateReq.proto b/protocol/proto/SetEquipLockStateReq.proto
new file mode 100644
index 00000000..f1e36b7f
--- /dev/null
+++ b/protocol/proto/SetEquipLockStateReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 666
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetEquipLockStateReq {
+ bool is_locked = 15;
+ uint64 target_equip_guid = 9;
+}
diff --git a/protocol/proto/SetEquipLockStateRsp.proto b/protocol/proto/SetEquipLockStateRsp.proto
new file mode 100644
index 00000000..c85eeec4
--- /dev/null
+++ b/protocol/proto/SetEquipLockStateRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 668
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetEquipLockStateRsp {
+ uint64 target_equip_guid = 14;
+ int32 retcode = 13;
+ bool is_locked = 10;
+}
diff --git a/protocol/proto/SetFriendEnterHomeOptionReq.proto b/protocol/proto/SetFriendEnterHomeOptionReq.proto
new file mode 100644
index 00000000..32aebc6b
--- /dev/null
+++ b/protocol/proto/SetFriendEnterHomeOptionReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FriendEnterHomeOption.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4494
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetFriendEnterHomeOptionReq {
+ FriendEnterHomeOption option = 7;
+}
diff --git a/protocol/proto/SetFriendEnterHomeOptionRsp.proto b/protocol/proto/SetFriendEnterHomeOptionRsp.proto
new file mode 100644
index 00000000..293ce0ef
--- /dev/null
+++ b/protocol/proto/SetFriendEnterHomeOptionRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4743
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetFriendEnterHomeOptionRsp {
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/SetFriendRemarkNameReq.proto b/protocol/proto/SetFriendRemarkNameReq.proto
new file mode 100644
index 00000000..34f25592
--- /dev/null
+++ b/protocol/proto/SetFriendRemarkNameReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4042
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetFriendRemarkNameReq {
+ uint32 uid = 10;
+ string remark_name = 8;
+}
diff --git a/protocol/proto/SetFriendRemarkNameRsp.proto b/protocol/proto/SetFriendRemarkNameRsp.proto
new file mode 100644
index 00000000..c98f3fd7
--- /dev/null
+++ b/protocol/proto/SetFriendRemarkNameRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4030
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetFriendRemarkNameRsp {
+ string remark_name = 13;
+ bool is_clear_remark = 3;
+ uint32 uid = 10;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/SetH5ActivityRedDotTimestampReq.proto b/protocol/proto/SetH5ActivityRedDotTimestampReq.proto
new file mode 100644
index 00000000..2daf1ac0
--- /dev/null
+++ b/protocol/proto/SetH5ActivityRedDotTimestampReq.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5657
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetH5ActivityRedDotTimestampReq {
+ uint32 client_red_dot_timestamp = 13;
+}
diff --git a/protocol/proto/SetH5ActivityRedDotTimestampRsp.proto b/protocol/proto/SetH5ActivityRedDotTimestampRsp.proto
new file mode 100644
index 00000000..86b07e21
--- /dev/null
+++ b/protocol/proto/SetH5ActivityRedDotTimestampRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5652
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetH5ActivityRedDotTimestampRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/SetIsAutoUnlockSpecificEquipReq.proto b/protocol/proto/SetIsAutoUnlockSpecificEquipReq.proto
new file mode 100644
index 00000000..f3624b72
--- /dev/null
+++ b/protocol/proto/SetIsAutoUnlockSpecificEquipReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 620
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetIsAutoUnlockSpecificEquipReq {
+ bool is_auto_unlock_specific_equip = 14;
+}
diff --git a/protocol/proto/SetIsAutoUnlockSpecificEquipRsp.proto b/protocol/proto/SetIsAutoUnlockSpecificEquipRsp.proto
new file mode 100644
index 00000000..5957e0fa
--- /dev/null
+++ b/protocol/proto/SetIsAutoUnlockSpecificEquipRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 664
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetIsAutoUnlockSpecificEquipRsp {
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/SetLimitOptimizationNotify.proto b/protocol/proto/SetLimitOptimizationNotify.proto
new file mode 100644
index 00000000..f3588fc4
--- /dev/null
+++ b/protocol/proto/SetLimitOptimizationNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8851
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetLimitOptimizationNotify {
+ bool is_active = 3;
+}
diff --git a/protocol/proto/SetNameCardReq.proto b/protocol/proto/SetNameCardReq.proto
new file mode 100644
index 00000000..fa944373
--- /dev/null
+++ b/protocol/proto/SetNameCardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4004
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetNameCardReq {
+ uint32 name_card_id = 10;
+}
diff --git a/protocol/proto/SetNameCardRsp.proto b/protocol/proto/SetNameCardRsp.proto
new file mode 100644
index 00000000..f811b0a6
--- /dev/null
+++ b/protocol/proto/SetNameCardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4093
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetNameCardRsp {
+ uint32 name_card_id = 11;
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/SetOpenStateReq.proto b/protocol/proto/SetOpenStateReq.proto
new file mode 100644
index 00000000..4bab2753
--- /dev/null
+++ b/protocol/proto/SetOpenStateReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 165
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetOpenStateReq {
+ uint32 key = 12;
+ uint32 value = 5;
+}
diff --git a/protocol/proto/SetOpenStateRsp.proto b/protocol/proto/SetOpenStateRsp.proto
new file mode 100644
index 00000000..cc3c11dd
--- /dev/null
+++ b/protocol/proto/SetOpenStateRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 104
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetOpenStateRsp {
+ uint32 key = 9;
+ int32 retcode = 14;
+ uint32 value = 15;
+}
diff --git a/protocol/proto/SetPlayerBirthdayReq.proto b/protocol/proto/SetPlayerBirthdayReq.proto
new file mode 100644
index 00000000..f025bbb3
--- /dev/null
+++ b/protocol/proto/SetPlayerBirthdayReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Birthday.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4048
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetPlayerBirthdayReq {
+ Birthday birthday = 9;
+}
diff --git a/protocol/proto/SetPlayerBirthdayRsp.proto b/protocol/proto/SetPlayerBirthdayRsp.proto
new file mode 100644
index 00000000..1798b4ab
--- /dev/null
+++ b/protocol/proto/SetPlayerBirthdayRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Birthday.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4097
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetPlayerBirthdayRsp {
+ Birthday birthday = 2;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/SetPlayerBornDataReq.proto b/protocol/proto/SetPlayerBornDataReq.proto
new file mode 100644
index 00000000..2fa90b72
--- /dev/null
+++ b/protocol/proto/SetPlayerBornDataReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 105
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetPlayerBornDataReq {
+ uint32 avatar_id = 2;
+ string nick_name = 13;
+}
diff --git a/protocol/proto/SetPlayerBornDataRsp.proto b/protocol/proto/SetPlayerBornDataRsp.proto
new file mode 100644
index 00000000..91a96d40
--- /dev/null
+++ b/protocol/proto/SetPlayerBornDataRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 182
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetPlayerBornDataRsp {
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/SetPlayerHeadImageReq.proto b/protocol/proto/SetPlayerHeadImageReq.proto
new file mode 100644
index 00000000..443fafd7
--- /dev/null
+++ b/protocol/proto/SetPlayerHeadImageReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4082
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetPlayerHeadImageReq {
+ uint32 avatar_id = 7;
+}
diff --git a/protocol/proto/SetPlayerHeadImageRsp.proto b/protocol/proto/SetPlayerHeadImageRsp.proto
new file mode 100644
index 00000000..4467c446
--- /dev/null
+++ b/protocol/proto/SetPlayerHeadImageRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4047
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetPlayerHeadImageRsp {
+ ProfilePicture profile_picture = 6;
+ uint32 avatar_id = 5;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/SetPlayerNameReq.proto b/protocol/proto/SetPlayerNameReq.proto
new file mode 100644
index 00000000..90a594e9
--- /dev/null
+++ b/protocol/proto/SetPlayerNameReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 153
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetPlayerNameReq {
+ string nick_name = 1;
+}
diff --git a/protocol/proto/SetPlayerNameRsp.proto b/protocol/proto/SetPlayerNameRsp.proto
new file mode 100644
index 00000000..2cf55b41
--- /dev/null
+++ b/protocol/proto/SetPlayerNameRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 122
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetPlayerNameRsp {
+ int32 retcode = 9;
+ string nick_name = 14;
+}
diff --git a/protocol/proto/SetPlayerPropReq.proto b/protocol/proto/SetPlayerPropReq.proto
new file mode 100644
index 00000000..ba390dc0
--- /dev/null
+++ b/protocol/proto/SetPlayerPropReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PropValue.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 197
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetPlayerPropReq {
+ repeated PropValue prop_list = 7;
+}
diff --git a/protocol/proto/SetPlayerPropRsp.proto b/protocol/proto/SetPlayerPropRsp.proto
new file mode 100644
index 00000000..5a02e3e9
--- /dev/null
+++ b/protocol/proto/SetPlayerPropRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 181
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetPlayerPropRsp {
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/SetPlayerSignatureReq.proto b/protocol/proto/SetPlayerSignatureReq.proto
new file mode 100644
index 00000000..557806e0
--- /dev/null
+++ b/protocol/proto/SetPlayerSignatureReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4081
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetPlayerSignatureReq {
+ string signature = 3;
+}
diff --git a/protocol/proto/SetPlayerSignatureRsp.proto b/protocol/proto/SetPlayerSignatureRsp.proto
new file mode 100644
index 00000000..6f7f58bb
--- /dev/null
+++ b/protocol/proto/SetPlayerSignatureRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4005
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetPlayerSignatureRsp {
+ string signature = 1;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/SetSceneWeatherAreaReq.proto b/protocol/proto/SetSceneWeatherAreaReq.proto
new file mode 100644
index 00000000..16cabace
--- /dev/null
+++ b/protocol/proto/SetSceneWeatherAreaReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 254
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetSceneWeatherAreaReq {
+ uint32 weather_gadget_id = 13;
+ map weather_value_map = 4;
+}
diff --git a/protocol/proto/SetSceneWeatherAreaRsp.proto b/protocol/proto/SetSceneWeatherAreaRsp.proto
new file mode 100644
index 00000000..a4882034
--- /dev/null
+++ b/protocol/proto/SetSceneWeatherAreaRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 283
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetSceneWeatherAreaRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/SetUpAvatarTeamReq.proto b/protocol/proto/SetUpAvatarTeamReq.proto
new file mode 100644
index 00000000..924f77d1
--- /dev/null
+++ b/protocol/proto/SetUpAvatarTeamReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1690
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetUpAvatarTeamReq {
+ uint32 team_id = 3;
+ repeated uint64 avatar_team_guid_list = 7;
+ uint64 cur_avatar_guid = 5;
+}
diff --git a/protocol/proto/SetUpAvatarTeamRsp.proto b/protocol/proto/SetUpAvatarTeamRsp.proto
new file mode 100644
index 00000000..9a4d122a
--- /dev/null
+++ b/protocol/proto/SetUpAvatarTeamRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1646
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetUpAvatarTeamRsp {
+ repeated uint64 avatar_team_guid_list = 1;
+ uint32 team_id = 6;
+ int32 retcode = 8;
+ uint64 cur_avatar_guid = 13;
+}
diff --git a/protocol/proto/SetUpLunchBoxWidgetReq.proto b/protocol/proto/SetUpLunchBoxWidgetReq.proto
new file mode 100644
index 00000000..a7a56625
--- /dev/null
+++ b/protocol/proto/SetUpLunchBoxWidgetReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LunchBoxData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4272
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetUpLunchBoxWidgetReq {
+ LunchBoxData lunch_box_data = 6;
+}
diff --git a/protocol/proto/SetUpLunchBoxWidgetRsp.proto b/protocol/proto/SetUpLunchBoxWidgetRsp.proto
new file mode 100644
index 00000000..61e89f6c
--- /dev/null
+++ b/protocol/proto/SetUpLunchBoxWidgetRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "LunchBoxData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4294
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetUpLunchBoxWidgetRsp {
+ LunchBoxData lunch_box_data = 3;
+ int32 retcode = 13;
+}
diff --git a/protocol/proto/SetWidgetSlotReq.proto b/protocol/proto/SetWidgetSlotReq.proto
new file mode 100644
index 00000000..88de6061
--- /dev/null
+++ b/protocol/proto/SetWidgetSlotReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetSlotOp.proto";
+import "WidgetSlotTag.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4259
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SetWidgetSlotReq {
+ repeated WidgetSlotTag tag_list = 15;
+ uint32 material_id = 6;
+ WidgetSlotOp op = 2;
+}
diff --git a/protocol/proto/SetWidgetSlotRsp.proto b/protocol/proto/SetWidgetSlotRsp.proto
new file mode 100644
index 00000000..94d5ce3f
--- /dev/null
+++ b/protocol/proto/SetWidgetSlotRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetSlotOp.proto";
+import "WidgetSlotTag.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4277
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SetWidgetSlotRsp {
+ repeated WidgetSlotTag tag_list = 15;
+ int32 retcode = 6;
+ uint32 material_id = 1;
+ WidgetSlotOp op = 4;
+}
diff --git a/protocol/proto/ShapeBox.proto b/protocol/proto/ShapeBox.proto
new file mode 100644
index 00000000..c76167d1
--- /dev/null
+++ b/protocol/proto/ShapeBox.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShapeBox {
+ Vector center = 1;
+ Vector axis0 = 2;
+ Vector axis1 = 3;
+ Vector axis2 = 4;
+ Vector extents = 5;
+}
diff --git a/protocol/proto/ShapeSphere.proto b/protocol/proto/ShapeSphere.proto
new file mode 100644
index 00000000..c1d8c025
--- /dev/null
+++ b/protocol/proto/ShapeSphere.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShapeSphere {
+ Vector center = 1;
+ float radius = 2;
+}
diff --git a/protocol/proto/ShareCDInfo.proto b/protocol/proto/ShareCDInfo.proto
new file mode 100644
index 00000000..08dfcc22
--- /dev/null
+++ b/protocol/proto/ShareCDInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShareCDInfo {
+ uint32 index = 2;
+ uint64 cd_start_time = 14;
+ uint32 share_cd_id = 12;
+}
diff --git a/protocol/proto/Shop.proto b/protocol/proto/Shop.proto
new file mode 100644
index 00000000..0a052963
--- /dev/null
+++ b/protocol/proto/Shop.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ShopCardProduct.proto";
+import "ShopConcertProduct.proto";
+import "ShopGoods.proto";
+import "ShopMcoinProduct.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Shop {
+ repeated ShopConcertProduct concert_product_list = 3;
+ repeated ShopGoods goods_list = 15;
+ uint32 city_reputation_level = 2;
+ repeated ShopCardProduct card_product_list = 14;
+ repeated ShopMcoinProduct mcoin_product_list = 7;
+ uint32 next_refresh_time = 11;
+ uint32 city_id = 10;
+ uint32 shop_type = 13;
+}
diff --git a/protocol/proto/ShopCardProduct.proto b/protocol/proto/ShopCardProduct.proto
new file mode 100644
index 00000000..13d3e1a6
--- /dev/null
+++ b/protocol/proto/ShopCardProduct.proto
@@ -0,0 +1,40 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShopCardProduct {
+ string product_id = 1;
+ string price_tier = 2;
+ uint32 mcoin_base = 3;
+ uint32 hcoin_per_day = 4;
+ uint32 days = 5;
+ uint32 remain_reward_days = 6;
+ uint32 card_product_type = 7;
+ oneof extra_card_data {
+ ResinCard resin_card = 101;
+ }
+
+ message ResinCard {
+ repeated ItemParam base_item_list = 1;
+ repeated ItemParam per_day_item_list = 2;
+ }
+}
diff --git a/protocol/proto/ShopConcertProduct.proto b/protocol/proto/ShopConcertProduct.proto
new file mode 100644
index 00000000..eb521ab5
--- /dev/null
+++ b/protocol/proto/ShopConcertProduct.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShopConcertProduct {
+ string product_id = 1;
+ string price_tier = 2;
+ uint32 obtain_count = 3;
+ uint32 obtain_limit = 4;
+ uint32 begin_time = 5;
+ uint32 end_time = 6;
+ uint32 buy_times = 7;
+}
diff --git a/protocol/proto/ShopGoods.proto b/protocol/proto/ShopGoods.proto
new file mode 100644
index 00000000..47733a88
--- /dev/null
+++ b/protocol/proto/ShopGoods.proto
@@ -0,0 +1,45 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShopGoods {
+ uint32 discount_end_time = 258;
+ uint32 min_level = 8;
+ uint32 end_time = 11;
+ repeated ItemParam cost_item_list = 3;
+ uint32 secondary_sheet_id = 318;
+ uint32 hcoin = 1;
+ uint32 mcoin = 14;
+ uint32 discount_id = 1998;
+ uint32 single_limit = 247;
+ uint32 goods_id = 13;
+ uint32 next_refresh_time = 7;
+ uint32 max_level = 4;
+ uint32 disable_type = 6;
+ uint32 discount_begin_time = 574;
+ repeated uint32 pre_goods_id_list = 2;
+ uint32 begin_time = 5;
+ uint32 scoin = 15;
+ uint32 bought_num = 10;
+ uint32 buy_limit = 12;
+ ItemParam goods_item = 9;
+}
diff --git a/protocol/proto/ShopMcoinProduct.proto b/protocol/proto/ShopMcoinProduct.proto
new file mode 100644
index 00000000..9c8268c0
--- /dev/null
+++ b/protocol/proto/ShopMcoinProduct.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShopMcoinProduct {
+ string product_id = 1;
+ string price_tier = 2;
+ uint32 mcoin_base = 3;
+ uint32 mcoin_non_first = 4;
+ uint32 mcoin_first = 5;
+ uint32 bought_num = 6;
+ bool is_audit = 7;
+}
diff --git a/protocol/proto/ShortAbilityHashPair.proto b/protocol/proto/ShortAbilityHashPair.proto
new file mode 100644
index 00000000..fed3d891
--- /dev/null
+++ b/protocol/proto/ShortAbilityHashPair.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShortAbilityHashPair {
+ sfixed32 ability_config_hash = 15;
+ sfixed32 ability_name_hash = 1;
+}
diff --git a/protocol/proto/ShowAvatarInfo.proto b/protocol/proto/ShowAvatarInfo.proto
new file mode 100644
index 00000000..13987128
--- /dev/null
+++ b/protocol/proto/ShowAvatarInfo.proto
@@ -0,0 +1,41 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarExcelInfo.proto";
+import "AvatarFetterInfo.proto";
+import "PropValue.proto";
+import "ShowEquip.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShowAvatarInfo {
+ uint32 avatar_id = 1;
+ map prop_map = 2;
+ repeated uint32 talent_id_list = 3;
+ map fight_prop_map = 4;
+ uint32 skill_depot_id = 5;
+ uint32 core_proud_skill_level = 6;
+ repeated uint32 inherent_proud_skill_list = 7;
+ map skill_level_map = 8;
+ map proud_skill_extra_level_map = 9;
+ repeated ShowEquip equip_list = 10;
+ AvatarFetterInfo fetter_info = 11;
+ uint32 costume_id = 12;
+ AvatarExcelInfo excel_info = 13;
+}
diff --git a/protocol/proto/ShowClientGuideNotify.proto b/protocol/proto/ShowClientGuideNotify.proto
new file mode 100644
index 00000000..186ce4a8
--- /dev/null
+++ b/protocol/proto/ShowClientGuideNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3005
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ShowClientGuideNotify {
+ string guide_name = 7;
+}
diff --git a/protocol/proto/ShowClientTutorialNotify.proto b/protocol/proto/ShowClientTutorialNotify.proto
new file mode 100644
index 00000000..5c481b6d
--- /dev/null
+++ b/protocol/proto/ShowClientTutorialNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3305
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ShowClientTutorialNotify {
+ uint32 tutorial_id = 2;
+}
diff --git a/protocol/proto/ShowCommonTipsNotify.proto b/protocol/proto/ShowCommonTipsNotify.proto
new file mode 100644
index 00000000..394fbf3f
--- /dev/null
+++ b/protocol/proto/ShowCommonTipsNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3352
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ShowCommonTipsNotify {
+ string content = 8;
+ string title = 13;
+ uint32 close_time = 4;
+}
diff --git a/protocol/proto/ShowEquip.proto b/protocol/proto/ShowEquip.proto
new file mode 100644
index 00000000..8e465cf4
--- /dev/null
+++ b/protocol/proto/ShowEquip.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Reliquary.proto";
+import "Weapon.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ShowEquip {
+ uint32 item_id = 1;
+ oneof detail {
+ Reliquary reliquary = 2;
+ Weapon weapon = 3;
+ }
+}
diff --git a/protocol/proto/ShowMessageNotify.proto b/protocol/proto/ShowMessageNotify.proto
new file mode 100644
index 00000000..87bf068d
--- /dev/null
+++ b/protocol/proto/ShowMessageNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MsgParam.proto";
+import "SvrMsgId.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 35
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ShowMessageNotify {
+ SvrMsgId msg_id = 14;
+ repeated MsgParam params = 13;
+}
diff --git a/protocol/proto/ShowTemplateReminderNotify.proto b/protocol/proto/ShowTemplateReminderNotify.proto
new file mode 100644
index 00000000..ede2b096
--- /dev/null
+++ b/protocol/proto/ShowTemplateReminderNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3491
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ShowTemplateReminderNotify {
+ bool is_revoke = 1;
+ uint32 template_reminder_id = 14;
+ repeated uint32 param_uid_list = 3;
+ repeated int32 param_list = 10;
+ bool is_need_cache = 15;
+}
diff --git a/protocol/proto/SignInData.proto b/protocol/proto/SignInData.proto
new file mode 100644
index 00000000..a04fcccf
--- /dev/null
+++ b/protocol/proto/SignInData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SignInData {
+ uint32 day_count = 14;
+ repeated ItemParam reward_item_list = 5;
+}
diff --git a/protocol/proto/SignInInfo.proto b/protocol/proto/SignInInfo.proto
new file mode 100644
index 00000000..91b49622
--- /dev/null
+++ b/protocol/proto/SignInInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SignInData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SignInInfo {
+ bool is_cond_satisfied = 7;
+ repeated uint32 reward_day_list = 15;
+ repeated SignInData signin_data_list = 12;
+ uint32 config_id = 8;
+ uint32 sign_in_count = 2;
+ uint32 schedule_id = 3;
+ uint32 end_time = 13;
+ uint32 last_sign_in_time = 6;
+ uint32 begin_time = 5;
+}
diff --git a/protocol/proto/SignInInfoReq.proto b/protocol/proto/SignInInfoReq.proto
new file mode 100644
index 00000000..60329126
--- /dev/null
+++ b/protocol/proto/SignInInfoReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2512
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SignInInfoReq {}
diff --git a/protocol/proto/SignInInfoRsp.proto b/protocol/proto/SignInInfoRsp.proto
new file mode 100644
index 00000000..6dae4954
--- /dev/null
+++ b/protocol/proto/SignInInfoRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SignInInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2535
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SignInInfoRsp {
+ repeated SignInInfo sign_in_info_list = 1;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/SignatureAuditConfigNotify.proto b/protocol/proto/SignatureAuditConfigNotify.proto
new file mode 100644
index 00000000..8bc3bab5
--- /dev/null
+++ b/protocol/proto/SignatureAuditConfigNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4092
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SignatureAuditConfigNotify {
+ bool is_open = 9;
+ uint32 submit_limit = 10;
+}
diff --git a/protocol/proto/SkyCrystalDetectorData.proto b/protocol/proto/SkyCrystalDetectorData.proto
new file mode 100644
index 00000000..0ceea5fc
--- /dev/null
+++ b/protocol/proto/SkyCrystalDetectorData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SkyCrystalDetectorData {
+ bool is_hint_valid = 3;
+ Vector hint_center_pos = 8;
+ uint32 group_id = 6;
+ uint32 config_id = 9;
+}
diff --git a/protocol/proto/SkyCrystalDetectorDataUpdateNotify.proto b/protocol/proto/SkyCrystalDetectorDataUpdateNotify.proto
new file mode 100644
index 00000000..ec55010a
--- /dev/null
+++ b/protocol/proto/SkyCrystalDetectorDataUpdateNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SkyCrystalDetectorData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4287
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SkyCrystalDetectorDataUpdateNotify {
+ SkyCrystalDetectorData sky_crystal_detector_data = 9;
+}
diff --git a/protocol/proto/SkyCrystalDetectorQuickUseResult.proto b/protocol/proto/SkyCrystalDetectorQuickUseResult.proto
new file mode 100644
index 00000000..0ba9ba4d
--- /dev/null
+++ b/protocol/proto/SkyCrystalDetectorQuickUseResult.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SkyCrystalDetectorData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SkyCrystalDetectorQuickUseResult {
+ SkyCrystalDetectorData sky_crystal_detector_data = 9;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/SocialDataNotify.proto b/protocol/proto/SocialDataNotify.proto
new file mode 100644
index 00000000..db95597a
--- /dev/null
+++ b/protocol/proto/SocialDataNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4043
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SocialDataNotify {
+ bool is_have_first_share = 11;
+}
diff --git a/protocol/proto/SocialDetail.proto b/protocol/proto/SocialDetail.proto
new file mode 100644
index 00000000..33bd23ea
--- /dev/null
+++ b/protocol/proto/SocialDetail.proto
@@ -0,0 +1,54 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Birthday.proto";
+import "FriendEnterHomeOption.proto";
+import "FriendOnlineState.proto";
+import "ProfilePicture.proto";
+import "SocialShowAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SocialDetail {
+ uint32 uid = 1;
+ string nickname = 2;
+ uint32 level = 3;
+ uint32 avatar_id = 4;
+ string signature = 5;
+ Birthday birthday = 6;
+ uint32 world_level = 7;
+ repeated uint32 reserved_list = 8;
+ FriendOnlineState online_state = 9;
+ uint32 param = 10;
+ bool is_friend = 11;
+ bool is_mp_mode_available = 12;
+ string online_id = 13;
+ uint32 name_card_id = 14;
+ bool is_in_blacklist = 15;
+ bool is_chat_no_disturb = 16;
+ string remark_name = 17;
+ uint32 finish_achievement_num = 18;
+ uint32 tower_floor_index = 19;
+ uint32 tower_level_index = 20;
+ bool is_show_avatar = 21;
+ repeated SocialShowAvatarInfo show_avatar_info_list = 22;
+ repeated uint32 show_name_card_id_list = 23;
+ FriendEnterHomeOption friend_enter_home_option = 24;
+ ProfilePicture profile_picture = 25;
+}
diff --git a/protocol/proto/SocialShowAvatarInfo.proto b/protocol/proto/SocialShowAvatarInfo.proto
new file mode 100644
index 00000000..7b65ff39
--- /dev/null
+++ b/protocol/proto/SocialShowAvatarInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SocialShowAvatarInfo {
+ uint32 avatar_id = 1;
+ uint32 level = 2;
+ uint32 costume_id = 3;
+}
diff --git a/protocol/proto/SpiceActivityDetailInfo.proto b/protocol/proto/SpiceActivityDetailInfo.proto
new file mode 100644
index 00000000..12c4b1e0
--- /dev/null
+++ b/protocol/proto/SpiceActivityDetailInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SpiceStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SpiceActivityDetailInfo {
+ uint32 current_increase_avatar_fetter_times = 15;
+ repeated SpiceStageData spice_stage_list = 7;
+ uint32 increase_avatar_fetter_limit_times = 13;
+}
diff --git a/protocol/proto/SpiceActivityFinishMakeSpiceReq.proto b/protocol/proto/SpiceActivityFinishMakeSpiceReq.proto
new file mode 100644
index 00000000..6182fff6
--- /dev/null
+++ b/protocol/proto/SpiceActivityFinishMakeSpiceReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8096
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SpiceActivityFinishMakeSpiceReq {
+ uint32 left_turns = 4;
+ bool is_success = 9;
+ repeated uint32 left_material_id_list = 12;
+ uint32 stage_id = 15;
+}
diff --git a/protocol/proto/SpiceActivityFinishMakeSpiceRsp.proto b/protocol/proto/SpiceActivityFinishMakeSpiceRsp.proto
new file mode 100644
index 00000000..fe1b7653
--- /dev/null
+++ b/protocol/proto/SpiceActivityFinishMakeSpiceRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8481
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SpiceActivityFinishMakeSpiceRsp {
+ uint32 stage_id = 13;
+ int32 retcode = 14;
+ bool is_success = 3;
+}
diff --git a/protocol/proto/SpiceActivityGivingRecordNotify.proto b/protocol/proto/SpiceActivityGivingRecordNotify.proto
new file mode 100644
index 00000000..f55f5ec9
--- /dev/null
+++ b/protocol/proto/SpiceActivityGivingRecordNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8407
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SpiceActivityGivingRecordNotify {
+ uint32 current_increase_avatar_fetter_times = 3;
+ uint32 increase_avatar_fetter_limit_times = 7;
+ uint32 avatar_id = 11;
+}
diff --git a/protocol/proto/SpiceActivityProcessFoodReq.proto b/protocol/proto/SpiceActivityProcessFoodReq.proto
new file mode 100644
index 00000000..abf15182
--- /dev/null
+++ b/protocol/proto/SpiceActivityProcessFoodReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8216
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SpiceActivityProcessFoodReq {
+ repeated ItemParam normal_food_list = 1;
+}
diff --git a/protocol/proto/SpiceActivityProcessFoodRsp.proto b/protocol/proto/SpiceActivityProcessFoodRsp.proto
new file mode 100644
index 00000000..4dff550f
--- /dev/null
+++ b/protocol/proto/SpiceActivityProcessFoodRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8772
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SpiceActivityProcessFoodRsp {
+ int32 retcode = 9;
+ repeated ItemParam special_food_list = 14;
+ repeated ItemParam normal_food_list = 1;
+}
diff --git a/protocol/proto/SpiceStageData.proto b/protocol/proto/SpiceStageData.proto
new file mode 100644
index 00000000..5bd03056
--- /dev/null
+++ b/protocol/proto/SpiceStageData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SpiceStageData {
+ bool is_open = 12;
+ uint32 success_times = 1;
+ uint32 stage_id = 6;
+}
diff --git a/protocol/proto/SpringUseReq.proto b/protocol/proto/SpringUseReq.proto
new file mode 100644
index 00000000..c3ea3c01
--- /dev/null
+++ b/protocol/proto/SpringUseReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1748
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SpringUseReq {
+ uint64 guid = 11;
+}
diff --git a/protocol/proto/SpringUseRsp.proto b/protocol/proto/SpringUseRsp.proto
new file mode 100644
index 00000000..a5337f85
--- /dev/null
+++ b/protocol/proto/SpringUseRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1642
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SpringUseRsp {
+ uint64 guid = 3;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/StartArenaChallengeLevelReq.proto b/protocol/proto/StartArenaChallengeLevelReq.proto
new file mode 100644
index 00000000..ada027e4
--- /dev/null
+++ b/protocol/proto/StartArenaChallengeLevelReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2127
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StartArenaChallengeLevelReq {
+ uint32 arena_challenge_id = 4;
+ uint32 gadget_entity_id = 5;
+ uint32 arena_challenge_level = 2;
+}
diff --git a/protocol/proto/StartArenaChallengeLevelRsp.proto b/protocol/proto/StartArenaChallengeLevelRsp.proto
new file mode 100644
index 00000000..2339229e
--- /dev/null
+++ b/protocol/proto/StartArenaChallengeLevelRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2125
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StartArenaChallengeLevelRsp {
+ uint32 arena_challenge_level = 1;
+ int32 retcode = 9;
+ uint32 gadget_entity_id = 3;
+ uint32 arena_challenge_id = 6;
+}
diff --git a/protocol/proto/StartBuoyantCombatGalleryReq.proto b/protocol/proto/StartBuoyantCombatGalleryReq.proto
new file mode 100644
index 00000000..979707d5
--- /dev/null
+++ b/protocol/proto/StartBuoyantCombatGalleryReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8732
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StartBuoyantCombatGalleryReq {
+ uint32 gallery_id = 15;
+ uint32 gallery_level = 13;
+}
diff --git a/protocol/proto/StartBuoyantCombatGalleryRsp.proto b/protocol/proto/StartBuoyantCombatGalleryRsp.proto
new file mode 100644
index 00000000..7e94a5c9
--- /dev/null
+++ b/protocol/proto/StartBuoyantCombatGalleryRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8680
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StartBuoyantCombatGalleryRsp {
+ uint32 gallery_level = 12;
+ int32 retcode = 5;
+ uint32 gallery_id = 8;
+}
diff --git a/protocol/proto/StartCoopPointReq.proto b/protocol/proto/StartCoopPointReq.proto
new file mode 100644
index 00000000..37fa84bf
--- /dev/null
+++ b/protocol/proto/StartCoopPointReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1992
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StartCoopPointReq {
+ uint32 coop_point = 7;
+}
diff --git a/protocol/proto/StartCoopPointRsp.proto b/protocol/proto/StartCoopPointRsp.proto
new file mode 100644
index 00000000..355e67c3
--- /dev/null
+++ b/protocol/proto/StartCoopPointRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MainCoop.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1964
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StartCoopPointRsp {
+ bool is_start = 9;
+ MainCoop start_main_coop = 15;
+ uint32 coop_point = 13;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/StartEffigyChallengeReq.proto b/protocol/proto/StartEffigyChallengeReq.proto
new file mode 100644
index 00000000..69a057da
--- /dev/null
+++ b/protocol/proto/StartEffigyChallengeReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2169
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StartEffigyChallengeReq {
+ uint32 difficulty_id = 9;
+ repeated uint32 condition_id_list = 6;
+ uint32 challenge_id = 1;
+ uint32 point_id = 12;
+}
diff --git a/protocol/proto/StartEffigyChallengeRsp.proto b/protocol/proto/StartEffigyChallengeRsp.proto
new file mode 100644
index 00000000..958171fc
--- /dev/null
+++ b/protocol/proto/StartEffigyChallengeRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2173
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StartEffigyChallengeRsp {
+ repeated uint32 condition_id_list = 2;
+ int32 retcode = 8;
+ uint32 challenge_id = 15;
+ uint32 difficulty_id = 10;
+ uint32 point_id = 12;
+}
diff --git a/protocol/proto/StartFishingReq.proto b/protocol/proto/StartFishingReq.proto
new file mode 100644
index 00000000..d37245cd
--- /dev/null
+++ b/protocol/proto/StartFishingReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5825
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StartFishingReq {
+ uint32 rod_entity_id = 5;
+ uint32 fish_pool_id = 15;
+}
diff --git a/protocol/proto/StartFishingRsp.proto b/protocol/proto/StartFishingRsp.proto
new file mode 100644
index 00000000..7fcc96c7
--- /dev/null
+++ b/protocol/proto/StartFishingRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5807
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StartFishingRsp {
+ int32 retcode = 1;
+ uint32 fish_pool_id = 14;
+}
diff --git a/protocol/proto/StartRogueDiaryPlayReq.proto b/protocol/proto/StartRogueDiaryPlayReq.proto
new file mode 100644
index 00000000..2a9e968d
--- /dev/null
+++ b/protocol/proto/StartRogueDiaryPlayReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8419
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StartRogueDiaryPlayReq {
+ uint32 difficulty = 1;
+ uint32 stage_id = 12;
+}
diff --git a/protocol/proto/StartRogueDiaryPlayRsp.proto b/protocol/proto/StartRogueDiaryPlayRsp.proto
new file mode 100644
index 00000000..7bdec71a
--- /dev/null
+++ b/protocol/proto/StartRogueDiaryPlayRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueDiaryAvatar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8385
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StartRogueDiaryPlayRsp {
+ int32 retcode = 11;
+ repeated RogueDiaryAvatar trial_avatar_list = 13;
+ repeated uint32 rand_card_list = 12;
+ repeated RogueDiaryAvatar avatar_list = 9;
+}
diff --git a/protocol/proto/StartRogueDiaryRoomReq.proto b/protocol/proto/StartRogueDiaryRoomReq.proto
new file mode 100644
index 00000000..160a2d8a
--- /dev/null
+++ b/protocol/proto/StartRogueDiaryRoomReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8159
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StartRogueDiaryRoomReq {
+ uint32 room_difficulty = 13;
+ bool is_select_hard = 1;
+}
diff --git a/protocol/proto/StartRogueDiaryRoomRsp.proto b/protocol/proto/StartRogueDiaryRoomRsp.proto
new file mode 100644
index 00000000..7e92dc79
--- /dev/null
+++ b/protocol/proto/StartRogueDiaryRoomRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8793
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StartRogueDiaryRoomRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/StartRogueEliteCellChallengeReq.proto b/protocol/proto/StartRogueEliteCellChallengeReq.proto
new file mode 100644
index 00000000..17f0e84d
--- /dev/null
+++ b/protocol/proto/StartRogueEliteCellChallengeReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RogueEliteCellDifficultyType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8242
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StartRogueEliteCellChallengeReq {
+ RogueEliteCellDifficultyType difficulty = 1;
+ uint32 dungeon_id = 11;
+ uint32 cell_id = 4;
+}
diff --git a/protocol/proto/StartRogueEliteCellChallengeRsp.proto b/protocol/proto/StartRogueEliteCellChallengeRsp.proto
new file mode 100644
index 00000000..8c031ca8
--- /dev/null
+++ b/protocol/proto/StartRogueEliteCellChallengeRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8958
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StartRogueEliteCellChallengeRsp {
+ uint32 dungeon_id = 12;
+ uint32 cell_id = 9;
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/StartRogueNormalCellChallengeReq.proto b/protocol/proto/StartRogueNormalCellChallengeReq.proto
new file mode 100644
index 00000000..72520cd6
--- /dev/null
+++ b/protocol/proto/StartRogueNormalCellChallengeReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8205
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StartRogueNormalCellChallengeReq {
+ uint32 dungeon_id = 3;
+ uint32 cell_id = 8;
+}
diff --git a/protocol/proto/StartRogueNormalCellChallengeRsp.proto b/protocol/proto/StartRogueNormalCellChallengeRsp.proto
new file mode 100644
index 00000000..7d813f42
--- /dev/null
+++ b/protocol/proto/StartRogueNormalCellChallengeRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8036
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StartRogueNormalCellChallengeRsp {
+ uint32 dungeon_id = 10;
+ uint32 cell_id = 2;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/StatueGadgetInfo.proto b/protocol/proto/StatueGadgetInfo.proto
new file mode 100644
index 00000000..708a7602
--- /dev/null
+++ b/protocol/proto/StatueGadgetInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message StatueGadgetInfo {
+ repeated uint32 opened_statue_uid_list = 1;
+}
diff --git a/protocol/proto/StopReminderNotify.proto b/protocol/proto/StopReminderNotify.proto
new file mode 100644
index 00000000..1af7d0b3
--- /dev/null
+++ b/protocol/proto/StopReminderNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3004
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StopReminderNotify {
+ uint32 reminder_id = 15;
+}
diff --git a/protocol/proto/StopServerInfo.proto b/protocol/proto/StopServerInfo.proto
new file mode 100644
index 00000000..3661dbd0
--- /dev/null
+++ b/protocol/proto/StopServerInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message StopServerInfo {
+ uint32 stop_begin_time = 1;
+ uint32 stop_end_time = 2;
+ string url = 3;
+ string content_msg = 4;
+}
diff --git a/protocol/proto/StoreCustomDungeonReq.proto b/protocol/proto/StoreCustomDungeonReq.proto
new file mode 100644
index 00000000..e25930c3
--- /dev/null
+++ b/protocol/proto/StoreCustomDungeonReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6213
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message StoreCustomDungeonReq {
+ bool is_cancel_store = 9;
+ uint64 dungeon_guid = 11;
+}
diff --git a/protocol/proto/StoreCustomDungeonRsp.proto b/protocol/proto/StoreCustomDungeonRsp.proto
new file mode 100644
index 00000000..a4cdeb82
--- /dev/null
+++ b/protocol/proto/StoreCustomDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6201
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StoreCustomDungeonRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/StoreItemChangeNotify.proto b/protocol/proto/StoreItemChangeNotify.proto
new file mode 100644
index 00000000..e619de49
--- /dev/null
+++ b/protocol/proto/StoreItemChangeNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Item.proto";
+import "StoreType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 612
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StoreItemChangeNotify {
+ StoreType store_type = 12;
+ repeated Item item_list = 10;
+}
diff --git a/protocol/proto/StoreItemDelNotify.proto b/protocol/proto/StoreItemDelNotify.proto
new file mode 100644
index 00000000..a2dbe59b
--- /dev/null
+++ b/protocol/proto/StoreItemDelNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "StoreType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 635
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StoreItemDelNotify {
+ repeated uint64 guid_list = 12;
+ StoreType store_type = 15;
+}
diff --git a/protocol/proto/StoreType.proto b/protocol/proto/StoreType.proto
new file mode 100644
index 00000000..54acdc43
--- /dev/null
+++ b/protocol/proto/StoreType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum StoreType {
+ STORE_TYPE_NONE = 0;
+ STORE_TYPE_PACK = 1;
+ STORE_TYPE_DEPOT = 2;
+}
diff --git a/protocol/proto/StoreWeightLimitNotify.proto b/protocol/proto/StoreWeightLimitNotify.proto
new file mode 100644
index 00000000..01674756
--- /dev/null
+++ b/protocol/proto/StoreWeightLimitNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "StoreType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 698
+// EnetChannelId: 0
+// EnetIsReliable: true
+message StoreWeightLimitNotify {
+ uint32 weapon_count_limit = 2;
+ StoreType store_type = 7;
+ uint32 material_count_limit = 4;
+ uint32 reliquary_count_limit = 6;
+ uint32 furniture_count_limit = 9;
+ uint32 weight_limit = 15;
+}
diff --git a/protocol/proto/StrengthenPointData.proto b/protocol/proto/StrengthenPointData.proto
new file mode 100644
index 00000000..269d4e58
--- /dev/null
+++ b/protocol/proto/StrengthenPointData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message StrengthenPointData {
+ uint32 base_point = 10;
+ uint32 cur_point = 11;
+}
diff --git a/protocol/proto/SubmitInferenceWordReq.proto b/protocol/proto/SubmitInferenceWordReq.proto
new file mode 100644
index 00000000..6ec02082
--- /dev/null
+++ b/protocol/proto/SubmitInferenceWordReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 500
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SubmitInferenceWordReq {
+ uint32 word_id = 4;
+ uint32 page_id = 9;
+}
diff --git a/protocol/proto/SubmitInferenceWordRsp.proto b/protocol/proto/SubmitInferenceWordRsp.proto
new file mode 100644
index 00000000..a4973562
--- /dev/null
+++ b/protocol/proto/SubmitInferenceWordRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 416
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SubmitInferenceWordRsp {
+ uint32 word_id = 2;
+ uint32 page_id = 13;
+ uint32 conclusion_id = 5;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/SummerTimeDetailInfo.proto b/protocol/proto/SummerTimeDetailInfo.proto
new file mode 100644
index 00000000..fd85d063
--- /dev/null
+++ b/protocol/proto/SummerTimeDetailInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SummerTimeSprintBoatInfo.proto";
+import "SummerTimeStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeDetailInfo {
+ map stage_map = 3;
+ uint32 content_close_time = 11;
+ bool is_content_closed = 13;
+ SummerTimeSprintBoatInfo sprint_boat_info = 4;
+}
diff --git a/protocol/proto/SummerTimeDungeonInfo.proto b/protocol/proto/SummerTimeDungeonInfo.proto
new file mode 100644
index 00000000..f55aa73c
--- /dev/null
+++ b/protocol/proto/SummerTimeDungeonInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeDungeonInfo {
+ uint32 taken_chest_count = 15;
+ uint32 total_chest_count = 12;
+ uint32 taken_shell_count = 14;
+ uint32 dungeon_id = 4;
+ uint32 total_shell_count = 13;
+}
diff --git a/protocol/proto/SummerTimeFloatSignalPositionNotify.proto b/protocol/proto/SummerTimeFloatSignalPositionNotify.proto
new file mode 100644
index 00000000..3908bab2
--- /dev/null
+++ b/protocol/proto/SummerTimeFloatSignalPositionNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8077
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SummerTimeFloatSignalPositionNotify {
+ Vector position = 1;
+ bool is_transfer_anchor = 5;
+ uint32 float_signal_id = 7;
+}
diff --git a/protocol/proto/SummerTimeFloatSignalUpdateNotify.proto b/protocol/proto/SummerTimeFloatSignalUpdateNotify.proto
new file mode 100644
index 00000000..b6983e41
--- /dev/null
+++ b/protocol/proto/SummerTimeFloatSignalUpdateNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8781
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SummerTimeFloatSignalUpdateNotify {
+ bool is_transfer_anchor = 4;
+ uint32 float_signal_id = 8;
+ Vector position = 10;
+}
diff --git a/protocol/proto/SummerTimeSprintBoatInfo.proto b/protocol/proto/SummerTimeSprintBoatInfo.proto
new file mode 100644
index 00000000..d09bf53a
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SummerTimeSprintBoatRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeSprintBoatInfo {
+ repeated SummerTimeSprintBoatRecord record_list = 7;
+}
diff --git a/protocol/proto/SummerTimeSprintBoatRecord.proto b/protocol/proto/SummerTimeSprintBoatRecord.proto
new file mode 100644
index 00000000..8fcd620c
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatRecord.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeSprintBoatRecord {
+ uint32 best_score = 3;
+ uint32 start_time = 13;
+ bool is_touched = 7;
+ repeated uint32 watcher_id_list = 10;
+ uint32 group_id = 2;
+}
diff --git a/protocol/proto/SummerTimeSprintBoatRestartReq.proto b/protocol/proto/SummerTimeSprintBoatRestartReq.proto
new file mode 100644
index 00000000..4093e52c
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatRestartReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8410
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SummerTimeSprintBoatRestartReq {
+ uint32 group_id = 10;
+ uint32 schedule_id = 14;
+}
diff --git a/protocol/proto/SummerTimeSprintBoatRestartRsp.proto b/protocol/proto/SummerTimeSprintBoatRestartRsp.proto
new file mode 100644
index 00000000..eeed4e2a
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatRestartRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8356
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SummerTimeSprintBoatRestartRsp {
+ int32 retcode = 10;
+ uint32 schedule_id = 5;
+ uint32 group_id = 4;
+}
diff --git a/protocol/proto/SummerTimeSprintBoatSettleNotify.proto b/protocol/proto/SummerTimeSprintBoatSettleNotify.proto
new file mode 100644
index 00000000..14f93342
--- /dev/null
+++ b/protocol/proto/SummerTimeSprintBoatSettleNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8651
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SummerTimeSprintBoatSettleNotify {
+ uint32 total_num = 13;
+ uint32 group_id = 12;
+ bool is_success = 15;
+ uint32 collect_num = 6;
+ uint32 left_time = 8;
+ uint32 medal_level = 2;
+ uint32 score = 10;
+ bool is_new_record = 7;
+}
diff --git a/protocol/proto/SummerTimeStageInfo.proto b/protocol/proto/SummerTimeStageInfo.proto
new file mode 100644
index 00000000..59c80d9d
--- /dev/null
+++ b/protocol/proto/SummerTimeStageInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeStageInfo {
+ bool is_open = 13;
+ uint32 open_time = 10;
+ uint32 stage_id = 1;
+}
diff --git a/protocol/proto/SummerTimeV2BoatGallerySettleInfo.proto b/protocol/proto/SummerTimeV2BoatGallerySettleInfo.proto
new file mode 100644
index 00000000..82a59c9d
--- /dev/null
+++ b/protocol/proto/SummerTimeV2BoatGallerySettleInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "GalleryStopReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeV2BoatGallerySettleInfo {
+ uint32 param1 = 7;
+ uint32 param2 = 2;
+ GalleryStopReason reason = 3;
+ uint32 param3 = 6;
+ uint32 used_time = 12;
+ uint32 gallery_id = 1;
+}
diff --git a/protocol/proto/SummerTimeV2BoatSettleNotify.proto b/protocol/proto/SummerTimeV2BoatSettleNotify.proto
new file mode 100644
index 00000000..1b257ab0
--- /dev/null
+++ b/protocol/proto/SummerTimeV2BoatSettleNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SummerTimeV2BoatGallerySettleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8870
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SummerTimeV2BoatSettleNotify {
+ SummerTimeV2BoatGallerySettleInfo settle_info = 11;
+ uint32 stage_id = 7;
+ bool is_new_record = 2;
+ uint32 gallery_id = 1;
+}
diff --git a/protocol/proto/SummerTimeV2BoatStageInfo.proto b/protocol/proto/SummerTimeV2BoatStageInfo.proto
new file mode 100644
index 00000000..9abb5cba
--- /dev/null
+++ b/protocol/proto/SummerTimeV2BoatStageInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeV2BoatStageInfo {
+ uint32 open_time = 7;
+ bool is_open = 14;
+ uint32 stage_id = 10;
+ uint32 best_score = 13;
+}
diff --git a/protocol/proto/SummerTimeV2DetailInfo.proto b/protocol/proto/SummerTimeV2DetailInfo.proto
new file mode 100644
index 00000000..f292cf10
--- /dev/null
+++ b/protocol/proto/SummerTimeV2DetailInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SummerTimeV2BoatStageInfo.proto";
+import "SummerTimeV2DungeonStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeV2DetailInfo {
+ repeated SummerTimeV2DungeonStageInfo dungeon_stage_info_list = 13;
+ uint32 cur_dungeon_reward_limit = 10;
+ bool is_content_closed = 4;
+ uint32 taken_reward_count = 5;
+ repeated SummerTimeV2BoatStageInfo boat_stage_info_list = 15;
+}
diff --git a/protocol/proto/SummerTimeV2DungeonSettleInfo.proto b/protocol/proto/SummerTimeV2DungeonSettleInfo.proto
new file mode 100644
index 00000000..52326b08
--- /dev/null
+++ b/protocol/proto/SummerTimeV2DungeonSettleInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeV2DungeonSettleInfo {
+ bool is_success = 5;
+ uint32 taken_reward_count = 2;
+ uint32 cur_dungeon_reward_limit = 11;
+}
diff --git a/protocol/proto/SummerTimeV2DungeonStageInfo.proto b/protocol/proto/SummerTimeV2DungeonStageInfo.proto
new file mode 100644
index 00000000..3b422fd5
--- /dev/null
+++ b/protocol/proto/SummerTimeV2DungeonStageInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SummerTimeV2DungeonStageInfo {
+ uint32 stage_id = 10;
+ bool is_open = 3;
+ uint32 open_time = 12;
+ bool is_prev_dungeon_succeed = 15;
+}
diff --git a/protocol/proto/SummerTimeV2RestartBoatGalleryReq.proto b/protocol/proto/SummerTimeV2RestartBoatGalleryReq.proto
new file mode 100644
index 00000000..a824e859
--- /dev/null
+++ b/protocol/proto/SummerTimeV2RestartBoatGalleryReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8476
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SummerTimeV2RestartBoatGalleryReq {
+ uint32 gallery_id = 5;
+}
diff --git a/protocol/proto/SummerTimeV2RestartBoatGalleryRsp.proto b/protocol/proto/SummerTimeV2RestartBoatGalleryRsp.proto
new file mode 100644
index 00000000..dc78c521
--- /dev/null
+++ b/protocol/proto/SummerTimeV2RestartBoatGalleryRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8004
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SummerTimeV2RestartBoatGalleryRsp {
+ uint32 gallery_id = 13;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/SummerTimeV2RestartDungeonReq.proto b/protocol/proto/SummerTimeV2RestartDungeonReq.proto
new file mode 100644
index 00000000..cca09a0a
--- /dev/null
+++ b/protocol/proto/SummerTimeV2RestartDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8346
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SummerTimeV2RestartDungeonReq {}
diff --git a/protocol/proto/SummerTimeV2RestartDungeonRsp.proto b/protocol/proto/SummerTimeV2RestartDungeonRsp.proto
new file mode 100644
index 00000000..834ab9e4
--- /dev/null
+++ b/protocol/proto/SummerTimeV2RestartDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8996
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SummerTimeV2RestartDungeonRsp {
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/SumoActivityDetailInfo.proto b/protocol/proto/SumoActivityDetailInfo.proto
new file mode 100644
index 00000000..5533543e
--- /dev/null
+++ b/protocol/proto/SumoActivityDetailInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SumoActivityDetailInfo {
+ uint32 difficulty_id = 11;
+ map sumo_stage_map = 13;
+ uint32 last_stage_id = 14;
+}
diff --git a/protocol/proto/SumoAvatarInfo.proto b/protocol/proto/SumoAvatarInfo.proto
new file mode 100644
index 00000000..c07e307d
--- /dev/null
+++ b/protocol/proto/SumoAvatarInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SumoAvatarInfo {
+ bool is_trial = 2;
+ uint64 avatar_id = 1;
+}
diff --git a/protocol/proto/SumoDungeonAvatar.proto b/protocol/proto/SumoDungeonAvatar.proto
new file mode 100644
index 00000000..49057052
--- /dev/null
+++ b/protocol/proto/SumoDungeonAvatar.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SumoDungeonAvatar {
+ uint64 avatar_guid = 11;
+ bool is_alive = 13;
+ bool is_trial = 4;
+}
diff --git a/protocol/proto/SumoDungeonSettleNotify.proto b/protocol/proto/SumoDungeonSettleNotify.proto
new file mode 100644
index 00000000..83ad1b72
--- /dev/null
+++ b/protocol/proto/SumoDungeonSettleNotify.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8291
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SumoDungeonSettleNotify {
+ uint32 final_score = 7;
+ uint32 difficulty_id = 14;
+ uint32 kill_elite_monster_num = 15;
+ uint32 stage_id = 12;
+ uint32 kill_monster_num = 4;
+ bool is_new_record = 5;
+}
diff --git a/protocol/proto/SumoDungeonTeam.proto b/protocol/proto/SumoDungeonTeam.proto
new file mode 100644
index 00000000..42b04a84
--- /dev/null
+++ b/protocol/proto/SumoDungeonTeam.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoDungeonAvatar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SumoDungeonTeam {
+ repeated SumoDungeonAvatar dungeon_avatar_list = 15;
+}
diff --git a/protocol/proto/SumoEnterDungeonNotify.proto b/protocol/proto/SumoEnterDungeonNotify.proto
new file mode 100644
index 00000000..6d4da09e
--- /dev/null
+++ b/protocol/proto/SumoEnterDungeonNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoDungeonTeam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8013
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SumoEnterDungeonNotify {
+ uint32 activity_id = 15;
+ repeated SumoDungeonTeam dungeon_team_list = 11;
+ uint32 no_switch_punish_time = 10;
+ uint32 next_valid_switch_time = 13;
+ uint32 stage_id = 7;
+ uint32 cur_team_index = 5;
+}
diff --git a/protocol/proto/SumoLeaveDungeonNotify.proto b/protocol/proto/SumoLeaveDungeonNotify.proto
new file mode 100644
index 00000000..6b7dbb76
--- /dev/null
+++ b/protocol/proto/SumoLeaveDungeonNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8640
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SumoLeaveDungeonNotify {}
diff --git a/protocol/proto/SumoRestartDungeonReq.proto b/protocol/proto/SumoRestartDungeonReq.proto
new file mode 100644
index 00000000..53419362
--- /dev/null
+++ b/protocol/proto/SumoRestartDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8612
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SumoRestartDungeonReq {}
diff --git a/protocol/proto/SumoRestartDungeonRsp.proto b/protocol/proto/SumoRestartDungeonRsp.proto
new file mode 100644
index 00000000..cf46bbdb
--- /dev/null
+++ b/protocol/proto/SumoRestartDungeonRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8214
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SumoRestartDungeonRsp {
+ int32 retcode = 11;
+ uint32 dungeon_id = 4;
+ uint32 point_id = 12;
+}
diff --git a/protocol/proto/SumoSaveTeamReq.proto b/protocol/proto/SumoSaveTeamReq.proto
new file mode 100644
index 00000000..fa9041ef
--- /dev/null
+++ b/protocol/proto/SumoSaveTeamReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoTeamData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8313
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SumoSaveTeamReq {
+ uint32 activity_id = 11;
+ uint32 stage_id = 13;
+ uint32 difficulty_id = 7;
+ repeated SumoTeamData team_list = 12;
+}
diff --git a/protocol/proto/SumoSaveTeamRsp.proto b/protocol/proto/SumoSaveTeamRsp.proto
new file mode 100644
index 00000000..0fbae427
--- /dev/null
+++ b/protocol/proto/SumoSaveTeamRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoTeamData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8319
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SumoSaveTeamRsp {
+ uint32 stage_id = 9;
+ int32 retcode = 2;
+ uint32 activity_id = 11;
+ repeated SumoTeamData team_list = 13;
+ uint32 difficulty_id = 10;
+}
diff --git a/protocol/proto/SumoSelectTeamAndEnterDungeonReq.proto b/protocol/proto/SumoSelectTeamAndEnterDungeonReq.proto
new file mode 100644
index 00000000..177a93ce
--- /dev/null
+++ b/protocol/proto/SumoSelectTeamAndEnterDungeonReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoTeamData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8215
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SumoSelectTeamAndEnterDungeonReq {
+ uint32 activity_id = 1;
+ uint32 stage_id = 7;
+ uint32 difficulty_id = 4;
+ repeated SumoTeamData team_list = 10;
+}
diff --git a/protocol/proto/SumoSelectTeamAndEnterDungeonRsp.proto b/protocol/proto/SumoSelectTeamAndEnterDungeonRsp.proto
new file mode 100644
index 00000000..a2ef153b
--- /dev/null
+++ b/protocol/proto/SumoSelectTeamAndEnterDungeonRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoTeamData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8193
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SumoSelectTeamAndEnterDungeonRsp {
+ int32 retcode = 1;
+ uint32 activity_id = 14;
+ uint32 difficulty_id = 12;
+ uint32 stage_id = 9;
+ repeated SumoTeamData team_list = 2;
+}
diff --git a/protocol/proto/SumoSetNoSwitchPunishTimeNotify.proto b/protocol/proto/SumoSetNoSwitchPunishTimeNotify.proto
new file mode 100644
index 00000000..e08757d8
--- /dev/null
+++ b/protocol/proto/SumoSetNoSwitchPunishTimeNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoDungeonTeam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8935
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SumoSetNoSwitchPunishTimeNotify {
+ uint32 cur_team_index = 15;
+ uint32 stage_id = 13;
+ repeated SumoDungeonTeam dungeon_team_list = 11;
+ uint32 no_switch_punish_time = 2;
+ uint32 next_valid_switch_time = 14;
+ uint32 activity_id = 9;
+}
diff --git a/protocol/proto/SumoStageData.proto b/protocol/proto/SumoStageData.proto
new file mode 100644
index 00000000..9061f99b
--- /dev/null
+++ b/protocol/proto/SumoStageData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoTeamData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SumoStageData {
+ uint32 max_score = 1;
+ uint32 open_time = 5;
+ uint32 stage_id = 3;
+ repeated SumoTeamData team_list = 7;
+ bool is_open = 11;
+}
diff --git a/protocol/proto/SumoSwitchTeamReq.proto b/protocol/proto/SumoSwitchTeamReq.proto
new file mode 100644
index 00000000..46ed5365
--- /dev/null
+++ b/protocol/proto/SumoSwitchTeamReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8351
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message SumoSwitchTeamReq {
+ uint32 stage_id = 9;
+ uint32 activity_id = 5;
+}
diff --git a/protocol/proto/SumoSwitchTeamRsp.proto b/protocol/proto/SumoSwitchTeamRsp.proto
new file mode 100644
index 00000000..a86fa971
--- /dev/null
+++ b/protocol/proto/SumoSwitchTeamRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoDungeonTeam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8525
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SumoSwitchTeamRsp {
+ uint32 next_valid_switch_time = 7;
+ repeated SumoDungeonTeam dungeon_team_list = 10;
+ uint32 activity_id = 6;
+ int32 retcode = 14;
+ uint32 cur_team_index = 11;
+ uint32 stage_id = 5;
+}
diff --git a/protocol/proto/SumoTeamData.proto b/protocol/proto/SumoTeamData.proto
new file mode 100644
index 00000000..047ab912
--- /dev/null
+++ b/protocol/proto/SumoTeamData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "SumoAvatarInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message SumoTeamData {
+ repeated uint32 skill_id_list = 14;
+ repeated SumoAvatarInfo avatar_info_list = 3;
+}
diff --git a/protocol/proto/SvrMsgId.proto b/protocol/proto/SvrMsgId.proto
new file mode 100644
index 00000000..8f855a2e
--- /dev/null
+++ b/protocol/proto/SvrMsgId.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum SvrMsgId {
+ SVR_MSG_ID_UNKNOWN = 0;
+ SVR_MSG_ID_BLOCK_REFRESH_COUNTDOWN = 1;
+ SVR_MSG_ID_AVATAR_REVIVE_BY_STATUE = 2;
+ SVR_MSG_ID_DAILY_TASK_REWARD_MAX_NUM = 3;
+ SVR_MSG_ID_ROUTINE_TYPE_NOT_OPEN = 4;
+ SVR_MSG_ID_ROUTINE_TYPE_REWARD_MAX_NUM = 5;
+ SVR_MSG_ID_MECHANICUS_COIN_LIMIT = 6;
+}
diff --git a/protocol/proto/SyncScenePlayTeamEntityNotify.proto b/protocol/proto/SyncScenePlayTeamEntityNotify.proto
new file mode 100644
index 00000000..a5faabcf
--- /dev/null
+++ b/protocol/proto/SyncScenePlayTeamEntityNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayTeamEntityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3333
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SyncScenePlayTeamEntityNotify {
+ uint32 scene_id = 2;
+ repeated PlayTeamEntityInfo entity_info_list = 3;
+}
diff --git a/protocol/proto/SyncTeamEntityNotify.proto b/protocol/proto/SyncTeamEntityNotify.proto
new file mode 100644
index 00000000..7b100852
--- /dev/null
+++ b/protocol/proto/SyncTeamEntityNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TeamEntityInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 317
+// EnetChannelId: 0
+// EnetIsReliable: true
+message SyncTeamEntityNotify {
+ uint32 scene_id = 13;
+ repeated TeamEntityInfo team_entity_info_list = 15;
+}
diff --git a/protocol/proto/TakeAchievementGoalRewardReq.proto b/protocol/proto/TakeAchievementGoalRewardReq.proto
new file mode 100644
index 00000000..39688bda
--- /dev/null
+++ b/protocol/proto/TakeAchievementGoalRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2652
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeAchievementGoalRewardReq {
+ repeated uint32 id_list = 5;
+}
diff --git a/protocol/proto/TakeAchievementGoalRewardRsp.proto b/protocol/proto/TakeAchievementGoalRewardRsp.proto
new file mode 100644
index 00000000..c55bc013
--- /dev/null
+++ b/protocol/proto/TakeAchievementGoalRewardRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2681
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeAchievementGoalRewardRsp {
+ int32 retcode = 15;
+ repeated uint32 id_list = 12;
+ repeated ItemParam item_list = 5;
+}
diff --git a/protocol/proto/TakeAchievementRewardReq.proto b/protocol/proto/TakeAchievementRewardReq.proto
new file mode 100644
index 00000000..fdedacef
--- /dev/null
+++ b/protocol/proto/TakeAchievementRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2675
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeAchievementRewardReq {
+ repeated uint32 id_list = 13;
+}
diff --git a/protocol/proto/TakeAchievementRewardRsp.proto b/protocol/proto/TakeAchievementRewardRsp.proto
new file mode 100644
index 00000000..dad8e3d0
--- /dev/null
+++ b/protocol/proto/TakeAchievementRewardRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2657
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeAchievementRewardRsp {
+ repeated uint32 id_list = 7;
+ repeated ItemParam item_list = 10;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/TakeAsterSpecialRewardReq.proto b/protocol/proto/TakeAsterSpecialRewardReq.proto
new file mode 100644
index 00000000..d88bcfb7
--- /dev/null
+++ b/protocol/proto/TakeAsterSpecialRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2097
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeAsterSpecialRewardReq {
+ uint32 schedule_id = 5;
+}
diff --git a/protocol/proto/TakeAsterSpecialRewardRsp.proto b/protocol/proto/TakeAsterSpecialRewardRsp.proto
new file mode 100644
index 00000000..36af4e00
--- /dev/null
+++ b/protocol/proto/TakeAsterSpecialRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2193
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeAsterSpecialRewardRsp {
+ int32 retcode = 12;
+ uint32 schedule_id = 14;
+}
diff --git a/protocol/proto/TakeBackGivingItemReq.proto b/protocol/proto/TakeBackGivingItemReq.proto
new file mode 100644
index 00000000..f71af3be
--- /dev/null
+++ b/protocol/proto/TakeBackGivingItemReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 171
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeBackGivingItemReq {
+ uint32 giving_id = 4;
+}
diff --git a/protocol/proto/TakeBackGivingItemRsp.proto b/protocol/proto/TakeBackGivingItemRsp.proto
new file mode 100644
index 00000000..5b1b04ae
--- /dev/null
+++ b/protocol/proto/TakeBackGivingItemRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 145
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeBackGivingItemRsp {
+ uint32 giving_id = 10;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/TakeBattlePassMissionPointReq.proto b/protocol/proto/TakeBattlePassMissionPointReq.proto
new file mode 100644
index 00000000..a278a311
--- /dev/null
+++ b/protocol/proto/TakeBattlePassMissionPointReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2629
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeBattlePassMissionPointReq {
+ repeated uint32 mission_id_list = 5;
+}
diff --git a/protocol/proto/TakeBattlePassMissionPointRsp.proto b/protocol/proto/TakeBattlePassMissionPointRsp.proto
new file mode 100644
index 00000000..f4f914d7
--- /dev/null
+++ b/protocol/proto/TakeBattlePassMissionPointRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2622
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeBattlePassMissionPointRsp {
+ int32 retcode = 4;
+ repeated uint32 mission_id_list = 11;
+}
diff --git a/protocol/proto/TakeBattlePassRewardReq.proto b/protocol/proto/TakeBattlePassRewardReq.proto
new file mode 100644
index 00000000..3802bd8b
--- /dev/null
+++ b/protocol/proto/TakeBattlePassRewardReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BattlePassRewardTakeOption.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2602
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeBattlePassRewardReq {
+ repeated BattlePassRewardTakeOption take_option_list = 12;
+}
diff --git a/protocol/proto/TakeBattlePassRewardRsp.proto b/protocol/proto/TakeBattlePassRewardRsp.proto
new file mode 100644
index 00000000..52659877
--- /dev/null
+++ b/protocol/proto/TakeBattlePassRewardRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BattlePassRewardTakeOption.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2631
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeBattlePassRewardRsp {
+ repeated ItemParam item_list = 7;
+ int32 retcode = 13;
+ repeated BattlePassRewardTakeOption take_option_list = 9;
+}
diff --git a/protocol/proto/TakeCityReputationExploreRewardReq.proto b/protocol/proto/TakeCityReputationExploreRewardReq.proto
new file mode 100644
index 00000000..60e00566
--- /dev/null
+++ b/protocol/proto/TakeCityReputationExploreRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2897
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeCityReputationExploreRewardReq {
+ uint32 city_id = 15;
+ repeated uint32 explore_id_list = 12;
+}
diff --git a/protocol/proto/TakeCityReputationExploreRewardRsp.proto b/protocol/proto/TakeCityReputationExploreRewardRsp.proto
new file mode 100644
index 00000000..2a9a3b88
--- /dev/null
+++ b/protocol/proto/TakeCityReputationExploreRewardRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2881
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeCityReputationExploreRewardRsp {
+ repeated uint32 explore_id_list = 8;
+ repeated ItemParam item_list = 12;
+ int32 retcode = 6;
+ uint32 city_id = 13;
+}
diff --git a/protocol/proto/TakeCityReputationLevelRewardReq.proto b/protocol/proto/TakeCityReputationLevelRewardReq.proto
new file mode 100644
index 00000000..18c6de24
--- /dev/null
+++ b/protocol/proto/TakeCityReputationLevelRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2812
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeCityReputationLevelRewardReq {
+ uint32 level = 11;
+ uint32 city_id = 1;
+}
diff --git a/protocol/proto/TakeCityReputationLevelRewardRsp.proto b/protocol/proto/TakeCityReputationLevelRewardRsp.proto
new file mode 100644
index 00000000..a3f2c8d2
--- /dev/null
+++ b/protocol/proto/TakeCityReputationLevelRewardRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2835
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeCityReputationLevelRewardRsp {
+ uint32 city_id = 15;
+ int32 retcode = 11;
+ repeated ItemParam item_list = 13;
+ uint32 level = 9;
+}
diff --git a/protocol/proto/TakeCityReputationParentQuestReq.proto b/protocol/proto/TakeCityReputationParentQuestReq.proto
new file mode 100644
index 00000000..017a5315
--- /dev/null
+++ b/protocol/proto/TakeCityReputationParentQuestReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2821
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeCityReputationParentQuestReq {
+ uint32 city_id = 1;
+ repeated uint32 parent_quest_list = 6;
+}
diff --git a/protocol/proto/TakeCityReputationParentQuestRsp.proto b/protocol/proto/TakeCityReputationParentQuestRsp.proto
new file mode 100644
index 00000000..e87ca790
--- /dev/null
+++ b/protocol/proto/TakeCityReputationParentQuestRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2803
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeCityReputationParentQuestRsp {
+ int32 retcode = 7;
+ uint32 city_id = 14;
+ repeated uint32 parent_quest_list = 9;
+ repeated ItemParam item_list = 13;
+}
diff --git a/protocol/proto/TakeCompoundOutputReq.proto b/protocol/proto/TakeCompoundOutputReq.proto
new file mode 100644
index 00000000..e6d135c0
--- /dev/null
+++ b/protocol/proto/TakeCompoundOutputReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 174
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeCompoundOutputReq {
+ uint32 compound_group_id = 3;
+ uint32 compound_id = 10;
+}
diff --git a/protocol/proto/TakeCompoundOutputRsp.proto b/protocol/proto/TakeCompoundOutputRsp.proto
new file mode 100644
index 00000000..73c3b5ce
--- /dev/null
+++ b/protocol/proto/TakeCompoundOutputRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 176
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeCompoundOutputRsp {
+ repeated ItemParam item_list = 6;
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/TakeCoopRewardReq.proto b/protocol/proto/TakeCoopRewardReq.proto
new file mode 100644
index 00000000..3d0079ed
--- /dev/null
+++ b/protocol/proto/TakeCoopRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1973
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeCoopRewardReq {
+ uint32 reward_config_id = 6;
+}
diff --git a/protocol/proto/TakeCoopRewardRsp.proto b/protocol/proto/TakeCoopRewardRsp.proto
new file mode 100644
index 00000000..19cc9006
--- /dev/null
+++ b/protocol/proto/TakeCoopRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1985
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeCoopRewardRsp {
+ int32 retcode = 9;
+ uint32 reward_config_id = 1;
+}
diff --git a/protocol/proto/TakeDeliveryDailyRewardReq.proto b/protocol/proto/TakeDeliveryDailyRewardReq.proto
new file mode 100644
index 00000000..cbcc2730
--- /dev/null
+++ b/protocol/proto/TakeDeliveryDailyRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2121
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeDeliveryDailyRewardReq {
+ uint32 schedule_id = 9;
+}
diff --git a/protocol/proto/TakeDeliveryDailyRewardRsp.proto b/protocol/proto/TakeDeliveryDailyRewardRsp.proto
new file mode 100644
index 00000000..a295d021
--- /dev/null
+++ b/protocol/proto/TakeDeliveryDailyRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2162
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeDeliveryDailyRewardRsp {
+ uint32 schedule_id = 5;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/TakeEffigyFirstPassRewardReq.proto b/protocol/proto/TakeEffigyFirstPassRewardReq.proto
new file mode 100644
index 00000000..f63712a5
--- /dev/null
+++ b/protocol/proto/TakeEffigyFirstPassRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2196
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeEffigyFirstPassRewardReq {
+ uint32 challenge_id = 6;
+}
diff --git a/protocol/proto/TakeEffigyFirstPassRewardRsp.proto b/protocol/proto/TakeEffigyFirstPassRewardRsp.proto
new file mode 100644
index 00000000..622cb462
--- /dev/null
+++ b/protocol/proto/TakeEffigyFirstPassRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2061
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeEffigyFirstPassRewardRsp {
+ uint32 challenge_id = 2;
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/TakeEffigyRewardReq.proto b/protocol/proto/TakeEffigyRewardReq.proto
new file mode 100644
index 00000000..3951344a
--- /dev/null
+++ b/protocol/proto/TakeEffigyRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2040
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeEffigyRewardReq {
+ uint32 reward_index = 14;
+}
diff --git a/protocol/proto/TakeEffigyRewardRsp.proto b/protocol/proto/TakeEffigyRewardRsp.proto
new file mode 100644
index 00000000..1a87fe96
--- /dev/null
+++ b/protocol/proto/TakeEffigyRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2007
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeEffigyRewardRsp {
+ int32 retcode = 15;
+ uint32 reward_index = 7;
+}
diff --git a/protocol/proto/TakeFirstShareRewardReq.proto b/protocol/proto/TakeFirstShareRewardReq.proto
new file mode 100644
index 00000000..4f3c360e
--- /dev/null
+++ b/protocol/proto/TakeFirstShareRewardReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4074
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeFirstShareRewardReq {}
diff --git a/protocol/proto/TakeFirstShareRewardRsp.proto b/protocol/proto/TakeFirstShareRewardRsp.proto
new file mode 100644
index 00000000..43c8aaf7
--- /dev/null
+++ b/protocol/proto/TakeFirstShareRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4076
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeFirstShareRewardRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/TakeFurnitureMakeReq.proto b/protocol/proto/TakeFurnitureMakeReq.proto
new file mode 100644
index 00000000..09c27f99
--- /dev/null
+++ b/protocol/proto/TakeFurnitureMakeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4772
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeFurnitureMakeReq {
+ uint32 index = 8;
+ bool is_fast_finish = 12;
+ uint32 make_id = 7;
+}
diff --git a/protocol/proto/TakeFurnitureMakeRsp.proto b/protocol/proto/TakeFurnitureMakeRsp.proto
new file mode 100644
index 00000000..43ff0019
--- /dev/null
+++ b/protocol/proto/TakeFurnitureMakeRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "FurnitureMakeSlot.proto";
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4769
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeFurnitureMakeRsp {
+ FurnitureMakeSlot furniture_make_slot = 8;
+ repeated ItemParam return_item_list = 2;
+ uint32 make_id = 6;
+ int32 retcode = 9;
+ repeated ItemParam output_item_list = 14;
+}
diff --git a/protocol/proto/TakeHuntingOfferReq.proto b/protocol/proto/TakeHuntingOfferReq.proto
new file mode 100644
index 00000000..f33ed228
--- /dev/null
+++ b/protocol/proto/TakeHuntingOfferReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4326
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeHuntingOfferReq {
+ HuntingPair hunting_pair = 14;
+ uint32 city_id = 4;
+}
diff --git a/protocol/proto/TakeHuntingOfferRsp.proto b/protocol/proto/TakeHuntingOfferRsp.proto
new file mode 100644
index 00000000..4f8bfff8
--- /dev/null
+++ b/protocol/proto/TakeHuntingOfferRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HuntingPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4318
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeHuntingOfferRsp {
+ HuntingPair hunting_pair = 13;
+ uint32 city_id = 14;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/TakeInvestigationRewardReq.proto b/protocol/proto/TakeInvestigationRewardReq.proto
new file mode 100644
index 00000000..c33addc6
--- /dev/null
+++ b/protocol/proto/TakeInvestigationRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1912
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeInvestigationRewardReq {
+ uint32 id = 5;
+}
diff --git a/protocol/proto/TakeInvestigationRewardRsp.proto b/protocol/proto/TakeInvestigationRewardRsp.proto
new file mode 100644
index 00000000..10324ea4
--- /dev/null
+++ b/protocol/proto/TakeInvestigationRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1922
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeInvestigationRewardRsp {
+ int32 retcode = 4;
+ uint32 id = 12;
+}
diff --git a/protocol/proto/TakeInvestigationTargetRewardReq.proto b/protocol/proto/TakeInvestigationTargetRewardReq.proto
new file mode 100644
index 00000000..746a480e
--- /dev/null
+++ b/protocol/proto/TakeInvestigationTargetRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1918
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeInvestigationTargetRewardReq {
+ uint32 quest_id = 11;
+}
diff --git a/protocol/proto/TakeInvestigationTargetRewardRsp.proto b/protocol/proto/TakeInvestigationTargetRewardRsp.proto
new file mode 100644
index 00000000..969ffb11
--- /dev/null
+++ b/protocol/proto/TakeInvestigationTargetRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1916
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeInvestigationTargetRewardRsp {
+ int32 retcode = 1;
+ uint32 quest_id = 2;
+}
diff --git a/protocol/proto/TakeMaterialDeleteReturnReq.proto b/protocol/proto/TakeMaterialDeleteReturnReq.proto
new file mode 100644
index 00000000..c4873203
--- /dev/null
+++ b/protocol/proto/TakeMaterialDeleteReturnReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MaterialDeleteReturnType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 629
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeMaterialDeleteReturnReq {
+ MaterialDeleteReturnType type = 8;
+}
diff --git a/protocol/proto/TakeMaterialDeleteReturnRsp.proto b/protocol/proto/TakeMaterialDeleteReturnRsp.proto
new file mode 100644
index 00000000..ca190fca
--- /dev/null
+++ b/protocol/proto/TakeMaterialDeleteReturnRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 657
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeMaterialDeleteReturnRsp {
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/TakeOfferingLevelRewardReq.proto b/protocol/proto/TakeOfferingLevelRewardReq.proto
new file mode 100644
index 00000000..8e11e48f
--- /dev/null
+++ b/protocol/proto/TakeOfferingLevelRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2919
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeOfferingLevelRewardReq {
+ uint32 level = 6;
+ uint32 offering_id = 11;
+}
diff --git a/protocol/proto/TakeOfferingLevelRewardRsp.proto b/protocol/proto/TakeOfferingLevelRewardRsp.proto
new file mode 100644
index 00000000..aa5c44f6
--- /dev/null
+++ b/protocol/proto/TakeOfferingLevelRewardRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2911
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeOfferingLevelRewardRsp {
+ uint32 offering_id = 3;
+ uint32 take_level = 4;
+ int32 retcode = 8;
+ repeated ItemParam item_list = 2;
+}
diff --git a/protocol/proto/TakePlayerLevelRewardReq.proto b/protocol/proto/TakePlayerLevelRewardReq.proto
new file mode 100644
index 00000000..b247a258
--- /dev/null
+++ b/protocol/proto/TakePlayerLevelRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 129
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakePlayerLevelRewardReq {
+ uint32 level = 3;
+}
diff --git a/protocol/proto/TakePlayerLevelRewardRsp.proto b/protocol/proto/TakePlayerLevelRewardRsp.proto
new file mode 100644
index 00000000..9d17e86f
--- /dev/null
+++ b/protocol/proto/TakePlayerLevelRewardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 157
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakePlayerLevelRewardRsp {
+ uint32 reward_id = 9;
+ int32 retcode = 13;
+ uint32 level = 6;
+}
diff --git a/protocol/proto/TakeRegionSearchRewardReq.proto b/protocol/proto/TakeRegionSearchRewardReq.proto
new file mode 100644
index 00000000..d246037e
--- /dev/null
+++ b/protocol/proto/TakeRegionSearchRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5625
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeRegionSearchRewardReq {
+ uint32 search_id = 3;
+ uint32 id = 15;
+}
diff --git a/protocol/proto/TakeRegionSearchRewardRsp.proto b/protocol/proto/TakeRegionSearchRewardRsp.proto
new file mode 100644
index 00000000..cf4c0f73
--- /dev/null
+++ b/protocol/proto/TakeRegionSearchRewardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5607
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeRegionSearchRewardRsp {
+ uint32 search_id = 14;
+ uint32 id = 1;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/TakeResinCardDailyRewardReq.proto b/protocol/proto/TakeResinCardDailyRewardReq.proto
new file mode 100644
index 00000000..0eeb6ffe
--- /dev/null
+++ b/protocol/proto/TakeResinCardDailyRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4122
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeResinCardDailyRewardReq {
+ uint32 product_config_id = 14;
+}
diff --git a/protocol/proto/TakeResinCardDailyRewardRsp.proto b/protocol/proto/TakeResinCardDailyRewardRsp.proto
new file mode 100644
index 00000000..3a8aae9c
--- /dev/null
+++ b/protocol/proto/TakeResinCardDailyRewardRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4144
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeResinCardDailyRewardRsp {
+ repeated ItemParam item_vec = 6;
+ int32 retcode = 4;
+ uint32 product_config_id = 12;
+}
diff --git a/protocol/proto/TakeReunionFirstGiftRewardReq.proto b/protocol/proto/TakeReunionFirstGiftRewardReq.proto
new file mode 100644
index 00000000..00392008
--- /dev/null
+++ b/protocol/proto/TakeReunionFirstGiftRewardReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5075
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeReunionFirstGiftRewardReq {}
diff --git a/protocol/proto/TakeReunionFirstGiftRewardRsp.proto b/protocol/proto/TakeReunionFirstGiftRewardRsp.proto
new file mode 100644
index 00000000..b8628df3
--- /dev/null
+++ b/protocol/proto/TakeReunionFirstGiftRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5057
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeReunionFirstGiftRewardRsp {
+ int32 reward_id = 9;
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/TakeReunionMissionRewardReq.proto b/protocol/proto/TakeReunionMissionRewardReq.proto
new file mode 100644
index 00000000..ff60f729
--- /dev/null
+++ b/protocol/proto/TakeReunionMissionRewardReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5092
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeReunionMissionRewardReq {
+ uint32 reward_id = 7;
+ uint32 reward_index = 4;
+ uint32 mission_id = 12;
+}
diff --git a/protocol/proto/TakeReunionMissionRewardRsp.proto b/protocol/proto/TakeReunionMissionRewardRsp.proto
new file mode 100644
index 00000000..d40809f3
--- /dev/null
+++ b/protocol/proto/TakeReunionMissionRewardRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionMissionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5064
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeReunionMissionRewardRsp {
+ uint32 reward_index = 12;
+ int32 retcode = 2;
+ ReunionMissionInfo mission_info = 9;
+ uint32 reward_id = 3;
+}
diff --git a/protocol/proto/TakeReunionSignInRewardReq.proto b/protocol/proto/TakeReunionSignInRewardReq.proto
new file mode 100644
index 00000000..6919e597
--- /dev/null
+++ b/protocol/proto/TakeReunionSignInRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5079
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeReunionSignInRewardReq {
+ uint32 reward_day = 12;
+ uint32 config_id = 14;
+}
diff --git a/protocol/proto/TakeReunionSignInRewardRsp.proto b/protocol/proto/TakeReunionSignInRewardRsp.proto
new file mode 100644
index 00000000..4fd0ca64
--- /dev/null
+++ b/protocol/proto/TakeReunionSignInRewardRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionSignInInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5072
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeReunionSignInRewardRsp {
+ ReunionSignInInfo sign_in_info = 10;
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/TakeReunionWatcherRewardReq.proto b/protocol/proto/TakeReunionWatcherRewardReq.proto
new file mode 100644
index 00000000..37b62234
--- /dev/null
+++ b/protocol/proto/TakeReunionWatcherRewardReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5070
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeReunionWatcherRewardReq {
+ uint32 watcher_id = 12;
+ uint32 mission_id = 15;
+}
diff --git a/protocol/proto/TakeReunionWatcherRewardRsp.proto b/protocol/proto/TakeReunionWatcherRewardRsp.proto
new file mode 100644
index 00000000..303f9eb8
--- /dev/null
+++ b/protocol/proto/TakeReunionWatcherRewardRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5095
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeReunionWatcherRewardRsp {
+ uint32 mission_id = 15;
+ uint32 watcher_id = 9;
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/TakeoffEquipReq.proto b/protocol/proto/TakeoffEquipReq.proto
new file mode 100644
index 00000000..4fea4f3a
--- /dev/null
+++ b/protocol/proto/TakeoffEquipReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 605
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TakeoffEquipReq {
+ uint64 avatar_guid = 8;
+ uint32 slot = 15;
+}
diff --git a/protocol/proto/TakeoffEquipRsp.proto b/protocol/proto/TakeoffEquipRsp.proto
new file mode 100644
index 00000000..447eda81
--- /dev/null
+++ b/protocol/proto/TakeoffEquipRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 682
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TakeoffEquipRsp {
+ uint64 avatar_guid = 9;
+ int32 retcode = 6;
+ uint32 slot = 10;
+}
diff --git a/protocol/proto/TanukiTravelActivityDetailInfo.proto b/protocol/proto/TanukiTravelActivityDetailInfo.proto
new file mode 100644
index 00000000..fd1908e2
--- /dev/null
+++ b/protocol/proto/TanukiTravelActivityDetailInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TanukiTravelLevelData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TanukiTravelActivityDetailInfo {
+ repeated TanukiTravelLevelData tanuki_travel_level_data_list = 4;
+ bool is_content_closed = 11;
+ uint32 finished_level_index = 10;
+}
diff --git a/protocol/proto/TanukiTravelFinishGuideQuestNotify.proto b/protocol/proto/TanukiTravelFinishGuideQuestNotify.proto
new file mode 100644
index 00000000..6b293b12
--- /dev/null
+++ b/protocol/proto/TanukiTravelFinishGuideQuestNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8924
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TanukiTravelFinishGuideQuestNotify {
+ uint32 activity_id = 14;
+}
diff --git a/protocol/proto/TanukiTravelLevelData.proto b/protocol/proto/TanukiTravelLevelData.proto
new file mode 100644
index 00000000..650ce435
--- /dev/null
+++ b/protocol/proto/TanukiTravelLevelData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TanukiTravelLevelData {
+ bool is_open = 5;
+ uint32 route_id = 9;
+ bool is_finish = 15;
+}
diff --git a/protocol/proto/TaskVar.proto b/protocol/proto/TaskVar.proto
new file mode 100644
index 00000000..f8b8d797
--- /dev/null
+++ b/protocol/proto/TaskVar.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TaskVar {
+ uint32 key = 8;
+ repeated int32 value_list = 6;
+}
diff --git a/protocol/proto/TaskVarNotify.proto b/protocol/proto/TaskVarNotify.proto
new file mode 100644
index 00000000..6187bc5d
--- /dev/null
+++ b/protocol/proto/TaskVarNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TaskVar.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 160
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TaskVarNotify {
+ repeated TaskVar task_var_list = 7;
+}
diff --git a/protocol/proto/TeamEnterSceneInfo.proto b/protocol/proto/TeamEnterSceneInfo.proto
new file mode 100644
index 00000000..da952c76
--- /dev/null
+++ b/protocol/proto/TeamEnterSceneInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilityControlBlock.proto";
+import "AbilitySyncStateInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TeamEnterSceneInfo {
+ AbilityControlBlock ability_control_block = 7;
+ AbilitySyncStateInfo team_ability_info = 10;
+ uint32 team_entity_id = 15;
+}
diff --git a/protocol/proto/TeamEntityInfo.proto b/protocol/proto/TeamEntityInfo.proto
new file mode 100644
index 00000000..d1abfb40
--- /dev/null
+++ b/protocol/proto/TeamEntityInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AbilitySyncStateInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TeamEntityInfo {
+ uint32 authority_peer_id = 10;
+ AbilitySyncStateInfo team_ability_info = 9;
+ uint32 team_entity_id = 8;
+}
diff --git a/protocol/proto/TeamResonanceChangeNotify.proto b/protocol/proto/TeamResonanceChangeNotify.proto
new file mode 100644
index 00000000..8020fd4f
--- /dev/null
+++ b/protocol/proto/TeamResonanceChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "AvatarTeamResonanceInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1082
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TeamResonanceChangeNotify {
+ repeated AvatarTeamResonanceInfo info_list = 1;
+}
diff --git a/protocol/proto/ToTheMoonAddObstacleReq.proto b/protocol/proto/ToTheMoonAddObstacleReq.proto
new file mode 100644
index 00000000..e6348408
--- /dev/null
+++ b/protocol/proto/ToTheMoonAddObstacleReq.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ToTheMoonObstacleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6121
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ToTheMoonAddObstacleReq {
+ bool use_edge = 12;
+ ToTheMoonObstacleInfo obstacle = 13;
+ int32 query_id = 9;
+ uint32 scene_id = 3;
+}
diff --git a/protocol/proto/ToTheMoonAddObstacleRsp.proto b/protocol/proto/ToTheMoonAddObstacleRsp.proto
new file mode 100644
index 00000000..f56d81b3
--- /dev/null
+++ b/protocol/proto/ToTheMoonAddObstacleRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DynamicNodes.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6103
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ToTheMoonAddObstacleRsp {
+ DynamicNodes dynamic_nodes = 2;
+ int32 query_id = 13;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/ToTheMoonEnterSceneReq.proto b/protocol/proto/ToTheMoonEnterSceneReq.proto
new file mode 100644
index 00000000..ffc57191
--- /dev/null
+++ b/protocol/proto/ToTheMoonEnterSceneReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6135
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ToTheMoonEnterSceneReq {
+ uint32 version = 14;
+ uint32 scene_id = 15;
+}
diff --git a/protocol/proto/ToTheMoonEnterSceneRsp.proto b/protocol/proto/ToTheMoonEnterSceneRsp.proto
new file mode 100644
index 00000000..0994a3f8
--- /dev/null
+++ b/protocol/proto/ToTheMoonEnterSceneRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6107
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ToTheMoonEnterSceneRsp {
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/ToTheMoonObstacleInfo.proto b/protocol/proto/ToTheMoonObstacleInfo.proto
new file mode 100644
index 00000000..c256063e
--- /dev/null
+++ b/protocol/proto/ToTheMoonObstacleInfo.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "MathQuaternion.proto";
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message ToTheMoonObstacleInfo {
+ ShapeType type = 2;
+ int32 handle_id = 11;
+ MathQuaternion rotation = 7;
+ Vector center = 13;
+ Vector half_extents = 14;
+
+ enum ShapeType {
+ SHAPE_TYPE_OBSTACLE_SHAPE_CAPSULE = 0;
+ SHAPE_TYPE_OBSTACLE_SHAPE_BOX = 1;
+ }
+}
diff --git a/protocol/proto/ToTheMoonObstaclesModifyNotify.proto b/protocol/proto/ToTheMoonObstaclesModifyNotify.proto
new file mode 100644
index 00000000..26d1ff2f
--- /dev/null
+++ b/protocol/proto/ToTheMoonObstaclesModifyNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ToTheMoonObstacleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6199
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ToTheMoonObstaclesModifyNotify {
+ repeated ToTheMoonObstacleInfo add_obstacles = 4;
+ repeated int32 remove_obstacle_ids = 13;
+ uint32 scene_id = 15;
+ bool use_edge = 1;
+}
diff --git a/protocol/proto/ToTheMoonPingNotify.proto b/protocol/proto/ToTheMoonPingNotify.proto
new file mode 100644
index 00000000..109e9e74
--- /dev/null
+++ b/protocol/proto/ToTheMoonPingNotify.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6112
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ToTheMoonPingNotify {}
diff --git a/protocol/proto/ToTheMoonQueryPathReq.proto b/protocol/proto/ToTheMoonQueryPathReq.proto
new file mode 100644
index 00000000..2d74476a
--- /dev/null
+++ b/protocol/proto/ToTheMoonQueryPathReq.proto
@@ -0,0 +1,57 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6172
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ToTheMoonQueryPathReq {
+ Vector destination_pos = 9;
+ int32 fuzzy_range = 15;
+ OptionType query_type = 8;
+ AStarMethod astar_method = 1;
+ uint32 scene_id = 6;
+ int32 query_id = 11;
+ FilterType filter_type = 3;
+ bool refined = 13;
+ bool use_full_neighbor = 5;
+ Vector source_pos = 10;
+
+ enum OptionType {
+ OPTION_TYPE_NONE = 0;
+ OPTION_TYPE_NORMAL = 1;
+ }
+
+ enum AStarMethod {
+ A_STAR_METHOD_CLASSIC = 0;
+ A_STAR_METHOD_TENDENCY = 1;
+ A_STAR_METHOD_ADAPTIVE = 2;
+ A_STAR_METHOD_INFLECTION = 3;
+ }
+
+ enum FilterType {
+ FILTER_TYPE_ALL = 0;
+ FILTER_TYPE_AIR = 1;
+ FILTER_TYPE_WATER = 2;
+ }
+}
diff --git a/protocol/proto/ToTheMoonQueryPathRsp.proto b/protocol/proto/ToTheMoonQueryPathRsp.proto
new file mode 100644
index 00000000..e61fa6ff
--- /dev/null
+++ b/protocol/proto/ToTheMoonQueryPathRsp.proto
@@ -0,0 +1,40 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6198
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ToTheMoonQueryPathRsp {
+ PathStatusType query_status = 7;
+ repeated int64 index = 3;
+ repeated Vector corners = 14;
+ repeated int32 level = 1;
+ int32 retcode = 8;
+ int32 query_id = 9;
+
+ enum PathStatusType {
+ PATH_STATUS_TYPE_FAIL = 0;
+ PATH_STATUS_TYPE_SUCC = 1;
+ PATH_STATUS_TYPE_PARTIAL = 2;
+ }
+}
diff --git a/protocol/proto/ToTheMoonRemoveObstacleReq.proto b/protocol/proto/ToTheMoonRemoveObstacleReq.proto
new file mode 100644
index 00000000..59b38263
--- /dev/null
+++ b/protocol/proto/ToTheMoonRemoveObstacleReq.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6190
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ToTheMoonRemoveObstacleReq {
+ int32 handle = 12;
+ uint32 scene_id = 10;
+ int32 query_id = 11;
+
+ enum ObstacleType {
+ OBSTACLE_TYPE_BOX = 0;
+ OBSTACLE_TYPE_CAPSULE = 1;
+ }
+}
diff --git a/protocol/proto/ToTheMoonRemoveObstacleRsp.proto b/protocol/proto/ToTheMoonRemoveObstacleRsp.proto
new file mode 100644
index 00000000..bead974c
--- /dev/null
+++ b/protocol/proto/ToTheMoonRemoveObstacleRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DynamicNodes.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6173
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ToTheMoonRemoveObstacleRsp {
+ int32 query_id = 3;
+ int32 retcode = 14;
+ DynamicNodes dynamic_nodes = 8;
+}
diff --git a/protocol/proto/TowerAllDataReq.proto b/protocol/proto/TowerAllDataReq.proto
new file mode 100644
index 00000000..756a3ddd
--- /dev/null
+++ b/protocol/proto/TowerAllDataReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2490
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TowerAllDataReq {
+ bool is_interact = 2;
+}
diff --git a/protocol/proto/TowerAllDataRsp.proto b/protocol/proto/TowerAllDataRsp.proto
new file mode 100644
index 00000000..2e4ba6b7
--- /dev/null
+++ b/protocol/proto/TowerAllDataRsp.proto
@@ -0,0 +1,47 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerCurLevelRecord.proto";
+import "TowerFloorRecord.proto";
+import "TowerMonthlyBrief.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2473
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerAllDataRsp {
+ uint32 tower_schedule_id = 10;
+ uint32 daily_level_index = 9;
+ map skip_floor_granted_reward_item_map = 12;
+ bool is_first_interact = 3;
+ bool is_finished_entrance_floor = 1;
+ repeated TowerFloorRecord tower_floor_record_list = 5;
+ uint32 daily_floor_id = 11;
+ uint32 commemorative_reward_id = 13;
+ TowerMonthlyBrief last_schedule_monthly_brief = 1222;
+ uint32 next_schedule_change_time = 6;
+ uint32 valid_tower_record_num = 7;
+ uint32 skip_to_floor_index = 2;
+ map floor_open_time_map = 4;
+ TowerCurLevelRecord cur_level_record = 15;
+ int32 retcode = 8;
+ uint32 schedule_start_time = 914;
+ TowerMonthlyBrief monthly_brief = 14;
+}
diff --git a/protocol/proto/TowerBriefDataNotify.proto b/protocol/proto/TowerBriefDataNotify.proto
new file mode 100644
index 00000000..b7b8867f
--- /dev/null
+++ b/protocol/proto/TowerBriefDataNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2472
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerBriefDataNotify {
+ uint32 total_star_num = 11;
+ uint32 last_floor_index = 8;
+ uint32 schedule_start_time = 15;
+ uint32 next_schedule_change_time = 6;
+ bool is_finished_entrance_floor = 14;
+ uint32 last_level_index = 4;
+ uint32 tower_schedule_id = 5;
+}
diff --git a/protocol/proto/TowerBuffSelectReq.proto b/protocol/proto/TowerBuffSelectReq.proto
new file mode 100644
index 00000000..98410a23
--- /dev/null
+++ b/protocol/proto/TowerBuffSelectReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2448
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TowerBuffSelectReq {
+ uint32 tower_buff_id = 5;
+}
diff --git a/protocol/proto/TowerBuffSelectRsp.proto b/protocol/proto/TowerBuffSelectRsp.proto
new file mode 100644
index 00000000..95179f7f
--- /dev/null
+++ b/protocol/proto/TowerBuffSelectRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2497
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerBuffSelectRsp {
+ int32 retcode = 11;
+ uint32 tower_buff_id = 13;
+}
diff --git a/protocol/proto/TowerCurLevelRecord.proto b/protocol/proto/TowerCurLevelRecord.proto
new file mode 100644
index 00000000..6448c662
--- /dev/null
+++ b/protocol/proto/TowerCurLevelRecord.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerTeam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TowerCurLevelRecord {
+ repeated TowerTeam tower_team_list = 8;
+ bool is_empty = 6;
+ repeated uint32 buff_id_list = 4;
+ bool is_upper_part = 2;
+ uint32 cur_level_index = 1;
+ uint32 cur_floor_id = 15;
+}
diff --git a/protocol/proto/TowerCurLevelRecordChangeNotify.proto b/protocol/proto/TowerCurLevelRecordChangeNotify.proto
new file mode 100644
index 00000000..c437f649
--- /dev/null
+++ b/protocol/proto/TowerCurLevelRecordChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerCurLevelRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2412
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerCurLevelRecordChangeNotify {
+ TowerCurLevelRecord cur_level_record = 10;
+}
diff --git a/protocol/proto/TowerDailyRewardProgressChangeNotify.proto b/protocol/proto/TowerDailyRewardProgressChangeNotify.proto
new file mode 100644
index 00000000..fa22db4b
--- /dev/null
+++ b/protocol/proto/TowerDailyRewardProgressChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2435
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerDailyRewardProgressChangeNotify {
+ uint32 daily_floor_id = 15;
+ uint32 daily_level_index = 9;
+}
diff --git a/protocol/proto/TowerEnterLevelReq.proto b/protocol/proto/TowerEnterLevelReq.proto
new file mode 100644
index 00000000..1f963e8e
--- /dev/null
+++ b/protocol/proto/TowerEnterLevelReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2431
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TowerEnterLevelReq {
+ uint32 enter_point_id = 3;
+}
diff --git a/protocol/proto/TowerEnterLevelRsp.proto b/protocol/proto/TowerEnterLevelRsp.proto
new file mode 100644
index 00000000..be199712
--- /dev/null
+++ b/protocol/proto/TowerEnterLevelRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2475
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerEnterLevelRsp {
+ repeated uint32 tower_buff_id_list = 10;
+ int32 retcode = 1;
+ uint32 level_index = 14;
+ uint32 floor_id = 5;
+}
diff --git a/protocol/proto/TowerFightRecordPair.proto b/protocol/proto/TowerFightRecordPair.proto
new file mode 100644
index 00000000..1b4f5841
--- /dev/null
+++ b/protocol/proto/TowerFightRecordPair.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TowerFightRecordPair {
+ uint32 avatar_id = 1;
+ uint32 data = 3;
+}
diff --git a/protocol/proto/TowerFloorRecord.proto b/protocol/proto/TowerFloorRecord.proto
new file mode 100644
index 00000000..a5cd7536
--- /dev/null
+++ b/protocol/proto/TowerFloorRecord.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerLevelRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TowerFloorRecord {
+ uint32 floor_star_reward_progress = 15;
+ map passed_level_map = 8;
+ uint32 floor_id = 12;
+ repeated TowerLevelRecord passed_level_record_list = 2;
+}
diff --git a/protocol/proto/TowerFloorRecordChangeNotify.proto b/protocol/proto/TowerFloorRecordChangeNotify.proto
new file mode 100644
index 00000000..87ea1638
--- /dev/null
+++ b/protocol/proto/TowerFloorRecordChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerFloorRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2498
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerFloorRecordChangeNotify {
+ bool is_finished_entrance_floor = 11;
+ repeated TowerFloorRecord tower_floor_record_list = 8;
+}
diff --git a/protocol/proto/TowerGetFloorStarRewardReq.proto b/protocol/proto/TowerGetFloorStarRewardReq.proto
new file mode 100644
index 00000000..dfbc62b8
--- /dev/null
+++ b/protocol/proto/TowerGetFloorStarRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2404
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TowerGetFloorStarRewardReq {
+ uint32 floor_id = 15;
+}
diff --git a/protocol/proto/TowerGetFloorStarRewardRsp.proto b/protocol/proto/TowerGetFloorStarRewardRsp.proto
new file mode 100644
index 00000000..2634dfcd
--- /dev/null
+++ b/protocol/proto/TowerGetFloorStarRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2493
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerGetFloorStarRewardRsp {
+ int32 retcode = 11;
+ uint32 floor_id = 9;
+}
diff --git a/protocol/proto/TowerLevelEndNotify.proto b/protocol/proto/TowerLevelEndNotify.proto
new file mode 100644
index 00000000..0d739fd1
--- /dev/null
+++ b/protocol/proto/TowerLevelEndNotify.proto
@@ -0,0 +1,39 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2495
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerLevelEndNotify {
+ uint32 next_floor_id = 4;
+ repeated ItemParam reward_item_list = 12;
+ uint32 continue_state = 15;
+ bool is_success = 5;
+ repeated uint32 finished_star_cond_list = 6;
+
+ enum ContinueStateType {
+ CONTINUE_STATE_TYPE_CAN_NOT_CONTINUE = 0;
+ CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_LEVEL = 1;
+ CONTINUE_STATE_TYPE_CAN_ENTER_NEXT_FLOOR = 2;
+ }
+}
diff --git a/protocol/proto/TowerLevelRecord.proto b/protocol/proto/TowerLevelRecord.proto
new file mode 100644
index 00000000..5ccab02f
--- /dev/null
+++ b/protocol/proto/TowerLevelRecord.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TowerLevelRecord {
+ repeated uint32 satisfied_cond_list = 13;
+ uint32 level_id = 10;
+}
diff --git a/protocol/proto/TowerLevelStarCondData.proto b/protocol/proto/TowerLevelStarCondData.proto
new file mode 100644
index 00000000..ec7da712
--- /dev/null
+++ b/protocol/proto/TowerLevelStarCondData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TowerLevelStarCondData {
+ bool is_fail = 15;
+ uint32 cond_value = 9;
+ bool is_pause = 13;
+ uint32 star_cond_index = 6;
+}
diff --git a/protocol/proto/TowerLevelStarCondNotify.proto b/protocol/proto/TowerLevelStarCondNotify.proto
new file mode 100644
index 00000000..32acfb74
--- /dev/null
+++ b/protocol/proto/TowerLevelStarCondNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerLevelStarCondData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2406
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerLevelStarCondNotify {
+ uint32 level_index = 14;
+ uint32 floor_id = 11;
+ repeated TowerLevelStarCondData cond_data_list = 9;
+}
diff --git a/protocol/proto/TowerMiddleLevelChangeTeamNotify.proto b/protocol/proto/TowerMiddleLevelChangeTeamNotify.proto
new file mode 100644
index 00000000..c3961045
--- /dev/null
+++ b/protocol/proto/TowerMiddleLevelChangeTeamNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2434
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerMiddleLevelChangeTeamNotify {}
diff --git a/protocol/proto/TowerMonthlyBrief.proto b/protocol/proto/TowerMonthlyBrief.proto
new file mode 100644
index 00000000..7426b537
--- /dev/null
+++ b/protocol/proto/TowerMonthlyBrief.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TowerMonthlyBrief {
+ uint32 tower_schedule_id = 15;
+ uint32 best_floor_index = 6;
+ uint32 best_level_index = 3;
+ uint32 total_star_count = 12;
+}
diff --git a/protocol/proto/TowerMonthlyCombatRecord.proto b/protocol/proto/TowerMonthlyCombatRecord.proto
new file mode 100644
index 00000000..99399ef4
--- /dev/null
+++ b/protocol/proto/TowerMonthlyCombatRecord.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerFightRecordPair.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TowerMonthlyCombatRecord {
+ TowerFightRecordPair most_kill_avatar_pair = 14;
+ TowerFightRecordPair most_cast_normal_skill_avatar_pair = 8;
+ repeated TowerFightRecordPair most_reveal_avatar_list = 6;
+ TowerFightRecordPair most_cast_energy_skill_avatar_pair = 4;
+ TowerFightRecordPair highest_dps_avatr_pair = 12;
+ TowerFightRecordPair most_take_damage_avatar_pair = 9;
+}
diff --git a/protocol/proto/TowerMonthlyDetail.proto b/protocol/proto/TowerMonthlyDetail.proto
new file mode 100644
index 00000000..b0a9be92
--- /dev/null
+++ b/protocol/proto/TowerMonthlyDetail.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerMonthlyBrief.proto";
+import "TowerMonthlyCombatRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TowerMonthlyDetail {
+ TowerMonthlyCombatRecord monthly_combat_record = 2;
+ TowerMonthlyBrief monthly_brief = 12;
+}
diff --git a/protocol/proto/TowerRecordHandbookReq.proto b/protocol/proto/TowerRecordHandbookReq.proto
new file mode 100644
index 00000000..a47920d3
--- /dev/null
+++ b/protocol/proto/TowerRecordHandbookReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2450
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TowerRecordHandbookReq {}
diff --git a/protocol/proto/TowerRecordHandbookRsp.proto b/protocol/proto/TowerRecordHandbookRsp.proto
new file mode 100644
index 00000000..245ab07c
--- /dev/null
+++ b/protocol/proto/TowerRecordHandbookRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerMonthlyDetail.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2443
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerRecordHandbookRsp {
+ int32 retcode = 7;
+ repeated TowerMonthlyDetail monthly_detail_list = 14;
+}
diff --git a/protocol/proto/TowerSurrenderReq.proto b/protocol/proto/TowerSurrenderReq.proto
new file mode 100644
index 00000000..2806f629
--- /dev/null
+++ b/protocol/proto/TowerSurrenderReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2422
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TowerSurrenderReq {}
diff --git a/protocol/proto/TowerSurrenderRsp.proto b/protocol/proto/TowerSurrenderRsp.proto
new file mode 100644
index 00000000..2e05e36f
--- /dev/null
+++ b/protocol/proto/TowerSurrenderRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2465
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerSurrenderRsp {
+ int32 retcode = 9;
+}
diff --git a/protocol/proto/TowerTeam.proto b/protocol/proto/TowerTeam.proto
new file mode 100644
index 00000000..fc493a08
--- /dev/null
+++ b/protocol/proto/TowerTeam.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TowerTeam {
+ uint32 tower_team_id = 3;
+ repeated uint64 avatar_guid_list = 14;
+}
diff --git a/protocol/proto/TowerTeamSelectReq.proto b/protocol/proto/TowerTeamSelectReq.proto
new file mode 100644
index 00000000..537b61a0
--- /dev/null
+++ b/protocol/proto/TowerTeamSelectReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TowerTeam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2421
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TowerTeamSelectReq {
+ repeated TowerTeam tower_team_list = 11;
+ uint32 floor_id = 10;
+}
diff --git a/protocol/proto/TowerTeamSelectRsp.proto b/protocol/proto/TowerTeamSelectRsp.proto
new file mode 100644
index 00000000..ded14129
--- /dev/null
+++ b/protocol/proto/TowerTeamSelectRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2403
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TowerTeamSelectRsp {
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/TrackingIOInfo.proto b/protocol/proto/TrackingIOInfo.proto
new file mode 100644
index 00000000..02af1d2e
--- /dev/null
+++ b/protocol/proto/TrackingIOInfo.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TrackingIOInfo {
+ string rydevicetype = 11;
+ string mac = 6;
+ string deviceid = 9;
+ string client_tz = 5;
+ string current_caid = 7;
+ string cached_caid = 15;
+ string appid = 1;
+}
diff --git a/protocol/proto/TransmitReason.proto b/protocol/proto/TransmitReason.proto
new file mode 100644
index 00000000..32ef6f56
--- /dev/null
+++ b/protocol/proto/TransmitReason.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum TransmitReason {
+ TRANSMIT_REASON_NONE = 0;
+ TRANSMIT_REASON_QUEST = 1;
+}
diff --git a/protocol/proto/TreasureMapActivityDetailInfo.proto b/protocol/proto/TreasureMapActivityDetailInfo.proto
new file mode 100644
index 00000000..04a04b04
--- /dev/null
+++ b/protocol/proto/TreasureMapActivityDetailInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TreasureMapBonusChallengeInfo.proto";
+import "TreasureMapRegionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TreasureMapActivityDetailInfo {
+ uint32 active_region_index = 1;
+ repeated TreasureMapRegionInfo region_info_list = 6;
+ bool is_mp_challenge_touched = 7;
+ uint32 treasure_close_time = 10;
+ repeated TreasureMapBonusChallengeInfo bonus_challenge_list = 5;
+ uint32 currency_num = 2;
+ uint32 preview_reward_id = 14;
+ uint32 min_open_player_level = 8;
+ uint32 total_mp_spot_num = 13;
+}
diff --git a/protocol/proto/TreasureMapBonusChallengeInfo.proto b/protocol/proto/TreasureMapBonusChallengeInfo.proto
new file mode 100644
index 00000000..b1ab1788
--- /dev/null
+++ b/protocol/proto/TreasureMapBonusChallengeInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TreasureMapBonusChallengeInfo {
+ bool is_done = 5;
+ uint32 config_id = 10;
+ bool is_active = 1;
+ map fragment_map = 12;
+ uint32 solution_id = 8;
+}
diff --git a/protocol/proto/TreasureMapBonusChallengeNotify.proto b/protocol/proto/TreasureMapBonusChallengeNotify.proto
new file mode 100644
index 00000000..d490c316
--- /dev/null
+++ b/protocol/proto/TreasureMapBonusChallengeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TreasureMapBonusChallengeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2115
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureMapBonusChallengeNotify {
+ TreasureMapBonusChallengeInfo info = 5;
+}
diff --git a/protocol/proto/TreasureMapCurrencyNotify.proto b/protocol/proto/TreasureMapCurrencyNotify.proto
new file mode 100644
index 00000000..43c7c6a7
--- /dev/null
+++ b/protocol/proto/TreasureMapCurrencyNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2171
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureMapCurrencyNotify {
+ uint32 currency_num = 8;
+}
diff --git a/protocol/proto/TreasureMapDetectorData.proto b/protocol/proto/TreasureMapDetectorData.proto
new file mode 100644
index 00000000..7a40bc7b
--- /dev/null
+++ b/protocol/proto/TreasureMapDetectorData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TreasureMapDetectorData {
+ uint32 region_id = 4;
+ Vector center_pos = 7;
+ bool is_region_detected = 6;
+ repeated Vector spot_list = 10;
+ uint32 radius = 14;
+}
diff --git a/protocol/proto/TreasureMapDetectorDataNotify.proto b/protocol/proto/TreasureMapDetectorDataNotify.proto
new file mode 100644
index 00000000..c45daccf
--- /dev/null
+++ b/protocol/proto/TreasureMapDetectorDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TreasureMapDetectorData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4300
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureMapDetectorDataNotify {
+ TreasureMapDetectorData data = 2;
+}
diff --git a/protocol/proto/TreasureMapGuideTaskDoneNotify.proto b/protocol/proto/TreasureMapGuideTaskDoneNotify.proto
new file mode 100644
index 00000000..f904f3ce
--- /dev/null
+++ b/protocol/proto/TreasureMapGuideTaskDoneNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2119
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureMapGuideTaskDoneNotify {}
diff --git a/protocol/proto/TreasureMapHostInfoNotify.proto b/protocol/proto/TreasureMapHostInfoNotify.proto
new file mode 100644
index 00000000..844a1efd
--- /dev/null
+++ b/protocol/proto/TreasureMapHostInfoNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8681
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureMapHostInfoNotify {
+ repeated uint32 mp_challenge_region_list = 8;
+}
diff --git a/protocol/proto/TreasureMapMpChallengeNotify.proto b/protocol/proto/TreasureMapMpChallengeNotify.proto
new file mode 100644
index 00000000..3bc1d175
--- /dev/null
+++ b/protocol/proto/TreasureMapMpChallengeNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2048
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureMapMpChallengeNotify {}
diff --git a/protocol/proto/TreasureMapPreTaskDoneNotify.proto b/protocol/proto/TreasureMapPreTaskDoneNotify.proto
new file mode 100644
index 00000000..8f0efebb
--- /dev/null
+++ b/protocol/proto/TreasureMapPreTaskDoneNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2152
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureMapPreTaskDoneNotify {}
diff --git a/protocol/proto/TreasureMapRegionActiveNotify.proto b/protocol/proto/TreasureMapRegionActiveNotify.proto
new file mode 100644
index 00000000..669715bb
--- /dev/null
+++ b/protocol/proto/TreasureMapRegionActiveNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2122
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureMapRegionActiveNotify {
+ uint32 active_region_index = 14;
+}
diff --git a/protocol/proto/TreasureMapRegionInfo.proto b/protocol/proto/TreasureMapRegionInfo.proto
new file mode 100644
index 00000000..ed6553eb
--- /dev/null
+++ b/protocol/proto/TreasureMapRegionInfo.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TreasureMapRegionInfo {
+ uint32 start_time = 6;
+ uint32 current_progress = 11;
+ bool is_done_mp_spot = 3;
+ uint32 scene_id = 2;
+ uint32 goal_points = 12;
+ bool is_find_mp_spot = 4;
+ uint32 region_radius = 1;
+ Vector region_center_pos = 9;
+ uint32 region_id = 5;
+}
diff --git a/protocol/proto/TreasureMapRegionInfoNotify.proto b/protocol/proto/TreasureMapRegionInfoNotify.proto
new file mode 100644
index 00000000..ff6e3769
--- /dev/null
+++ b/protocol/proto/TreasureMapRegionInfoNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TreasureMapRegionInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2185
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureMapRegionInfoNotify {
+ TreasureMapRegionInfo region_info = 14;
+}
diff --git a/protocol/proto/TreasureSeelieActivityDetailInfo.proto b/protocol/proto/TreasureSeelieActivityDetailInfo.proto
new file mode 100644
index 00000000..36f48659
--- /dev/null
+++ b/protocol/proto/TreasureSeelieActivityDetailInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TreasureSeelieRegionData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TreasureSeelieActivityDetailInfo {
+ uint32 treasure_close_time = 10;
+ bool is_content_closed = 8;
+ repeated TreasureSeelieRegionData region_data_list = 14;
+}
diff --git a/protocol/proto/TreasureSeelieCollectOrbsNotify.proto b/protocol/proto/TreasureSeelieCollectOrbsNotify.proto
new file mode 100644
index 00000000..d3d2c1f9
--- /dev/null
+++ b/protocol/proto/TreasureSeelieCollectOrbsNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20754
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TreasureSeelieCollectOrbsNotify {
+ uint32 current_num = 11;
+ uint32 total_num = 5;
+}
diff --git a/protocol/proto/TreasureSeelieRegionData.proto b/protocol/proto/TreasureSeelieRegionData.proto
new file mode 100644
index 00000000..07e3fe55
--- /dev/null
+++ b/protocol/proto/TreasureSeelieRegionData.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TreasureSeelieRegionData {
+ bool is_done = 12;
+ uint32 open_day = 6;
+ uint32 opened_chest_num = 10;
+ float region_radius = 7;
+ bool is_open = 9;
+ uint32 open_time = 8;
+ Vector region_center_pos = 11;
+ uint32 scene_id = 13;
+ uint32 total_chest_num = 15;
+ uint32 region_id = 1;
+}
diff --git a/protocol/proto/TrialAvatarActivityDetailInfo.proto b/protocol/proto/TrialAvatarActivityDetailInfo.proto
new file mode 100644
index 00000000..edfe60f7
--- /dev/null
+++ b/protocol/proto/TrialAvatarActivityDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "TrialAvatarActivityRewardDetailInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TrialAvatarActivityDetailInfo {
+ repeated TrialAvatarActivityRewardDetailInfo reward_info_list = 13;
+}
diff --git a/protocol/proto/TrialAvatarActivityRewardDetailInfo.proto b/protocol/proto/TrialAvatarActivityRewardDetailInfo.proto
new file mode 100644
index 00000000..fbb66fb0
--- /dev/null
+++ b/protocol/proto/TrialAvatarActivityRewardDetailInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TrialAvatarActivityRewardDetailInfo {
+ bool passed_dungeon = 2;
+ uint32 trial_avatar_index_id = 4;
+ bool received_reward = 5;
+ uint32 reward_id = 7;
+}
diff --git a/protocol/proto/TrialAvatarFirstPassDungeonNotify.proto b/protocol/proto/TrialAvatarFirstPassDungeonNotify.proto
new file mode 100644
index 00000000..3709dba8
--- /dev/null
+++ b/protocol/proto/TrialAvatarFirstPassDungeonNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2013
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TrialAvatarFirstPassDungeonNotify {
+ uint32 trial_avatar_index_id = 10;
+}
diff --git a/protocol/proto/TrialAvatarGrantRecord.proto b/protocol/proto/TrialAvatarGrantRecord.proto
new file mode 100644
index 00000000..a3f4760a
--- /dev/null
+++ b/protocol/proto/TrialAvatarGrantRecord.proto
@@ -0,0 +1,42 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TrialAvatarGrantRecord {
+ uint32 grant_reason = 1;
+ uint32 from_parent_quest_id = 2;
+
+ enum GrantReason {
+ GRANT_REASON_INVALID = 0;
+ GRANT_REASON_BY_QUEST = 1;
+ GRANT_REASON_BY_TRIAL_AVATAR_ACTIVITY = 2;
+ GRANT_REASON_BY_DUNGEON_ELEMENT_CHALLENGE = 3;
+ GRANT_REASON_BY_MIST_TRIAL_ACTIVITY = 4;
+ GRANT_REASON_BY_SUMO_ACTIVITY = 5;
+ GRANT_REASON_BY_POTION_ACTIVITY = 6;
+ GRANT_REASON_BY_CRYSTAL_LINK_ACTIVITY = 7;
+ GRANT_REASON_BY_IRODORI_MASTER = 8;
+ GRANT_REASON_BY_GM = 9;
+ GRANT_REASON_BY_INSTABLE_SPRAY_ACTIVITY = 10;
+ GRANT_REASON_BY_MUQADAS_POTION_ACTIVITY = 11;
+ GRANT_REASON_BY_VINTAGE_HUNTING = 12;
+ GRANT_REASON_BY_CHAR_AMUSEMENT = 13;
+ }
+}
diff --git a/protocol/proto/TrialAvatarInDungeonIndexNotify.proto b/protocol/proto/TrialAvatarInDungeonIndexNotify.proto
new file mode 100644
index 00000000..fc7792af
--- /dev/null
+++ b/protocol/proto/TrialAvatarInDungeonIndexNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2186
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TrialAvatarInDungeonIndexNotify {
+ uint32 trial_avatar_index_id = 14;
+}
diff --git a/protocol/proto/TrialAvatarInfo.proto b/protocol/proto/TrialAvatarInfo.proto
new file mode 100644
index 00000000..019e55de
--- /dev/null
+++ b/protocol/proto/TrialAvatarInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Item.proto";
+import "TrialAvatarGrantRecord.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message TrialAvatarInfo {
+ uint32 trial_avatar_id = 1;
+ repeated Item trial_equip_list = 2;
+ TrialAvatarGrantRecord grant_record = 3;
+}
diff --git a/protocol/proto/TriggerCreateGadgetToEquipPartNotify.proto b/protocol/proto/TriggerCreateGadgetToEquipPartNotify.proto
new file mode 100644
index 00000000..00e3c30e
--- /dev/null
+++ b/protocol/proto/TriggerCreateGadgetToEquipPartNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 350
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TriggerCreateGadgetToEquipPartNotify {
+ uint32 gadget_id = 1;
+ uint32 entity_id = 13;
+ string equip_part = 14;
+ uint32 gadget_entity_id = 10;
+}
diff --git a/protocol/proto/TriggerRoguelikeCurseNotify.proto b/protocol/proto/TriggerRoguelikeCurseNotify.proto
new file mode 100644
index 00000000..b476f2da
--- /dev/null
+++ b/protocol/proto/TriggerRoguelikeCurseNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8412
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TriggerRoguelikeCurseNotify {
+ repeated uint32 effect_param_list = 14;
+ uint32 curse_group_id = 9;
+ bool is_trigger_curse = 13;
+ uint32 curse_level = 3;
+}
diff --git a/protocol/proto/TriggerRoguelikeRuneReq.proto b/protocol/proto/TriggerRoguelikeRuneReq.proto
new file mode 100644
index 00000000..47e1099e
--- /dev/null
+++ b/protocol/proto/TriggerRoguelikeRuneReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8463
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TriggerRoguelikeRuneReq {
+ uint32 rune_id = 8;
+}
diff --git a/protocol/proto/TriggerRoguelikeRuneRsp.proto b/protocol/proto/TriggerRoguelikeRuneRsp.proto
new file mode 100644
index 00000000..00a4d76f
--- /dev/null
+++ b/protocol/proto/TriggerRoguelikeRuneRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8065
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TriggerRoguelikeRuneRsp {
+ uint32 available_count = 4;
+ uint32 rune_id = 14;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/TryCustomDungeonReq.proto b/protocol/proto/TryCustomDungeonReq.proto
new file mode 100644
index 00000000..5ad4cbe8
--- /dev/null
+++ b/protocol/proto/TryCustomDungeonReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6245
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TryCustomDungeonReq {
+ uint32 room_id = 13;
+}
diff --git a/protocol/proto/TryCustomDungeonRsp.proto b/protocol/proto/TryCustomDungeonRsp.proto
new file mode 100644
index 00000000..27d8d5ec
--- /dev/null
+++ b/protocol/proto/TryCustomDungeonRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6241
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TryCustomDungeonRsp {
+ uint32 room_id = 4;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/TryCustomDungeonType.proto b/protocol/proto/TryCustomDungeonType.proto
new file mode 100644
index 00000000..bb53c9d3
--- /dev/null
+++ b/protocol/proto/TryCustomDungeonType.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum TryCustomDungeonType {
+ TRY_CUSTOM_DUNGEON_TYPE_NONE = 0;
+ TRY_CUSTOM_DUNGEON_TYPE_ROOM = 1;
+ TRY_CUSTOM_DUNGEON_TYPE_ALL = 2;
+ TRY_CUSTOM_DUNGEON_TYPE_OFFICIAL_PLAY = 3;
+}
diff --git a/protocol/proto/TryEnterHomeReq.proto b/protocol/proto/TryEnterHomeReq.proto
new file mode 100644
index 00000000..791904ee
--- /dev/null
+++ b/protocol/proto/TryEnterHomeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4482
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TryEnterHomeReq {
+ uint32 target_uid = 3;
+ bool is_transfer_to_safe_point = 10;
+ uint32 target_point = 9;
+}
diff --git a/protocol/proto/TryEnterHomeRsp.proto b/protocol/proto/TryEnterHomeRsp.proto
new file mode 100644
index 00000000..ce525927
--- /dev/null
+++ b/protocol/proto/TryEnterHomeRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4653
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TryEnterHomeRsp {
+ uint32 target_uid = 15;
+ int32 retcode = 4;
+ repeated uint32 param_list = 10;
+}
diff --git a/protocol/proto/TryEnterNextRogueDiaryDungeonReq.proto b/protocol/proto/TryEnterNextRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..5cf3b60d
--- /dev/null
+++ b/protocol/proto/TryEnterNextRogueDiaryDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8280
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TryEnterNextRogueDiaryDungeonReq {}
diff --git a/protocol/proto/TryEnterNextRogueDiaryDungeonRsp.proto b/protocol/proto/TryEnterNextRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..1c04be5d
--- /dev/null
+++ b/protocol/proto/TryEnterNextRogueDiaryDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8362
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TryEnterNextRogueDiaryDungeonRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/TryInterruptRogueDiaryDungeonReq.proto b/protocol/proto/TryInterruptRogueDiaryDungeonReq.proto
new file mode 100644
index 00000000..6e57cf1b
--- /dev/null
+++ b/protocol/proto/TryInterruptRogueDiaryDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8617
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message TryInterruptRogueDiaryDungeonReq {}
diff --git a/protocol/proto/TryInterruptRogueDiaryDungeonRsp.proto b/protocol/proto/TryInterruptRogueDiaryDungeonRsp.proto
new file mode 100644
index 00000000..1b32e55c
--- /dev/null
+++ b/protocol/proto/TryInterruptRogueDiaryDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8903
+// EnetChannelId: 0
+// EnetIsReliable: true
+message TryInterruptRogueDiaryDungeonRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/UgcActivityDetailInfo.proto b/protocol/proto/UgcActivityDetailInfo.proto
new file mode 100644
index 00000000..c27c1fb8
--- /dev/null
+++ b/protocol/proto/UgcActivityDetailInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OfficialCustomDungeon.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message UgcActivityDetailInfo {
+ bool is_ugc_feature_closed = 10;
+ uint32 custom_dungeon_group_id = 12;
+ repeated OfficialCustomDungeon official_custom_dungeon_list = 5;
+ bool is_enable_ugc = 11;
+}
diff --git a/protocol/proto/UgcMusicBriefInfo.proto b/protocol/proto/UgcMusicBriefInfo.proto
new file mode 100644
index 00000000..ae3d3172
--- /dev/null
+++ b/protocol/proto/UgcMusicBriefInfo.proto
@@ -0,0 +1,43 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message UgcMusicBriefInfo {
+ uint64 import_from_ugc_guid = 5;
+ bool is_published = 8;
+ bool is_played = 1;
+ uint32 music_id = 2;
+ uint32 save_page_type = 1182;
+ uint32 save_idx = 12;
+ string creator_nickname = 10;
+ uint32 version = 15;
+ uint32 save_time = 3;
+ repeated uint32 after_note_list = 1002;
+ repeated uint32 before_note_list = 982;
+ bool is_psn_platform = 9;
+ uint32 time_line_edit_time = 1822;
+ bool is_changed_after_publish = 11;
+ uint32 publish_time = 13;
+ uint32 max_score = 14;
+ uint32 real_time_edit_time = 576;
+ uint32 note_count = 7;
+ uint64 ugc_guid = 4;
+ uint32 self_max_score = 6;
+}
diff --git a/protocol/proto/UgcMusicNote.proto b/protocol/proto/UgcMusicNote.proto
new file mode 100644
index 00000000..eb9bd82b
--- /dev/null
+++ b/protocol/proto/UgcMusicNote.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message UgcMusicNote {
+ uint32 start_time = 12;
+ uint32 end_time = 5;
+}
diff --git a/protocol/proto/UgcMusicRecord.proto b/protocol/proto/UgcMusicRecord.proto
new file mode 100644
index 00000000..03384b08
--- /dev/null
+++ b/protocol/proto/UgcMusicRecord.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcMusicTrack.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message UgcMusicRecord {
+ repeated UgcMusicTrack music_track_list = 4;
+ uint32 music_id = 13;
+}
diff --git a/protocol/proto/UgcMusicTrack.proto b/protocol/proto/UgcMusicTrack.proto
new file mode 100644
index 00000000..0f74bf7e
--- /dev/null
+++ b/protocol/proto/UgcMusicTrack.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UgcMusicNote.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message UgcMusicTrack {
+ repeated UgcMusicNote music_note_list = 6;
+}
diff --git a/protocol/proto/UgcNotify.proto b/protocol/proto/UgcNotify.proto
new file mode 100644
index 00000000..9a5b4aa5
--- /dev/null
+++ b/protocol/proto/UgcNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6341
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UgcNotify {
+ bool is_ugc_publish_ban = 12;
+ bool is_ugc_publish_feature_closed = 8;
+ bool is_ugc_feature_closed = 15;
+}
diff --git a/protocol/proto/UgcType.proto b/protocol/proto/UgcType.proto
new file mode 100644
index 00000000..6e711bef
--- /dev/null
+++ b/protocol/proto/UgcType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum UgcType {
+ UGC_TYPE_NONE = 0;
+ UGC_TYPE_MUSIC_GAME = 1;
+}
diff --git a/protocol/proto/Uint32Pair.proto b/protocol/proto/Uint32Pair.proto
new file mode 100644
index 00000000..b6d7420d
--- /dev/null
+++ b/protocol/proto/Uint32Pair.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Uint32Pair {
+ uint32 key = 1;
+ uint32 value = 2;
+}
diff --git a/protocol/proto/UnfreezeGroupLimitNotify.proto b/protocol/proto/UnfreezeGroupLimitNotify.proto
new file mode 100644
index 00000000..fb8ce23c
--- /dev/null
+++ b/protocol/proto/UnfreezeGroupLimitNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3220
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UnfreezeGroupLimitNotify {
+ uint32 point_id = 9;
+ uint32 scene_id = 11;
+}
diff --git a/protocol/proto/UnionCmd.proto b/protocol/proto/UnionCmd.proto
new file mode 100644
index 00000000..e94269f1
--- /dev/null
+++ b/protocol/proto/UnionCmd.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message UnionCmd {
+ bytes body = 14;
+ uint32 message_id = 8;
+}
diff --git a/protocol/proto/UnionCmdNotify.proto b/protocol/proto/UnionCmdNotify.proto
new file mode 100644
index 00000000..d7901f6d
--- /dev/null
+++ b/protocol/proto/UnionCmdNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "UnionCmd.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UnionCmdNotify {
+ repeated UnionCmd cmd_list = 1;
+}
diff --git a/protocol/proto/UnlockAvatarTalentReq.proto b/protocol/proto/UnlockAvatarTalentReq.proto
new file mode 100644
index 00000000..f53a4f96
--- /dev/null
+++ b/protocol/proto/UnlockAvatarTalentReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1072
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UnlockAvatarTalentReq {
+ uint32 talent_id = 13;
+ uint64 avatar_guid = 3;
+}
diff --git a/protocol/proto/UnlockAvatarTalentRsp.proto b/protocol/proto/UnlockAvatarTalentRsp.proto
new file mode 100644
index 00000000..880f9d60
--- /dev/null
+++ b/protocol/proto/UnlockAvatarTalentRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1098
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UnlockAvatarTalentRsp {
+ uint32 talent_id = 2;
+ int32 retcode = 3;
+ uint64 avatar_guid = 10;
+}
diff --git a/protocol/proto/UnlockCoopChapterReq.proto b/protocol/proto/UnlockCoopChapterReq.proto
new file mode 100644
index 00000000..f9363a88
--- /dev/null
+++ b/protocol/proto/UnlockCoopChapterReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1970
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UnlockCoopChapterReq {
+ uint32 chapter_id = 3;
+}
diff --git a/protocol/proto/UnlockCoopChapterRsp.proto b/protocol/proto/UnlockCoopChapterRsp.proto
new file mode 100644
index 00000000..a12095bf
--- /dev/null
+++ b/protocol/proto/UnlockCoopChapterRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1995
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UnlockCoopChapterRsp {
+ uint32 chapter_id = 4;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/UnlockNameCardNotify.proto b/protocol/proto/UnlockNameCardNotify.proto
new file mode 100644
index 00000000..2420f9b6
--- /dev/null
+++ b/protocol/proto/UnlockNameCardNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4006
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UnlockNameCardNotify {
+ uint32 name_card_id = 8;
+}
diff --git a/protocol/proto/UnlockPersonalLineReq.proto b/protocol/proto/UnlockPersonalLineReq.proto
new file mode 100644
index 00000000..40621df4
--- /dev/null
+++ b/protocol/proto/UnlockPersonalLineReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 449
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UnlockPersonalLineReq {
+ uint32 personal_line_id = 4;
+}
diff --git a/protocol/proto/UnlockPersonalLineRsp.proto b/protocol/proto/UnlockPersonalLineRsp.proto
new file mode 100644
index 00000000..0eb92335
--- /dev/null
+++ b/protocol/proto/UnlockPersonalLineRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 491
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UnlockPersonalLineRsp {
+ int32 retcode = 4;
+ uint32 personal_line_id = 10;
+ oneof param {
+ uint32 level = 11;
+ uint32 chapter_id = 6;
+ }
+}
diff --git a/protocol/proto/UnlockTransPointReq.proto b/protocol/proto/UnlockTransPointReq.proto
new file mode 100644
index 00000000..b4563dae
--- /dev/null
+++ b/protocol/proto/UnlockTransPointReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3035
+// EnetChannelId: 1
+// EnetIsReliable: true
+// IsAllowClient: true
+message UnlockTransPointReq {
+ uint32 point_id = 12;
+ uint32 scene_id = 10;
+}
diff --git a/protocol/proto/UnlockTransPointRsp.proto b/protocol/proto/UnlockTransPointRsp.proto
new file mode 100644
index 00000000..710e0cc1
--- /dev/null
+++ b/protocol/proto/UnlockTransPointRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3426
+// EnetChannelId: 1
+// EnetIsReliable: true
+message UnlockTransPointRsp {
+ int32 retcode = 12;
+}
diff --git a/protocol/proto/UnlockedFurnitureFormulaDataNotify.proto b/protocol/proto/UnlockedFurnitureFormulaDataNotify.proto
new file mode 100644
index 00000000..b2a38012
--- /dev/null
+++ b/protocol/proto/UnlockedFurnitureFormulaDataNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4846
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UnlockedFurnitureFormulaDataNotify {
+ repeated uint32 furniture_id_list = 15;
+ bool is_all = 11;
+}
diff --git a/protocol/proto/UnlockedFurnitureSuiteDataNotify.proto b/protocol/proto/UnlockedFurnitureSuiteDataNotify.proto
new file mode 100644
index 00000000..7b6af629
--- /dev/null
+++ b/protocol/proto/UnlockedFurnitureSuiteDataNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4454
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UnlockedFurnitureSuiteDataNotify {
+ bool is_all = 10;
+ repeated uint32 furniture_suite_id_list = 5;
+}
diff --git a/protocol/proto/UnmarkEntityInMinMapNotify.proto b/protocol/proto/UnmarkEntityInMinMapNotify.proto
new file mode 100644
index 00000000..b485a0ae
--- /dev/null
+++ b/protocol/proto/UnmarkEntityInMinMapNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 219
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UnmarkEntityInMinMapNotify {
+ uint32 entity_id = 8;
+}
diff --git a/protocol/proto/UpdateAbilityCreatedMovingPlatformNotify.proto b/protocol/proto/UpdateAbilityCreatedMovingPlatformNotify.proto
new file mode 100644
index 00000000..ec93530d
--- /dev/null
+++ b/protocol/proto/UpdateAbilityCreatedMovingPlatformNotify.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 881
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UpdateAbilityCreatedMovingPlatformNotify {
+ uint32 entity_id = 4;
+ OpType op_type = 3;
+
+ enum OpType {
+ OP_TYPE_NONE = 0;
+ OP_TYPE_ACTIVATE = 1;
+ OP_TYPE_DEACTIVATE = 2;
+ }
+}
diff --git a/protocol/proto/UpdatePS4BlockListReq.proto b/protocol/proto/UpdatePS4BlockListReq.proto
new file mode 100644
index 00000000..3ae9a791
--- /dev/null
+++ b/protocol/proto/UpdatePS4BlockListReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4046
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UpdatePS4BlockListReq {
+ repeated string psn_id_list = 10;
+}
diff --git a/protocol/proto/UpdatePS4BlockListRsp.proto b/protocol/proto/UpdatePS4BlockListRsp.proto
new file mode 100644
index 00000000..63728507
--- /dev/null
+++ b/protocol/proto/UpdatePS4BlockListRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4041
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UpdatePS4BlockListRsp {
+ int32 retcode = 7;
+}
diff --git a/protocol/proto/UpdatePS4FriendListNotify.proto b/protocol/proto/UpdatePS4FriendListNotify.proto
new file mode 100644
index 00000000..16b2293f
--- /dev/null
+++ b/protocol/proto/UpdatePS4FriendListNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4039
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UpdatePS4FriendListNotify {
+ repeated string psn_id_list = 15;
+}
diff --git a/protocol/proto/UpdatePS4FriendListReq.proto b/protocol/proto/UpdatePS4FriendListReq.proto
new file mode 100644
index 00000000..580a51bd
--- /dev/null
+++ b/protocol/proto/UpdatePS4FriendListReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4089
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UpdatePS4FriendListReq {
+ repeated string psn_id_list = 4;
+}
diff --git a/protocol/proto/UpdatePS4FriendListRsp.proto b/protocol/proto/UpdatePS4FriendListRsp.proto
new file mode 100644
index 00000000..aa9c4f64
--- /dev/null
+++ b/protocol/proto/UpdatePS4FriendListRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4059
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UpdatePS4FriendListRsp {
+ int32 retcode = 5;
+ repeated string psn_id_list = 2;
+}
diff --git a/protocol/proto/UpdatePlayerShowAvatarListReq.proto b/protocol/proto/UpdatePlayerShowAvatarListReq.proto
new file mode 100644
index 00000000..ec24c6b8
--- /dev/null
+++ b/protocol/proto/UpdatePlayerShowAvatarListReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4067
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UpdatePlayerShowAvatarListReq {
+ bool is_show_avatar = 15;
+ repeated uint32 show_avatar_id_list = 13;
+}
diff --git a/protocol/proto/UpdatePlayerShowAvatarListRsp.proto b/protocol/proto/UpdatePlayerShowAvatarListRsp.proto
new file mode 100644
index 00000000..b405fb99
--- /dev/null
+++ b/protocol/proto/UpdatePlayerShowAvatarListRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4058
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UpdatePlayerShowAvatarListRsp {
+ repeated uint32 show_avatar_id_list = 1;
+ bool is_show_avatar = 3;
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/UpdatePlayerShowNameCardListReq.proto b/protocol/proto/UpdatePlayerShowNameCardListReq.proto
new file mode 100644
index 00000000..2b045818
--- /dev/null
+++ b/protocol/proto/UpdatePlayerShowNameCardListReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4002
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UpdatePlayerShowNameCardListReq {
+ repeated uint32 show_name_card_id_list = 15;
+}
diff --git a/protocol/proto/UpdatePlayerShowNameCardListRsp.proto b/protocol/proto/UpdatePlayerShowNameCardListRsp.proto
new file mode 100644
index 00000000..40ce08d2
--- /dev/null
+++ b/protocol/proto/UpdatePlayerShowNameCardListRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4019
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UpdatePlayerShowNameCardListRsp {
+ int32 retcode = 13;
+ repeated uint32 show_name_card_id_list = 12;
+}
diff --git a/protocol/proto/UpdateRedPointNotify.proto b/protocol/proto/UpdateRedPointNotify.proto
new file mode 100644
index 00000000..358123a7
--- /dev/null
+++ b/protocol/proto/UpdateRedPointNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "RedPointData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 93
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UpdateRedPointNotify {
+ repeated RedPointData red_point_list = 12;
+}
diff --git a/protocol/proto/UpdateReunionWatcherNotify.proto b/protocol/proto/UpdateReunionWatcherNotify.proto
new file mode 100644
index 00000000..a05d858a
--- /dev/null
+++ b/protocol/proto/UpdateReunionWatcherNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ReunionWatcherInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5091
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UpdateReunionWatcherNotify {
+ uint32 mission_id = 3;
+ ReunionWatcherInfo watcher_info = 10;
+}
diff --git a/protocol/proto/UpdateSalvageBundleMarkReq.proto b/protocol/proto/UpdateSalvageBundleMarkReq.proto
new file mode 100644
index 00000000..fbbe5f4b
--- /dev/null
+++ b/protocol/proto/UpdateSalvageBundleMarkReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8967
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UpdateSalvageBundleMarkReq {
+ uint32 stage_id = 14;
+ uint32 challenge_type = 13;
+}
diff --git a/protocol/proto/UpdateSalvageBundleMarkRsp.proto b/protocol/proto/UpdateSalvageBundleMarkRsp.proto
new file mode 100644
index 00000000..8a649044
--- /dev/null
+++ b/protocol/proto/UpdateSalvageBundleMarkRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8459
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UpdateSalvageBundleMarkRsp {
+ uint32 challenge_type = 1;
+ int32 retcode = 4;
+ uint32 stage_id = 7;
+}
diff --git a/protocol/proto/UpgradeRoguelikeShikigamiReq.proto b/protocol/proto/UpgradeRoguelikeShikigamiReq.proto
new file mode 100644
index 00000000..02f7091a
--- /dev/null
+++ b/protocol/proto/UpgradeRoguelikeShikigamiReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8151
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UpgradeRoguelikeShikigamiReq {
+ uint32 upgrade_level = 6;
+ uint32 shikigami_group_id = 15;
+}
diff --git a/protocol/proto/UpgradeRoguelikeShikigamiRsp.proto b/protocol/proto/UpgradeRoguelikeShikigamiRsp.proto
new file mode 100644
index 00000000..62ac2ec7
--- /dev/null
+++ b/protocol/proto/UpgradeRoguelikeShikigamiRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8966
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UpgradeRoguelikeShikigamiRsp {
+ int32 retcode = 10;
+ uint32 shikigami_group_id = 14;
+ uint32 cur_level = 4;
+}
diff --git a/protocol/proto/UseItemReq.proto b/protocol/proto/UseItemReq.proto
new file mode 100644
index 00000000..aa014cd8
--- /dev/null
+++ b/protocol/proto/UseItemReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 690
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UseItemReq {
+ uint32 count = 13;
+ uint64 target_guid = 14;
+ uint64 guid = 10;
+ bool is_enter_mp_dungeon_team = 15;
+ uint32 option_idx = 7;
+}
diff --git a/protocol/proto/UseItemRsp.proto b/protocol/proto/UseItemRsp.proto
new file mode 100644
index 00000000..f18d61e2
--- /dev/null
+++ b/protocol/proto/UseItemRsp.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 673
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UseItemRsp {
+ uint64 guid = 5;
+ uint64 target_guid = 1;
+ uint32 item_id = 4;
+ uint32 option_idx = 8;
+ int32 retcode = 14;
+}
diff --git a/protocol/proto/UseMiracleRingReq.proto b/protocol/proto/UseMiracleRingReq.proto
new file mode 100644
index 00000000..96999052
--- /dev/null
+++ b/protocol/proto/UseMiracleRingReq.proto
@@ -0,0 +1,38 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5226
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UseMiracleRingReq {
+ uint32 miracle_ring_op_type = 13;
+ Vector pos = 8;
+ Vector rot = 7;
+
+ enum MiracleRingOpType {
+ MIRACLE_RING_OP_TYPE_NONE = 0;
+ MIRACLE_RING_OP_TYPE_PLACE = 1;
+ MIRACLE_RING_OP_TYPE_RETRACT = 2;
+ }
+}
diff --git a/protocol/proto/UseMiracleRingRsp.proto b/protocol/proto/UseMiracleRingRsp.proto
new file mode 100644
index 00000000..1da5ea23
--- /dev/null
+++ b/protocol/proto/UseMiracleRingRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5218
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UseMiracleRingRsp {
+ int32 retcode = 11;
+ uint32 miracle_ring_op_type = 7;
+}
diff --git a/protocol/proto/UseWidgetCreateGadgetReq.proto b/protocol/proto/UseWidgetCreateGadgetReq.proto
new file mode 100644
index 00000000..54dd5278
--- /dev/null
+++ b/protocol/proto/UseWidgetCreateGadgetReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4293
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UseWidgetCreateGadgetReq {
+ Vector pos = 15;
+ Vector rot = 12;
+ uint32 material_id = 4;
+}
diff --git a/protocol/proto/UseWidgetCreateGadgetRsp.proto b/protocol/proto/UseWidgetCreateGadgetRsp.proto
new file mode 100644
index 00000000..147de835
--- /dev/null
+++ b/protocol/proto/UseWidgetCreateGadgetRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4290
+// EnetChannelId: 0
+// EnetIsReliable: true
+message UseWidgetCreateGadgetRsp {
+ int32 retcode = 15;
+ uint32 material_id = 12;
+}
diff --git a/protocol/proto/UseWidgetRetractGadgetReq.proto b/protocol/proto/UseWidgetRetractGadgetReq.proto
new file mode 100644
index 00000000..04645d1a
--- /dev/null
+++ b/protocol/proto/UseWidgetRetractGadgetReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4286
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UseWidgetRetractGadgetReq {
+ uint32 entity_id = 3;
+}
diff --git a/protocol/proto/UseWidgetRetractGadgetRsp.proto b/protocol/proto/UseWidgetRetractGadgetRsp.proto
new file mode 100644
index 00000000..c460e8de
--- /dev/null
+++ b/protocol/proto/UseWidgetRetractGadgetRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4261
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message UseWidgetRetractGadgetRsp {
+ int32 retcode = 6;
+ uint32 entity_id = 14;
+}
diff --git a/protocol/proto/Vector.proto b/protocol/proto/Vector.proto
new file mode 100644
index 00000000..48950ef1
--- /dev/null
+++ b/protocol/proto/Vector.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Vector {
+ float x = 1;
+ float y = 2;
+ float z = 3;
+}
diff --git a/protocol/proto/Vector3Int.proto b/protocol/proto/Vector3Int.proto
new file mode 100644
index 00000000..fb06979a
--- /dev/null
+++ b/protocol/proto/Vector3Int.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Vector3Int {
+ int32 x = 1;
+ int32 y = 2;
+ int32 z = 3;
+}
diff --git a/protocol/proto/VectorPlane.proto b/protocol/proto/VectorPlane.proto
new file mode 100644
index 00000000..8230287e
--- /dev/null
+++ b/protocol/proto/VectorPlane.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VectorPlane {
+ float x = 1;
+ float y = 2;
+}
diff --git a/protocol/proto/VehicleInfo.proto b/protocol/proto/VehicleInfo.proto
new file mode 100644
index 00000000..7e746dc1
--- /dev/null
+++ b/protocol/proto/VehicleInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VehicleMember.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VehicleInfo {
+ repeated VehicleMember member_list = 1;
+ uint32 owner_uid = 2;
+ float cur_stamina = 3;
+}
diff --git a/protocol/proto/VehicleInteractReq.proto b/protocol/proto/VehicleInteractReq.proto
new file mode 100644
index 00000000..1659d311
--- /dev/null
+++ b/protocol/proto/VehicleInteractReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VehicleInteractType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 865
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message VehicleInteractReq {
+ VehicleInteractType interact_type = 8;
+ uint32 pos = 12;
+ uint32 entity_id = 15;
+}
diff --git a/protocol/proto/VehicleInteractRsp.proto b/protocol/proto/VehicleInteractRsp.proto
new file mode 100644
index 00000000..992b0eac
--- /dev/null
+++ b/protocol/proto/VehicleInteractRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VehicleInteractType.proto";
+import "VehicleMember.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 804
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VehicleInteractRsp {
+ VehicleInteractType interact_type = 15;
+ VehicleMember member = 3;
+ uint32 entity_id = 2;
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/VehicleInteractType.proto b/protocol/proto/VehicleInteractType.proto
new file mode 100644
index 00000000..0a42f4b1
--- /dev/null
+++ b/protocol/proto/VehicleInteractType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum VehicleInteractType {
+ VEHICLE_INTERACT_TYPE_NONE = 0;
+ VEHICLE_INTERACT_TYPE_IN = 1;
+ VEHICLE_INTERACT_TYPE_OUT = 2;
+}
diff --git a/protocol/proto/VehicleLocationInfo.proto b/protocol/proto/VehicleLocationInfo.proto
new file mode 100644
index 00000000..20d4f05f
--- /dev/null
+++ b/protocol/proto/VehicleLocationInfo.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VehicleLocationInfo {
+ Vector rot = 14;
+ uint32 entity_id = 15;
+ float cur_hp = 11;
+ uint32 owner_uid = 5;
+ Vector pos = 1;
+ repeated uint32 uid_list = 3;
+ uint32 gadget_id = 13;
+ float max_hp = 6;
+}
diff --git a/protocol/proto/VehicleMember.proto b/protocol/proto/VehicleMember.proto
new file mode 100644
index 00000000..62df4a19
--- /dev/null
+++ b/protocol/proto/VehicleMember.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VehicleMember {
+ uint32 uid = 1;
+ uint64 avatar_guid = 2;
+ uint32 pos = 3;
+}
diff --git a/protocol/proto/VehicleStaminaNotify.proto b/protocol/proto/VehicleStaminaNotify.proto
new file mode 100644
index 00000000..fc06292f
--- /dev/null
+++ b/protocol/proto/VehicleStaminaNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 834
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VehicleStaminaNotify {
+ uint32 entity_id = 6;
+ float cur_stamina = 14;
+}
diff --git a/protocol/proto/ViewCodexReq.proto b/protocol/proto/ViewCodexReq.proto
new file mode 100644
index 00000000..0e9218dc
--- /dev/null
+++ b/protocol/proto/ViewCodexReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CodexTypeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4202
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ViewCodexReq {
+ repeated CodexTypeData type_data_list = 10;
+}
diff --git a/protocol/proto/ViewCodexRsp.proto b/protocol/proto/ViewCodexRsp.proto
new file mode 100644
index 00000000..a99dd162
--- /dev/null
+++ b/protocol/proto/ViewCodexRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CodexTypeData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4201
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ViewCodexRsp {
+ int32 retcode = 12;
+ repeated uint32 push_tips_reward_list = 10;
+ repeated uint32 recent_viewed_pushtips_list = 3;
+ repeated CodexTypeData type_data_list = 9;
+ repeated uint32 push_tips_read_list = 15;
+}
diff --git a/protocol/proto/ViewLanternProjectionLevelTipsReq.proto b/protocol/proto/ViewLanternProjectionLevelTipsReq.proto
new file mode 100644
index 00000000..ebb019ec
--- /dev/null
+++ b/protocol/proto/ViewLanternProjectionLevelTipsReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8758
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ViewLanternProjectionLevelTipsReq {
+ uint32 level_id = 7;
+}
diff --git a/protocol/proto/ViewLanternProjectionLevelTipsRsp.proto b/protocol/proto/ViewLanternProjectionLevelTipsRsp.proto
new file mode 100644
index 00000000..10d70bde
--- /dev/null
+++ b/protocol/proto/ViewLanternProjectionLevelTipsRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8411
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ViewLanternProjectionLevelTipsRsp {
+ int32 retcode = 15;
+}
diff --git a/protocol/proto/ViewLanternProjectionTipsReq.proto b/protocol/proto/ViewLanternProjectionTipsReq.proto
new file mode 100644
index 00000000..51d8f386
--- /dev/null
+++ b/protocol/proto/ViewLanternProjectionTipsReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ClientInputType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8218
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message ViewLanternProjectionTipsReq {
+ bool is_input_tips = 9;
+ ClientInputType input_type = 10;
+}
diff --git a/protocol/proto/ViewLanternProjectionTipsRsp.proto b/protocol/proto/ViewLanternProjectionTipsRsp.proto
new file mode 100644
index 00000000..7be58624
--- /dev/null
+++ b/protocol/proto/ViewLanternProjectionTipsRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8590
+// EnetChannelId: 0
+// EnetIsReliable: true
+message ViewLanternProjectionTipsRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/VintageBoothUsedItemData.proto b/protocol/proto/VintageBoothUsedItemData.proto
new file mode 100644
index 00000000..982ffb8a
--- /dev/null
+++ b/protocol/proto/VintageBoothUsedItemData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageBoothUsedItemData {
+ bool is_open = 7;
+ uint32 gadget_id = 8;
+}
diff --git a/protocol/proto/VintageCampChallengeLevelData.proto b/protocol/proto/VintageCampChallengeLevelData.proto
new file mode 100644
index 00000000..097c91d6
--- /dev/null
+++ b/protocol/proto/VintageCampChallengeLevelData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageCampChallengeLevelData {
+ uint32 stage_id = 14;
+ uint32 level_id = 11;
+ bool is_finish = 8;
+ bool is_open = 6;
+}
diff --git a/protocol/proto/VintageCampChallengeStageData.proto b/protocol/proto/VintageCampChallengeStageData.proto
new file mode 100644
index 00000000..33ac81f6
--- /dev/null
+++ b/protocol/proto/VintageCampChallengeStageData.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VintageCampChallengeLevelData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageCampChallengeStageData {
+ bool is_open = 5;
+ uint32 max_finished_level = 11;
+ uint32 open_time = 3;
+ bool is_finish = 10;
+ uint32 stage_id = 4;
+ map camp_level_map = 2;
+}
diff --git a/protocol/proto/VintageCampGroupBundleRegisterNotify.proto b/protocol/proto/VintageCampGroupBundleRegisterNotify.proto
new file mode 100644
index 00000000..ee1b6cd4
--- /dev/null
+++ b/protocol/proto/VintageCampGroupBundleRegisterNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24244
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageCampGroupBundleRegisterNotify {
+ uint32 group_bundle_id = 10;
+}
diff --git a/protocol/proto/VintageCampStageFinishNotify.proto b/protocol/proto/VintageCampStageFinishNotify.proto
new file mode 100644
index 00000000..9d1afdc6
--- /dev/null
+++ b/protocol/proto/VintageCampStageFinishNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22830
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageCampStageFinishNotify {
+ uint32 stage_id = 11;
+}
diff --git a/protocol/proto/VintageDecorateBoothReq.proto b/protocol/proto/VintageDecorateBoothReq.proto
new file mode 100644
index 00000000..2dce38c6
--- /dev/null
+++ b/protocol/proto/VintageDecorateBoothReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomGadgetTreeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20846
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message VintageDecorateBoothReq {
+ uint32 entity_id = 6;
+ CustomGadgetTreeInfo combination_info = 11;
+}
diff --git a/protocol/proto/VintageDecorateBoothRsp.proto b/protocol/proto/VintageDecorateBoothRsp.proto
new file mode 100644
index 00000000..39fe51c4
--- /dev/null
+++ b/protocol/proto/VintageDecorateBoothRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20993
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageDecorateBoothRsp {
+ int32 retcode = 1;
+}
diff --git a/protocol/proto/VintageDetailInfo.proto b/protocol/proto/VintageDetailInfo.proto
new file mode 100644
index 00000000..2044c5d6
--- /dev/null
+++ b/protocol/proto/VintageDetailInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VintageBoothUsedItemData.proto";
+import "VintageCampChallengeStageData.proto";
+import "VintageHuntingStageData.proto";
+import "VintageMarketInfo.proto";
+import "VintagePresentStageData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageDetailInfo {
+ VintageMarketInfo market_info = 2;
+ map hunting_stage_map = 7;
+ VintageBoothUsedItemData booth_data = 5;
+ map camp_stage_map = 13;
+ map present_stage_map = 4;
+ bool is_content_closed = 11;
+}
diff --git a/protocol/proto/VintageHuntingFirstStageInfo.proto b/protocol/proto/VintageHuntingFirstStageInfo.proto
new file mode 100644
index 00000000..dce6eb07
--- /dev/null
+++ b/protocol/proto/VintageHuntingFirstStageInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageHuntingFirstStageInfo {
+ uint32 timid_cnt = 15;
+ uint32 brutal_cnt = 7;
+ uint32 score = 14;
+ uint32 elite_cnt = 11;
+}
diff --git a/protocol/proto/VintageHuntingFirstStageSettleInfo.proto b/protocol/proto/VintageHuntingFirstStageSettleInfo.proto
new file mode 100644
index 00000000..99f08b8c
--- /dev/null
+++ b/protocol/proto/VintageHuntingFirstStageSettleInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageHuntingFirstStageSettleInfo {
+ uint32 elite_cnt = 10;
+ uint32 timid_cnt = 2;
+ uint32 brutal_cnt = 6;
+ uint32 score = 14;
+}
diff --git a/protocol/proto/VintageHuntingSecondStageInfo.proto b/protocol/proto/VintageHuntingSecondStageInfo.proto
new file mode 100644
index 00000000..04a1ac89
--- /dev/null
+++ b/protocol/proto/VintageHuntingSecondStageInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageHuntingSecondStageInfo {
+ uint32 total_num = 11;
+ uint32 capture_animal_num = 13;
+ uint32 left_num = 3;
+}
diff --git a/protocol/proto/VintageHuntingSecondStageSettleInfo.proto b/protocol/proto/VintageHuntingSecondStageSettleInfo.proto
new file mode 100644
index 00000000..37d1650b
--- /dev/null
+++ b/protocol/proto/VintageHuntingSecondStageSettleInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageHuntingSecondStageSettleInfo {
+ map animal_count_map = 6;
+ uint32 capture_animal_num = 7;
+ uint32 total_num = 15;
+}
diff --git a/protocol/proto/VintageHuntingStageData.proto b/protocol/proto/VintageHuntingStageData.proto
new file mode 100644
index 00000000..b2131288
--- /dev/null
+++ b/protocol/proto/VintageHuntingStageData.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageHuntingStageData {
+ uint32 open_time = 10;
+ bool is_finish = 3;
+ bool is_open = 9;
+ uint32 record_value = 12;
+ uint32 stage_id = 7;
+}
diff --git a/protocol/proto/VintageHuntingStartGalleryReq.proto b/protocol/proto/VintageHuntingStartGalleryReq.proto
new file mode 100644
index 00000000..f36f6831
--- /dev/null
+++ b/protocol/proto/VintageHuntingStartGalleryReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21780
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message VintageHuntingStartGalleryReq {
+ uint32 stage_id = 7;
+}
diff --git a/protocol/proto/VintageHuntingStartGalleryRsp.proto b/protocol/proto/VintageHuntingStartGalleryRsp.proto
new file mode 100644
index 00000000..7853c313
--- /dev/null
+++ b/protocol/proto/VintageHuntingStartGalleryRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21951
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageHuntingStartGalleryRsp {
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/VintageHuntingThirdStageInfo.proto b/protocol/proto/VintageHuntingThirdStageInfo.proto
new file mode 100644
index 00000000..2ff4b48d
--- /dev/null
+++ b/protocol/proto/VintageHuntingThirdStageInfo.proto
@@ -0,0 +1,22 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageHuntingThirdStageInfo {}
diff --git a/protocol/proto/VintageHuntingThirdStageSettleInfo.proto b/protocol/proto/VintageHuntingThirdStageSettleInfo.proto
new file mode 100644
index 00000000..4dfb7a2c
--- /dev/null
+++ b/protocol/proto/VintageHuntingThirdStageSettleInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageHuntingThirdStageSettleInfo {
+ uint32 left_time = 13;
+ bool is_success = 9;
+}
diff --git a/protocol/proto/VintageMarketDealInfo.proto b/protocol/proto/VintageMarketDealInfo.proto
new file mode 100644
index 00000000..c4068e0b
--- /dev/null
+++ b/protocol/proto/VintageMarketDealInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VintageMarketTraderInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageMarketDealInfo {
+ map trader_item_info_map = 13;
+}
diff --git a/protocol/proto/VintageMarketDeliverItemReq.proto b/protocol/proto/VintageMarketDeliverItemReq.proto
new file mode 100644
index 00000000..c8e78916
--- /dev/null
+++ b/protocol/proto/VintageMarketDeliverItemReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23141
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message VintageMarketDeliverItemReq {
+ repeated ItemParam deliver_item_list = 3;
+ uint32 trader_id = 5;
+}
diff --git a/protocol/proto/VintageMarketDeliverItemRsp.proto b/protocol/proto/VintageMarketDeliverItemRsp.proto
new file mode 100644
index 00000000..545f1304
--- /dev/null
+++ b/protocol/proto/VintageMarketDeliverItemRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22181
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageMarketDeliverItemRsp {
+ int32 retcode = 6;
+ uint32 trader_id = 3;
+}
diff --git a/protocol/proto/VintageMarketDividendFinishNotify.proto b/protocol/proto/VintageMarketDividendFinishNotify.proto
new file mode 100644
index 00000000..a2a0128a
--- /dev/null
+++ b/protocol/proto/VintageMarketDividendFinishNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23147
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageMarketDividendFinishNotify {
+ uint32 coin_a = 5;
+ uint32 coin_c = 11;
+}
diff --git a/protocol/proto/VintageMarketFinishStorePlayReq.proto b/protocol/proto/VintageMarketFinishStorePlayReq.proto
new file mode 100644
index 00000000..86e1fb7b
--- /dev/null
+++ b/protocol/proto/VintageMarketFinishStorePlayReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VintageMarketStoreOpInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20676
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message VintageMarketFinishStorePlayReq {
+ uint32 store_round = 9;
+ repeated VintageMarketStoreOpInfo store_op_list = 3;
+}
diff --git a/protocol/proto/VintageMarketFinishStorePlayRsp.proto b/protocol/proto/VintageMarketFinishStorePlayRsp.proto
new file mode 100644
index 00000000..1ba5bb18
--- /dev/null
+++ b/protocol/proto/VintageMarketFinishStorePlayRsp.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 23462
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageMarketFinishStorePlayRsp {
+ repeated uint32 trigger_env_event_list = 8;
+ uint32 store_round = 12;
+ repeated uint32 trigger_npc_event_list = 10;
+ repeated uint32 low_attr_store_list = 11;
+ uint32 round_coin_b_income = 9;
+ uint32 round_delta_coin_c = 1;
+ map store_income_map = 3;
+ int32 retcode = 7;
+ uint32 round_total_income = 14;
+ uint32 display_return_coin_b = 15;
+}
diff --git a/protocol/proto/VintageMarketInfo.proto b/protocol/proto/VintageMarketInfo.proto
new file mode 100644
index 00000000..7495db5f
--- /dev/null
+++ b/protocol/proto/VintageMarketInfo.proto
@@ -0,0 +1,48 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VintageMarketDealInfo.proto";
+import "VintageMarketStoreInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageMarketInfo {
+ bool is_help_module_open = 1485;
+ bool is_store_content_interrupt = 15;
+ VintageMarketDealInfo deal_info = 11;
+ uint32 store_round = 7;
+ repeated uint32 store_round_income_list = 207;
+ bool is_store_content_finish = 5;
+ repeated uint32 cur_env_event_list = 8;
+ bool is_market_content_open = 10;
+ uint32 next_can_use_help_round = 1800;
+ bool is_market_content_finish = 2;
+ repeated uint32 viewed_strategy_list = 14;
+ uint32 prev_coin_c_num = 3;
+ map bargain_info_map = 6;
+ uint32 dividend_reward_count = 1798;
+ repeated uint32 cur_npc_event_list = 4;
+ bool is_help_in_cd = 366;
+ uint32 prev_coin_b_num = 1;
+ repeated VintageMarketStoreInfo open_store_list = 9;
+ uint32 help_skill_id = 760;
+ bool is_round_tips_view = 12;
+ bool is_strategy_module_open = 876;
+ repeated uint32 unlock_strategy_list = 13;
+}
diff --git a/protocol/proto/VintageMarketNpcEventFinishNotify.proto b/protocol/proto/VintageMarketNpcEventFinishNotify.proto
new file mode 100644
index 00000000..1045a541
--- /dev/null
+++ b/protocol/proto/VintageMarketNpcEventFinishNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24201
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageMarketNpcEventFinishNotify {
+ repeated uint32 unlock_strategy_list = 15;
+ uint32 coin_c = 12;
+ uint32 coin_a = 4;
+}
diff --git a/protocol/proto/VintageMarketStartStorePlayReq.proto b/protocol/proto/VintageMarketStartStorePlayReq.proto
new file mode 100644
index 00000000..0f706850
--- /dev/null
+++ b/protocol/proto/VintageMarketStartStorePlayReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22864
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message VintageMarketStartStorePlayReq {
+ uint32 store_round = 5;
+}
diff --git a/protocol/proto/VintageMarketStartStorePlayRsp.proto b/protocol/proto/VintageMarketStartStorePlayRsp.proto
new file mode 100644
index 00000000..a3c04cb1
--- /dev/null
+++ b/protocol/proto/VintageMarketStartStorePlayRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22130
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageMarketStartStorePlayRsp {
+ uint32 prev_round_coin_b = 7;
+ uint32 store_round = 2;
+ uint32 prev_round_coin_c = 5;
+ int32 retcode = 8;
+}
diff --git a/protocol/proto/VintageMarketStoreChooseStrategyReq.proto b/protocol/proto/VintageMarketStoreChooseStrategyReq.proto
new file mode 100644
index 00000000..d74c1fd8
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreChooseStrategyReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VintageMarketStoreOpInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21248
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message VintageMarketStoreChooseStrategyReq {
+ uint32 store_id = 6;
+ repeated VintageMarketStoreOpInfo store_op_list = 9;
+ repeated uint32 strategy_list = 8;
+}
diff --git a/protocol/proto/VintageMarketStoreChooseStrategyRsp.proto b/protocol/proto/VintageMarketStoreChooseStrategyRsp.proto
new file mode 100644
index 00000000..beaa13bc
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreChooseStrategyRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24860
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageMarketStoreChooseStrategyRsp {
+ uint32 store_id = 15;
+ int32 retcode = 9;
+ repeated uint32 strategy_list = 2;
+}
diff --git a/protocol/proto/VintageMarketStoreInfo.proto b/protocol/proto/VintageMarketStoreInfo.proto
new file mode 100644
index 00000000..f2638f65
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageMarketStoreInfo {
+ repeated uint32 cur_attr_list = 5;
+ repeated uint32 next_aim_attr_list = 14;
+ repeated uint32 strategy_list = 2;
+ uint32 slot_count = 3;
+ uint32 store_id = 10;
+}
diff --git a/protocol/proto/VintageMarketStoreOpInfo.proto b/protocol/proto/VintageMarketStoreOpInfo.proto
new file mode 100644
index 00000000..e4506172
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreOpInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageMarketStoreOpInfo {
+ repeated uint32 strategy_list = 5;
+ uint32 help_uid = 9;
+ uint32 store_id = 2;
+ uint32 help_skill_id = 7;
+ repeated uint32 add_attr_list = 15;
+}
diff --git a/protocol/proto/VintageMarketStoreUnlockSlotReq.proto b/protocol/proto/VintageMarketStoreUnlockSlotReq.proto
new file mode 100644
index 00000000..670a66cf
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreUnlockSlotReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20626
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message VintageMarketStoreUnlockSlotReq {
+ uint32 store_id = 10;
+}
diff --git a/protocol/proto/VintageMarketStoreUnlockSlotRsp.proto b/protocol/proto/VintageMarketStoreUnlockSlotRsp.proto
new file mode 100644
index 00000000..1cec3916
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreUnlockSlotRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20733
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageMarketStoreUnlockSlotRsp {
+ int32 retcode = 1;
+ uint32 slot_count = 6;
+ uint32 store_id = 10;
+}
diff --git a/protocol/proto/VintageMarketStoreViewStrategyReq.proto b/protocol/proto/VintageMarketStoreViewStrategyReq.proto
new file mode 100644
index 00000000..64b94b3f
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreViewStrategyReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21700
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message VintageMarketStoreViewStrategyReq {
+ uint32 strategy_id = 1;
+ repeated uint32 strategy_list = 14;
+}
diff --git a/protocol/proto/VintageMarketStoreViewStrategyRsp.proto b/protocol/proto/VintageMarketStoreViewStrategyRsp.proto
new file mode 100644
index 00000000..ea2281a0
--- /dev/null
+++ b/protocol/proto/VintageMarketStoreViewStrategyRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 21814
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintageMarketStoreViewStrategyRsp {
+ int32 retcode = 2;
+ repeated uint32 strategy_list = 3;
+ uint32 strategy_id = 14;
+}
diff --git a/protocol/proto/VintageMarketTraderInfo.proto b/protocol/proto/VintageMarketTraderInfo.proto
new file mode 100644
index 00000000..4c365737
--- /dev/null
+++ b/protocol/proto/VintageMarketTraderInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintageMarketTraderInfo {
+ uint32 trader_id = 7;
+ repeated ItemParam available_item_list = 9;
+}
diff --git a/protocol/proto/VintagePresentFinishNoify.proto b/protocol/proto/VintagePresentFinishNoify.proto
new file mode 100644
index 00000000..1078d70a
--- /dev/null
+++ b/protocol/proto/VintagePresentFinishNoify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24142
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintagePresentFinishNoify {
+ uint32 present_id = 7;
+}
diff --git a/protocol/proto/VintagePresentFinishNotify.proto b/protocol/proto/VintagePresentFinishNotify.proto
new file mode 100644
index 00000000..73d7f0b4
--- /dev/null
+++ b/protocol/proto/VintagePresentFinishNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20086
+// EnetChannelId: 0
+// EnetIsReliable: true
+message VintagePresentFinishNotify {
+ uint32 present_id = 3;
+}
diff --git a/protocol/proto/VintagePresentLevelData.proto b/protocol/proto/VintagePresentLevelData.proto
new file mode 100644
index 00000000..4c3dc92f
--- /dev/null
+++ b/protocol/proto/VintagePresentLevelData.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintagePresentLevelData {
+ uint32 present_id = 10;
+ bool is_open = 11;
+ bool is_finish = 5;
+ uint32 stage_id = 1;
+}
diff --git a/protocol/proto/VintagePresentStageData.proto b/protocol/proto/VintagePresentStageData.proto
new file mode 100644
index 00000000..6ee34c3e
--- /dev/null
+++ b/protocol/proto/VintagePresentStageData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "VintagePresentLevelData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message VintagePresentStageData {
+ uint32 open_time = 1;
+ uint32 stage_id = 15;
+ bool is_finish = 13;
+ bool is_open = 10;
+ map present_level_map = 2;
+}
diff --git a/protocol/proto/VisionType.proto b/protocol/proto/VisionType.proto
new file mode 100644
index 00000000..4aae46d5
--- /dev/null
+++ b/protocol/proto/VisionType.proto
@@ -0,0 +1,43 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum VisionType {
+ VISION_TYPE_NONE = 0;
+ VISION_TYPE_MEET = 1;
+ VISION_TYPE_REBORN = 2;
+ VISION_TYPE_REPLACE = 3;
+ VISION_TYPE_WAYPOINT_REBORN = 4;
+ VISION_TYPE_MISS = 5;
+ VISION_TYPE_DIE = 6;
+ VISION_TYPE_GATHER_ESCAPE = 7;
+ VISION_TYPE_REFRESH = 8;
+ VISION_TYPE_TRANSPORT = 9;
+ VISION_TYPE_REPLACE_DIE = 10;
+ VISION_TYPE_REPLACE_NO_NOTIFY = 11;
+ VISION_TYPE_BORN = 12;
+ VISION_TYPE_PICKUP = 13;
+ VISION_TYPE_REMOVE = 14;
+ VISION_TYPE_CHANGE_COSTUME = 15;
+ VISION_TYPE_FISH_REFRESH = 16;
+ VISION_TYPE_FISH_BIG_SHOCK = 17;
+ VISION_TYPE_FISH_QTE_SUCC = 18;
+ VISION_TYPE_CAPTURE_DISAPPEAR = 19;
+}
diff --git a/protocol/proto/WatcherAllDataNotify.proto b/protocol/proto/WatcherAllDataNotify.proto
new file mode 100644
index 00000000..3587ce71
--- /dev/null
+++ b/protocol/proto/WatcherAllDataNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2272
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WatcherAllDataNotify {
+ repeated uint32 watcher_list = 4;
+}
diff --git a/protocol/proto/WatcherChangeNotify.proto b/protocol/proto/WatcherChangeNotify.proto
new file mode 100644
index 00000000..75c82db8
--- /dev/null
+++ b/protocol/proto/WatcherChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2298
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WatcherChangeNotify {
+ repeated uint32 removed_watcher_list = 2;
+ repeated uint32 new_watcher_list = 15;
+}
diff --git a/protocol/proto/WatcherEventNotify.proto b/protocol/proto/WatcherEventNotify.proto
new file mode 100644
index 00000000..bbb86185
--- /dev/null
+++ b/protocol/proto/WatcherEventNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2212
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WatcherEventNotify {
+ uint32 add_progress = 6;
+ uint32 watcher_id = 9;
+}
diff --git a/protocol/proto/WatcherEventStageNotify.proto b/protocol/proto/WatcherEventStageNotify.proto
new file mode 100644
index 00000000..3a3850d7
--- /dev/null
+++ b/protocol/proto/WatcherEventStageNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2207
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WatcherEventStageNotify {
+ uint32 add_progress = 4;
+ uint32 stage = 2;
+ uint32 watcher_id = 12;
+}
diff --git a/protocol/proto/WatcherEventTypeNotify.proto b/protocol/proto/WatcherEventTypeNotify.proto
new file mode 100644
index 00000000..3eab3b05
--- /dev/null
+++ b/protocol/proto/WatcherEventTypeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2235
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WatcherEventTypeNotify {
+ repeated uint32 param_list = 14;
+ uint32 add_progress = 15;
+ uint32 watcher_trigger_type = 11;
+}
diff --git a/protocol/proto/WaterSpiritActivityDetailInfo.proto b/protocol/proto/WaterSpiritActivityDetailInfo.proto
new file mode 100644
index 00000000..df382a8c
--- /dev/null
+++ b/protocol/proto/WaterSpiritActivityDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WaterSpiritActivityDetailInfo {
+ map search_time_map = 9;
+ uint32 region_search_id = 2;
+ uint32 mp_play_id = 15;
+}
diff --git a/protocol/proto/WaterSpritePhaseFinishNotify.proto b/protocol/proto/WaterSpritePhaseFinishNotify.proto
new file mode 100644
index 00000000..644f3c11
--- /dev/null
+++ b/protocol/proto/WaterSpritePhaseFinishNotify.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2025
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WaterSpritePhaseFinishNotify {}
diff --git a/protocol/proto/Weapon.proto b/protocol/proto/Weapon.proto
new file mode 100644
index 00000000..4f54fc9c
--- /dev/null
+++ b/protocol/proto/Weapon.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message Weapon {
+ uint32 level = 1;
+ uint32 exp = 2;
+ uint32 promote_level = 3;
+ map affix_map = 4;
+}
diff --git a/protocol/proto/WeaponAwakenReq.proto b/protocol/proto/WeaponAwakenReq.proto
new file mode 100644
index 00000000..32397147
--- /dev/null
+++ b/protocol/proto/WeaponAwakenReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 695
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WeaponAwakenReq {
+ uint64 item_guid = 10;
+ map affix_level_map = 7;
+ uint64 target_weapon_guid = 9;
+}
diff --git a/protocol/proto/WeaponAwakenRsp.proto b/protocol/proto/WeaponAwakenRsp.proto
new file mode 100644
index 00000000..ecf40c62
--- /dev/null
+++ b/protocol/proto/WeaponAwakenRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 606
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WeaponAwakenRsp {
+ int32 retcode = 9;
+ uint64 avatar_guid = 10;
+ map old_affix_level_map = 4;
+ uint32 target_weapon_awaken_level = 2;
+ uint64 target_weapon_guid = 15;
+ map cur_affix_level_map = 11;
+}
diff --git a/protocol/proto/WeaponPromoteReq.proto b/protocol/proto/WeaponPromoteReq.proto
new file mode 100644
index 00000000..ac009616
--- /dev/null
+++ b/protocol/proto/WeaponPromoteReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 622
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WeaponPromoteReq {
+ uint64 target_weapon_guid = 5;
+}
diff --git a/protocol/proto/WeaponPromoteRsp.proto b/protocol/proto/WeaponPromoteRsp.proto
new file mode 100644
index 00000000..4f2c6bfb
--- /dev/null
+++ b/protocol/proto/WeaponPromoteRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 665
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WeaponPromoteRsp {
+ uint64 target_weapon_guid = 3;
+ uint32 old_promote_level = 7;
+ uint32 cur_promote_level = 12;
+ int32 retcode = 4;
+}
diff --git a/protocol/proto/WeaponUpgradeReq.proto b/protocol/proto/WeaponUpgradeReq.proto
new file mode 100644
index 00000000..15fa82dd
--- /dev/null
+++ b/protocol/proto/WeaponUpgradeReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 639
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WeaponUpgradeReq {
+ repeated uint64 food_weapon_guid_list = 1;
+ repeated ItemParam item_param_list = 15;
+ uint64 target_weapon_guid = 4;
+}
diff --git a/protocol/proto/WeaponUpgradeRsp.proto b/protocol/proto/WeaponUpgradeRsp.proto
new file mode 100644
index 00000000..9817bbcb
--- /dev/null
+++ b/protocol/proto/WeaponUpgradeRsp.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 653
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WeaponUpgradeRsp {
+ uint32 cur_level = 7;
+ int32 retcode = 11;
+ uint32 old_level = 8;
+ repeated ItemParam item_param_list = 2;
+ uint64 target_weapon_guid = 6;
+}
diff --git a/protocol/proto/WearEquipReq.proto b/protocol/proto/WearEquipReq.proto
new file mode 100644
index 00000000..2a8544c4
--- /dev/null
+++ b/protocol/proto/WearEquipReq.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 697
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WearEquipReq {
+ uint64 equip_guid = 7;
+ uint64 avatar_guid = 5;
+}
diff --git a/protocol/proto/WearEquipRsp.proto b/protocol/proto/WearEquipRsp.proto
new file mode 100644
index 00000000..bb41bbf9
--- /dev/null
+++ b/protocol/proto/WearEquipRsp.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 681
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WearEquipRsp {
+ int32 retcode = 5;
+ uint64 equip_guid = 1;
+ uint64 avatar_guid = 7;
+}
diff --git a/protocol/proto/WeatherInfo.proto b/protocol/proto/WeatherInfo.proto
new file mode 100644
index 00000000..e848164d
--- /dev/null
+++ b/protocol/proto/WeatherInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WeatherInfo {
+ uint32 weather_area_id = 1;
+}
diff --git a/protocol/proto/WeekendDjinnInfo.proto b/protocol/proto/WeekendDjinnInfo.proto
new file mode 100644
index 00000000..4ae21e5c
--- /dev/null
+++ b/protocol/proto/WeekendDjinnInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WeekendDjinnInfo {
+ Vector rot = 14;
+ Vector pos = 10;
+}
diff --git a/protocol/proto/WeeklyBossResinDiscountInfo.proto b/protocol/proto/WeeklyBossResinDiscountInfo.proto
new file mode 100644
index 00000000..f36c2a2b
--- /dev/null
+++ b/protocol/proto/WeeklyBossResinDiscountInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WeeklyBossResinDiscountInfo {
+ uint32 discount_num = 1;
+ uint32 discount_num_limit = 2;
+ uint32 resin_cost = 3;
+ uint32 original_resin_cost = 4;
+}
diff --git a/protocol/proto/WidgetActiveChangeNotify.proto b/protocol/proto/WidgetActiveChangeNotify.proto
new file mode 100644
index 00000000..a9d0e05b
--- /dev/null
+++ b/protocol/proto/WidgetActiveChangeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetSlotData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4280
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetActiveChangeNotify {
+ repeated WidgetSlotData widget_data_list = 5;
+}
diff --git a/protocol/proto/WidgetCameraInfo.proto b/protocol/proto/WidgetCameraInfo.proto
new file mode 100644
index 00000000..b0a70907
--- /dev/null
+++ b/protocol/proto/WidgetCameraInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WidgetCameraInfo {
+ uint32 target_entity_id = 4;
+}
diff --git a/protocol/proto/WidgetCaptureAnimalReq.proto b/protocol/proto/WidgetCaptureAnimalReq.proto
new file mode 100644
index 00000000..f95d2d9d
--- /dev/null
+++ b/protocol/proto/WidgetCaptureAnimalReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4256
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WidgetCaptureAnimalReq {
+ Vector pos = 10;
+ uint32 entity_id = 15;
+ uint32 material_id = 6;
+}
diff --git a/protocol/proto/WidgetCaptureAnimalRsp.proto b/protocol/proto/WidgetCaptureAnimalRsp.proto
new file mode 100644
index 00000000..6d337d83
--- /dev/null
+++ b/protocol/proto/WidgetCaptureAnimalRsp.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4289
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetCaptureAnimalRsp {
+ int32 retcode = 9;
+ uint32 entity_id = 4;
+ uint32 material_id = 8;
+ Vector pos = 10;
+}
diff --git a/protocol/proto/WidgetCoolDownData.proto b/protocol/proto/WidgetCoolDownData.proto
new file mode 100644
index 00000000..ee3e2a5f
--- /dev/null
+++ b/protocol/proto/WidgetCoolDownData.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WidgetCoolDownData {
+ bool is_success = 5;
+ uint64 cool_down_time = 4;
+ uint32 id = 15;
+}
diff --git a/protocol/proto/WidgetCoolDownNotify.proto b/protocol/proto/WidgetCoolDownNotify.proto
new file mode 100644
index 00000000..8e20e525
--- /dev/null
+++ b/protocol/proto/WidgetCoolDownNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetCoolDownData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4295
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetCoolDownNotify {
+ repeated WidgetCoolDownData normal_cool_down_data_list = 1;
+ repeated WidgetCoolDownData group_cool_down_data_list = 12;
+}
diff --git a/protocol/proto/WidgetCreateLocationInfo.proto b/protocol/proto/WidgetCreateLocationInfo.proto
new file mode 100644
index 00000000..9ce831d3
--- /dev/null
+++ b/protocol/proto/WidgetCreateLocationInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WidgetCreateLocationInfo {
+ Vector rot = 3;
+ Vector pos = 10;
+}
diff --git a/protocol/proto/WidgetCreatorInfo.proto b/protocol/proto/WidgetCreatorInfo.proto
new file mode 100644
index 00000000..ee7fb7e6
--- /dev/null
+++ b/protocol/proto/WidgetCreatorInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetCreateLocationInfo.proto";
+import "WidgetCreatorOpType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WidgetCreatorInfo {
+ WidgetCreatorOpType op_type = 10;
+ uint32 entity_id = 1;
+ WidgetCreateLocationInfo location_info = 12;
+}
diff --git a/protocol/proto/WidgetCreatorOpType.proto b/protocol/proto/WidgetCreatorOpType.proto
new file mode 100644
index 00000000..18946013
--- /dev/null
+++ b/protocol/proto/WidgetCreatorOpType.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum WidgetCreatorOpType {
+ WIDGET_CREATOR_OP_TYPE_NONE = 0;
+ WIDGET_CREATOR_OP_TYPE_RETRACT = 1;
+ WIDGET_CREATOR_OP_TYPE_RETRACT_AND_CREATE = 2;
+}
diff --git a/protocol/proto/WidgetDoBagReq.proto b/protocol/proto/WidgetDoBagReq.proto
new file mode 100644
index 00000000..1d06b7a1
--- /dev/null
+++ b/protocol/proto/WidgetDoBagReq.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetCreateLocationInfo.proto";
+import "WidgetCreatorInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4255
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WidgetDoBagReq {
+ uint32 material_id = 9;
+ oneof op_info {
+ WidgetCreateLocationInfo location_info = 832;
+ WidgetCreatorInfo widget_creator_info = 1497;
+ }
+}
diff --git a/protocol/proto/WidgetDoBagRsp.proto b/protocol/proto/WidgetDoBagRsp.proto
new file mode 100644
index 00000000..39a17af5
--- /dev/null
+++ b/protocol/proto/WidgetDoBagRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4296
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetDoBagRsp {
+ int32 retcode = 10;
+ uint32 material_id = 3;
+}
diff --git a/protocol/proto/WidgetExtraCdType.proto b/protocol/proto/WidgetExtraCdType.proto
new file mode 100644
index 00000000..78b58ee5
--- /dev/null
+++ b/protocol/proto/WidgetExtraCdType.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum WidgetExtraCdType {
+ WIDGET_EXTRA_CD_TYPE_NONE = 0;
+ WIDGET_EXTRA_CD_TYPE_E_SKILL_SHARED = 1;
+}
diff --git a/protocol/proto/WidgetGadgetAllDataNotify.proto b/protocol/proto/WidgetGadgetAllDataNotify.proto
new file mode 100644
index 00000000..3fba39b2
--- /dev/null
+++ b/protocol/proto/WidgetGadgetAllDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetGadgetData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4284
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetGadgetAllDataNotify {
+ repeated WidgetGadgetData widget_gadget_data = 13;
+}
diff --git a/protocol/proto/WidgetGadgetData.proto b/protocol/proto/WidgetGadgetData.proto
new file mode 100644
index 00000000..81c02712
--- /dev/null
+++ b/protocol/proto/WidgetGadgetData.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WidgetGadgetData {
+ repeated uint32 gadget_entity_id_list = 1;
+ uint32 gadget_id = 8;
+}
diff --git a/protocol/proto/WidgetGadgetDataNotify.proto b/protocol/proto/WidgetGadgetDataNotify.proto
new file mode 100644
index 00000000..6038efd9
--- /dev/null
+++ b/protocol/proto/WidgetGadgetDataNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetGadgetData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4266
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetGadgetDataNotify {
+ WidgetGadgetData widget_gadget_data = 12;
+}
diff --git a/protocol/proto/WidgetGadgetDestroyNotify.proto b/protocol/proto/WidgetGadgetDestroyNotify.proto
new file mode 100644
index 00000000..849445ff
--- /dev/null
+++ b/protocol/proto/WidgetGadgetDestroyNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4274
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetGadgetDestroyNotify {
+ uint32 entity_id = 15;
+}
diff --git a/protocol/proto/WidgetQuickHitTreeReq.proto b/protocol/proto/WidgetQuickHitTreeReq.proto
new file mode 100644
index 00000000..85b54ac1
--- /dev/null
+++ b/protocol/proto/WidgetQuickHitTreeReq.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "HitTreeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3345
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WidgetQuickHitTreeReq {
+ repeated HitTreeInfo hit_tree_info_list = 5;
+}
diff --git a/protocol/proto/WidgetQuickHitTreeRsp.proto b/protocol/proto/WidgetQuickHitTreeRsp.proto
new file mode 100644
index 00000000..cc508a7b
--- /dev/null
+++ b/protocol/proto/WidgetQuickHitTreeRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3336
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetQuickHitTreeRsp {
+ int32 retcode = 2;
+}
diff --git a/protocol/proto/WidgetReportReq.proto b/protocol/proto/WidgetReportReq.proto
new file mode 100644
index 00000000..7eaa603d
--- /dev/null
+++ b/protocol/proto/WidgetReportReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4291
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WidgetReportReq {
+ bool is_clear_sky_crystal_hint = 5;
+ bool is_client_collect = 14;
+ bool is_clear_hint = 13;
+ uint32 material_id = 15;
+}
diff --git a/protocol/proto/WidgetReportRsp.proto b/protocol/proto/WidgetReportRsp.proto
new file mode 100644
index 00000000..8a428621
--- /dev/null
+++ b/protocol/proto/WidgetReportRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4292
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetReportRsp {
+ int32 retcode = 14;
+ uint32 material_id = 4;
+}
diff --git a/protocol/proto/WidgetSlotChangeNotify.proto b/protocol/proto/WidgetSlotChangeNotify.proto
new file mode 100644
index 00000000..6978df9d
--- /dev/null
+++ b/protocol/proto/WidgetSlotChangeNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetSlotData.proto";
+import "WidgetSlotOp.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4267
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetSlotChangeNotify {
+ WidgetSlotOp op = 11;
+ WidgetSlotData slot = 8;
+}
diff --git a/protocol/proto/WidgetSlotData.proto b/protocol/proto/WidgetSlotData.proto
new file mode 100644
index 00000000..fad32412
--- /dev/null
+++ b/protocol/proto/WidgetSlotData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetSlotTag.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WidgetSlotData {
+ uint32 cd_over_time = 9;
+ WidgetSlotTag tag = 14;
+ uint32 material_id = 11;
+ bool is_active = 12;
+}
diff --git a/protocol/proto/WidgetSlotOp.proto b/protocol/proto/WidgetSlotOp.proto
new file mode 100644
index 00000000..e5698b07
--- /dev/null
+++ b/protocol/proto/WidgetSlotOp.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum WidgetSlotOp {
+ WIDGET_SLOT_OP_ATTACH = 0;
+ WIDGET_SLOT_OP_DETACH = 1;
+}
diff --git a/protocol/proto/WidgetSlotTag.proto b/protocol/proto/WidgetSlotTag.proto
new file mode 100644
index 00000000..89e2b26c
--- /dev/null
+++ b/protocol/proto/WidgetSlotTag.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum WidgetSlotTag {
+ WIDGET_SLOT_TAG_QUICK_USE = 0;
+ WIDGET_SLOT_TAG_ATTACH_AVATAR = 1;
+}
diff --git a/protocol/proto/WidgetThunderBirdFeatherInfo.proto b/protocol/proto/WidgetThunderBirdFeatherInfo.proto
new file mode 100644
index 00000000..a1676568
--- /dev/null
+++ b/protocol/proto/WidgetThunderBirdFeatherInfo.proto
@@ -0,0 +1,24 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WidgetThunderBirdFeatherInfo {
+ repeated uint32 entity_id_list = 4;
+}
diff --git a/protocol/proto/WidgetUpdateExtraCDReq.proto b/protocol/proto/WidgetUpdateExtraCDReq.proto
new file mode 100644
index 00000000..796c103e
--- /dev/null
+++ b/protocol/proto/WidgetUpdateExtraCDReq.proto
@@ -0,0 +1,32 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetExtraCdType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5960
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WidgetUpdateExtraCDReq {
+ uint32 material_id = 14;
+ WidgetExtraCdType extra_cd_type = 10;
+ uint32 cd_group = 7;
+}
diff --git a/protocol/proto/WidgetUpdateExtraCDRsp.proto b/protocol/proto/WidgetUpdateExtraCDRsp.proto
new file mode 100644
index 00000000..aeaa40d3
--- /dev/null
+++ b/protocol/proto/WidgetUpdateExtraCDRsp.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WidgetCoolDownData.proto";
+import "WidgetExtraCdType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 6056
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetUpdateExtraCDRsp {
+ int32 retcode = 14;
+ uint32 material_id = 11;
+ WidgetExtraCdType extra_cd_type = 6;
+ WidgetCoolDownData cool_data = 10;
+ uint32 cd_group = 15;
+}
diff --git a/protocol/proto/WidgetUseAttachAbilityGroupChangeNotify.proto b/protocol/proto/WidgetUseAttachAbilityGroupChangeNotify.proto
new file mode 100644
index 00000000..e7666c22
--- /dev/null
+++ b/protocol/proto/WidgetUseAttachAbilityGroupChangeNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 4258
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WidgetUseAttachAbilityGroupChangeNotify {
+ bool is_attach = 6;
+ uint32 material_id = 11;
+}
diff --git a/protocol/proto/WindFieldDetailInfo.proto b/protocol/proto/WindFieldDetailInfo.proto
new file mode 100644
index 00000000..4882d156
--- /dev/null
+++ b/protocol/proto/WindFieldDetailInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WindFieldStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WindFieldDetailInfo {
+ repeated WindFieldStageInfo stage_info_list = 11;
+}
diff --git a/protocol/proto/WindFieldDungeonFailReason.proto b/protocol/proto/WindFieldDungeonFailReason.proto
new file mode 100644
index 00000000..6c4d081a
--- /dev/null
+++ b/protocol/proto/WindFieldDungeonFailReason.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+enum WindFieldDungeonFailReason {
+ WIND_FIELD_DUNGEON_FAIL_REASON_NONE = 0;
+ WIND_FIELD_DUNGEON_FAIL_REASON_CANCEL = 1;
+ WIND_FIELD_DUNGEON_FAIL_REASON_TIMEOUT = 2;
+ WIND_FIELD_DUNGEON_FAIL_REASON_ALL_AVATAR_DIE = 3;
+ WIND_FIELD_DUNGEON_FAIL_REASON_LUA_INTERRUPT = 4;
+}
diff --git a/protocol/proto/WindFieldDungeonSettleInfo.proto b/protocol/proto/WindFieldDungeonSettleInfo.proto
new file mode 100644
index 00000000..04b706e0
--- /dev/null
+++ b/protocol/proto/WindFieldDungeonSettleInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WindFieldDungeonFailReason.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WindFieldDungeonSettleInfo {
+ repeated uint32 after_watcher_id_list = 11;
+ repeated uint32 before_watcher_id_list = 7;
+ WindFieldDungeonFailReason fail_reason = 2;
+}
diff --git a/protocol/proto/WindFieldGalleryChallengeInfoNotify.proto b/protocol/proto/WindFieldGalleryChallengeInfoNotify.proto
new file mode 100644
index 00000000..94f3fc94
--- /dev/null
+++ b/protocol/proto/WindFieldGalleryChallengeInfoNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5563
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WindFieldGalleryChallengeInfoNotify {
+ uint32 challenge_timestamp = 6;
+ bool is_start = 8;
+ uint32 show_id = 12;
+ bool is_success = 7;
+ uint32 challenge_total_time = 13;
+ uint32 challenge_ball_max_count = 11;
+ uint32 challenge_ball_cur_count = 1;
+}
diff --git a/protocol/proto/WindFieldGalleryInfoNotify.proto b/protocol/proto/WindFieldGalleryInfoNotify.proto
new file mode 100644
index 00000000..f9317c6f
--- /dev/null
+++ b/protocol/proto/WindFieldGalleryInfoNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 5526
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WindFieldGalleryInfoNotify {
+ uint32 show_id = 3;
+ uint32 killed_monster_num = 7;
+ uint32 coin_num = 9;
+ uint32 challenge_ball_max_count = 1;
+ uint32 challenge_total_time = 5;
+ uint32 challenge_ball_cur_count = 10;
+ uint32 challenge_timestamp = 4;
+ uint32 element_ball_num = 14;
+}
diff --git a/protocol/proto/WindFieldRestartDungeonReq.proto b/protocol/proto/WindFieldRestartDungeonReq.proto
new file mode 100644
index 00000000..992514bc
--- /dev/null
+++ b/protocol/proto/WindFieldRestartDungeonReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 20731
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WindFieldRestartDungeonReq {}
diff --git a/protocol/proto/WindFieldRestartDungeonRsp.proto b/protocol/proto/WindFieldRestartDungeonRsp.proto
new file mode 100644
index 00000000..9f8957ce
--- /dev/null
+++ b/protocol/proto/WindFieldRestartDungeonRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 24712
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WindFieldRestartDungeonRsp {
+ int32 retcode = 5;
+}
diff --git a/protocol/proto/WindFieldStageInfo.proto b/protocol/proto/WindFieldStageInfo.proto
new file mode 100644
index 00000000..86704fb8
--- /dev/null
+++ b/protocol/proto/WindFieldStageInfo.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WindFieldStageInfo {
+ bool is_open = 12;
+ uint32 open_time = 14;
+ uint32 stage_id = 8;
+}
diff --git a/protocol/proto/WindSeedClientNotify.proto b/protocol/proto/WindSeedClientNotify.proto
new file mode 100644
index 00000000..6932f7fc
--- /dev/null
+++ b/protocol/proto/WindSeedClientNotify.proto
@@ -0,0 +1,49 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 1199
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WindSeedClientNotify {
+ oneof notify {
+ RefreshNotify refresh_notify = 14;
+ AddWindBulletNotify add_wind_bullet_notify = 6;
+ AreaNotify area_notify = 4;
+ }
+
+ message RefreshNotify {
+ uint32 refresh_num = 9;
+ }
+
+ message AddWindBulletNotify {
+ Vector seed_pos = 6;
+ uint32 catch_player_uid = 8;
+ uint32 seed_entity_id = 7;
+ }
+
+ message AreaNotify {
+ bytes area_code = 5;
+ uint32 area_id = 10;
+ uint32 area_type = 7;
+ }
+}
diff --git a/protocol/proto/WinterCampAcceptAllGiveItemReq.proto b/protocol/proto/WinterCampAcceptAllGiveItemReq.proto
new file mode 100644
index 00000000..898f8106
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptAllGiveItemReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 9000
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampAcceptAllGiveItemReq {}
diff --git a/protocol/proto/WinterCampAcceptAllGiveItemRsp.proto b/protocol/proto/WinterCampAcceptAllGiveItemRsp.proto
new file mode 100644
index 00000000..6e5b1a71
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptAllGiveItemRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WinterCampAcceptItemResultInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8626
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampAcceptAllGiveItemRsp {
+ int32 retcode = 6;
+ repeated WinterCampAcceptItemResultInfo accept_item_result_info = 14;
+}
diff --git a/protocol/proto/WinterCampAcceptGiveItemReq.proto b/protocol/proto/WinterCampAcceptGiveItemReq.proto
new file mode 100644
index 00000000..cfab2da5
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptGiveItemReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8387
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampAcceptGiveItemReq {
+ uint32 uid = 11;
+}
diff --git a/protocol/proto/WinterCampAcceptGiveItemRsp.proto b/protocol/proto/WinterCampAcceptGiveItemRsp.proto
new file mode 100644
index 00000000..8cfab363
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptGiveItemRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WinterCampAcceptItemResultInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8185
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampAcceptGiveItemRsp {
+ int32 retcode = 14;
+ WinterCampAcceptItemResultInfo accept_item_result_info = 3;
+}
diff --git a/protocol/proto/WinterCampAcceptItemResultInfo.proto b/protocol/proto/WinterCampAcceptItemResultInfo.proto
new file mode 100644
index 00000000..a71d9afb
--- /dev/null
+++ b/protocol/proto/WinterCampAcceptItemResultInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WinterCampAcceptItemResultInfo {
+ repeated ItemParam accept_item_list = 2;
+ uint32 uid = 6;
+ repeated ItemParam unaccept_item_list = 9;
+}
diff --git a/protocol/proto/WinterCampActivityDetailInfo.proto b/protocol/proto/WinterCampActivityDetailInfo.proto
new file mode 100644
index 00000000..5bdb1695
--- /dev/null
+++ b/protocol/proto/WinterCampActivityDetailInfo.proto
@@ -0,0 +1,35 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+import "WinterCampRaceStageInfo.proto";
+import "WinterCampStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WinterCampActivityDetailInfo {
+ repeated WinterCampRaceStageInfo race_info_list = 9;
+ WinterCampStageInfo battle_info = 10;
+ repeated uint32 wish_id_list = 8;
+ repeated uint32 battle_taken_reward_list = 14;
+ repeated uint32 explore_taken_reward_list = 6;
+ bool is_content_closed = 15;
+ WinterCampStageInfo explore_info = 11;
+ repeated ItemParam used_item_list = 2;
+}
diff --git a/protocol/proto/WinterCampEditSnowmanCombinationReq.proto b/protocol/proto/WinterCampEditSnowmanCombinationReq.proto
new file mode 100644
index 00000000..ad28a3f7
--- /dev/null
+++ b/protocol/proto/WinterCampEditSnowmanCombinationReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "CustomGadgetTreeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8144
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampEditSnowmanCombinationReq {
+ uint32 entity_id = 9;
+ CustomGadgetTreeInfo combination_info = 6;
+}
diff --git a/protocol/proto/WinterCampEditSnowmanCombinationRsp.proto b/protocol/proto/WinterCampEditSnowmanCombinationRsp.proto
new file mode 100644
index 00000000..d3c92eb1
--- /dev/null
+++ b/protocol/proto/WinterCampEditSnowmanCombinationRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8142
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampEditSnowmanCombinationRsp {
+ int32 retcode = 10;
+}
diff --git a/protocol/proto/WinterCampFriendWishData.proto b/protocol/proto/WinterCampFriendWishData.proto
new file mode 100644
index 00000000..fa9d3941
--- /dev/null
+++ b/protocol/proto/WinterCampFriendWishData.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WinterCampFriendWishData {
+ string nickname = 14;
+ uint32 uid = 12;
+ ProfilePicture profile_picture = 5;
+ repeated uint32 item_id_list = 9;
+}
diff --git a/protocol/proto/WinterCampGetCanGiveFriendItemReq.proto b/protocol/proto/WinterCampGetCanGiveFriendItemReq.proto
new file mode 100644
index 00000000..294374b6
--- /dev/null
+++ b/protocol/proto/WinterCampGetCanGiveFriendItemReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8964
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampGetCanGiveFriendItemReq {}
diff --git a/protocol/proto/WinterCampGetCanGiveFriendItemRsp.proto b/protocol/proto/WinterCampGetCanGiveFriendItemRsp.proto
new file mode 100644
index 00000000..736bd6aa
--- /dev/null
+++ b/protocol/proto/WinterCampGetCanGiveFriendItemRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8357
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampGetCanGiveFriendItemRsp {
+ repeated ItemParam item_list = 8;
+ int32 retcode = 11;
+}
diff --git a/protocol/proto/WinterCampGetFriendWishListReq.proto b/protocol/proto/WinterCampGetFriendWishListReq.proto
new file mode 100644
index 00000000..4554cf91
--- /dev/null
+++ b/protocol/proto/WinterCampGetFriendWishListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8946
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampGetFriendWishListReq {}
diff --git a/protocol/proto/WinterCampGetFriendWishListRsp.proto b/protocol/proto/WinterCampGetFriendWishListRsp.proto
new file mode 100644
index 00000000..8969baf9
--- /dev/null
+++ b/protocol/proto/WinterCampGetFriendWishListRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WinterCampFriendWishData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8937
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampGetFriendWishListRsp {
+ int32 retcode = 12;
+ repeated WinterCampFriendWishData wish_data_list = 5;
+}
diff --git a/protocol/proto/WinterCampGetRecvItemListReq.proto b/protocol/proto/WinterCampGetRecvItemListReq.proto
new file mode 100644
index 00000000..7ac7909e
--- /dev/null
+++ b/protocol/proto/WinterCampGetRecvItemListReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8143
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampGetRecvItemListReq {}
diff --git a/protocol/proto/WinterCampGetRecvItemListRsp.proto b/protocol/proto/WinterCampGetRecvItemListRsp.proto
new file mode 100644
index 00000000..26e5af43
--- /dev/null
+++ b/protocol/proto/WinterCampGetRecvItemListRsp.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WinterCampRecvItemData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8423
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampGetRecvItemListRsp {
+ repeated WinterCampRecvItemData recv_item_data_list = 8;
+ int32 retcode = 6;
+}
diff --git a/protocol/proto/WinterCampGiveFriendItemReq.proto b/protocol/proto/WinterCampGiveFriendItemReq.proto
new file mode 100644
index 00000000..1d670986
--- /dev/null
+++ b/protocol/proto/WinterCampGiveFriendItemReq.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8572
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampGiveFriendItemReq {
+ uint32 uid = 12;
+ repeated ItemParam item_list = 11;
+}
diff --git a/protocol/proto/WinterCampGiveFriendItemRsp.proto b/protocol/proto/WinterCampGiveFriendItemRsp.proto
new file mode 100644
index 00000000..eece25c3
--- /dev/null
+++ b/protocol/proto/WinterCampGiveFriendItemRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8264
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampGiveFriendItemRsp {
+ repeated uint32 limit_item_id_list = 11;
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/WinterCampRaceScoreNotify.proto b/protocol/proto/WinterCampRaceScoreNotify.proto
new file mode 100644
index 00000000..f2179158
--- /dev/null
+++ b/protocol/proto/WinterCampRaceScoreNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8149
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampRaceScoreNotify {
+ uint32 id = 5;
+ uint32 max_score = 14;
+}
diff --git a/protocol/proto/WinterCampRaceStageInfo.proto b/protocol/proto/WinterCampRaceStageInfo.proto
new file mode 100644
index 00000000..38ab309a
--- /dev/null
+++ b/protocol/proto/WinterCampRaceStageInfo.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WinterCampRaceStageInfo {
+ uint32 open_time = 5;
+ uint32 id = 1;
+ Vector pos = 14;
+ uint32 max_score = 2;
+}
diff --git a/protocol/proto/WinterCampRecvItemData.proto b/protocol/proto/WinterCampRecvItemData.proto
new file mode 100644
index 00000000..f54149b2
--- /dev/null
+++ b/protocol/proto/WinterCampRecvItemData.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "ItemParam.proto";
+import "ProfilePicture.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WinterCampRecvItemData {
+ repeated ItemParam item_list = 2;
+ uint32 uid = 8;
+ ProfilePicture profile_picture = 1;
+ string nickname = 12;
+}
diff --git a/protocol/proto/WinterCampRecvItemNotify.proto b/protocol/proto/WinterCampRecvItemNotify.proto
new file mode 100644
index 00000000..93e6b9f5
--- /dev/null
+++ b/protocol/proto/WinterCampRecvItemNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WinterCampRecvItemData.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8580
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampRecvItemNotify {
+ WinterCampRecvItemData recv_item_data = 14;
+}
diff --git a/protocol/proto/WinterCampSetWishListReq.proto b/protocol/proto/WinterCampSetWishListReq.proto
new file mode 100644
index 00000000..e6c5b1a2
--- /dev/null
+++ b/protocol/proto/WinterCampSetWishListReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8753
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampSetWishListReq {
+ repeated uint32 item_id_list = 4;
+}
diff --git a/protocol/proto/WinterCampSetWishListRsp.proto b/protocol/proto/WinterCampSetWishListRsp.proto
new file mode 100644
index 00000000..20383b0a
--- /dev/null
+++ b/protocol/proto/WinterCampSetWishListRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8281
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampSetWishListRsp {
+ int32 retcode = 4;
+ repeated uint32 item_id_list = 7;
+}
diff --git a/protocol/proto/WinterCampStageInfo.proto b/protocol/proto/WinterCampStageInfo.proto
new file mode 100644
index 00000000..dceab140
--- /dev/null
+++ b/protocol/proto/WinterCampStageInfo.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "Vector.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WinterCampStageInfo {
+ uint32 cur_progress = 12;
+ uint32 id = 6;
+ uint32 open_time = 8;
+ bool is_finished = 10;
+ uint32 total_progress = 9;
+ Vector pos = 5;
+}
diff --git a/protocol/proto/WinterCampStageInfoChangeNotify.proto b/protocol/proto/WinterCampStageInfoChangeNotify.proto
new file mode 100644
index 00000000..cefb2511
--- /dev/null
+++ b/protocol/proto/WinterCampStageInfoChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WinterCampStageInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8154
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampStageInfoChangeNotify {
+ WinterCampStageInfo explore_info = 12;
+ WinterCampStageInfo battle_info = 4;
+}
diff --git a/protocol/proto/WinterCampTakeBattleRewardReq.proto b/protocol/proto/WinterCampTakeBattleRewardReq.proto
new file mode 100644
index 00000000..c5afd026
--- /dev/null
+++ b/protocol/proto/WinterCampTakeBattleRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8401
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampTakeBattleRewardReq {
+ uint32 id = 2;
+}
diff --git a/protocol/proto/WinterCampTakeBattleRewardRsp.proto b/protocol/proto/WinterCampTakeBattleRewardRsp.proto
new file mode 100644
index 00000000..06121017
--- /dev/null
+++ b/protocol/proto/WinterCampTakeBattleRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8153
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampTakeBattleRewardRsp {
+ int32 retcode = 6;
+ uint32 id = 15;
+}
diff --git a/protocol/proto/WinterCampTakeExploreRewardReq.proto b/protocol/proto/WinterCampTakeExploreRewardReq.proto
new file mode 100644
index 00000000..d30f841f
--- /dev/null
+++ b/protocol/proto/WinterCampTakeExploreRewardReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8607
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampTakeExploreRewardReq {
+ uint32 id = 8;
+}
diff --git a/protocol/proto/WinterCampTakeExploreRewardRsp.proto b/protocol/proto/WinterCampTakeExploreRewardRsp.proto
new file mode 100644
index 00000000..496c228e
--- /dev/null
+++ b/protocol/proto/WinterCampTakeExploreRewardRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8978
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampTakeExploreRewardRsp {
+ int32 retcode = 2;
+ uint32 id = 15;
+}
diff --git a/protocol/proto/WinterCampTriathlonRestartReq.proto b/protocol/proto/WinterCampTriathlonRestartReq.proto
new file mode 100644
index 00000000..a5165b37
--- /dev/null
+++ b/protocol/proto/WinterCampTriathlonRestartReq.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8844
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WinterCampTriathlonRestartReq {
+ uint32 gallery_id = 6;
+}
diff --git a/protocol/proto/WinterCampTriathlonRestartRsp.proto b/protocol/proto/WinterCampTriathlonRestartRsp.proto
new file mode 100644
index 00000000..dacf4031
--- /dev/null
+++ b/protocol/proto/WinterCampTriathlonRestartRsp.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8569
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampTriathlonRestartRsp {
+ int32 retcode = 10;
+ uint32 gallery_id = 14;
+}
diff --git a/protocol/proto/WinterCampTriathlonSettleNotify.proto b/protocol/proto/WinterCampTriathlonSettleNotify.proto
new file mode 100644
index 00000000..4181db67
--- /dev/null
+++ b/protocol/proto/WinterCampTriathlonSettleNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 8342
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WinterCampTriathlonSettleNotify {
+ uint32 limited_coin = 9;
+ uint32 normal_coin = 2;
+ bool is_new_record = 7;
+ bool is_success = 3;
+ uint32 gallery_id = 13;
+ uint32 remain_time = 4;
+ uint32 score = 11;
+ uint32 race_id = 15;
+}
diff --git a/protocol/proto/WorktopInfo.proto b/protocol/proto/WorktopInfo.proto
new file mode 100644
index 00000000..633e5c33
--- /dev/null
+++ b/protocol/proto/WorktopInfo.proto
@@ -0,0 +1,25 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WorktopInfo {
+ repeated uint32 option_list = 1;
+ bool is_guest_can_operate = 2;
+}
diff --git a/protocol/proto/WorktopOptionNotify.proto b/protocol/proto/WorktopOptionNotify.proto
new file mode 100644
index 00000000..1a2dbe15
--- /dev/null
+++ b/protocol/proto/WorktopOptionNotify.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 835
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorktopOptionNotify {
+ uint32 gadget_entity_id = 11;
+ repeated uint32 option_list = 8;
+}
diff --git a/protocol/proto/WorldAllRoutineTypeNotify.proto b/protocol/proto/WorldAllRoutineTypeNotify.proto
new file mode 100644
index 00000000..5334157f
--- /dev/null
+++ b/protocol/proto/WorldAllRoutineTypeNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WorldRoutineTypeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3518
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorldAllRoutineTypeNotify {
+ repeated WorldRoutineTypeInfo world_routine_type_list = 12;
+}
diff --git a/protocol/proto/WorldChestOpenNotify.proto b/protocol/proto/WorldChestOpenNotify.proto
new file mode 100644
index 00000000..06ed68eb
--- /dev/null
+++ b/protocol/proto/WorldChestOpenNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3295
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorldChestOpenNotify {
+ uint32 group_id = 6;
+ uint32 scene_id = 9;
+ uint32 config_id = 12;
+}
diff --git a/protocol/proto/WorldDataNotify.proto b/protocol/proto/WorldDataNotify.proto
new file mode 100644
index 00000000..eca7f09d
--- /dev/null
+++ b/protocol/proto/WorldDataNotify.proto
@@ -0,0 +1,36 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PropValue.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3308
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WorldDataNotify {
+ map world_prop_map = 9;
+
+ enum DataType {
+ DATA_TYPE_NONE = 0;
+ DATA_TYPE_WORLD_LEVEL = 1;
+ DATA_TYPE_IS_IN_MP_MODE = 2;
+ }
+}
diff --git a/protocol/proto/WorldOwnerBlossomBriefInfoNotify.proto b/protocol/proto/WorldOwnerBlossomBriefInfoNotify.proto
new file mode 100644
index 00000000..1e17b157
--- /dev/null
+++ b/protocol/proto/WorldOwnerBlossomBriefInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BlossomBriefInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2735
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WorldOwnerBlossomBriefInfoNotify {
+ repeated BlossomBriefInfo brief_info_list = 13;
+}
diff --git a/protocol/proto/WorldOwnerBlossomScheduleInfoNotify.proto b/protocol/proto/WorldOwnerBlossomScheduleInfoNotify.proto
new file mode 100644
index 00000000..bd1d203a
--- /dev/null
+++ b/protocol/proto/WorldOwnerBlossomScheduleInfoNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "BlossomScheduleInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 2707
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WorldOwnerBlossomScheduleInfoNotify {
+ BlossomScheduleInfo schedule_info = 3;
+}
diff --git a/protocol/proto/WorldOwnerDailyTaskNotify.proto b/protocol/proto/WorldOwnerDailyTaskNotify.proto
new file mode 100644
index 00000000..6e989a74
--- /dev/null
+++ b/protocol/proto/WorldOwnerDailyTaskNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "DailyTaskInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 102
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WorldOwnerDailyTaskNotify {
+ uint32 filter_city_id = 2;
+ repeated DailyTaskInfo task_list = 1;
+}
diff --git a/protocol/proto/WorldPlayerDieNotify.proto b/protocol/proto/WorldPlayerDieNotify.proto
new file mode 100644
index 00000000..27da2bcf
--- /dev/null
+++ b/protocol/proto/WorldPlayerDieNotify.proto
@@ -0,0 +1,34 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerDieType.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 285
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorldPlayerDieNotify {
+ PlayerDieType die_type = 12;
+ uint32 murderer_entity_id = 15;
+ oneof entity {
+ uint32 monster_id = 8;
+ uint32 gadget_id = 4;
+ }
+}
diff --git a/protocol/proto/WorldPlayerInfoNotify.proto b/protocol/proto/WorldPlayerInfoNotify.proto
new file mode 100644
index 00000000..559c8a3c
--- /dev/null
+++ b/protocol/proto/WorldPlayerInfoNotify.proto
@@ -0,0 +1,33 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "OnlinePlayerInfo.proto";
+import "PlayerWidgetInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3116
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WorldPlayerInfoNotify {
+ repeated PlayerWidgetInfo player_widget_info_list = 8;
+ repeated OnlinePlayerInfo player_info_list = 14;
+ repeated uint32 player_uid_list = 11;
+}
diff --git a/protocol/proto/WorldPlayerLocationNotify.proto b/protocol/proto/WorldPlayerLocationNotify.proto
new file mode 100644
index 00000000..f8cd225d
--- /dev/null
+++ b/protocol/proto/WorldPlayerLocationNotify.proto
@@ -0,0 +1,31 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerLocationInfo.proto";
+import "PlayerWorldLocationInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 258
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorldPlayerLocationNotify {
+ repeated PlayerWorldLocationInfo player_world_loc_list = 8;
+ repeated PlayerLocationInfo player_loc_list = 15;
+}
diff --git a/protocol/proto/WorldPlayerRTTNotify.proto b/protocol/proto/WorldPlayerRTTNotify.proto
new file mode 100644
index 00000000..bf180f28
--- /dev/null
+++ b/protocol/proto/WorldPlayerRTTNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "PlayerRTTInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 22
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorldPlayerRTTNotify {
+ repeated PlayerRTTInfo player_rtt_list = 1;
+}
diff --git a/protocol/proto/WorldPlayerReviveReq.proto b/protocol/proto/WorldPlayerReviveReq.proto
new file mode 100644
index 00000000..0c7000c8
--- /dev/null
+++ b/protocol/proto/WorldPlayerReviveReq.proto
@@ -0,0 +1,26 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 225
+// EnetChannelId: 0
+// EnetIsReliable: true
+// IsAllowClient: true
+message WorldPlayerReviveReq {}
diff --git a/protocol/proto/WorldPlayerReviveRsp.proto b/protocol/proto/WorldPlayerReviveRsp.proto
new file mode 100644
index 00000000..eb10f5ed
--- /dev/null
+++ b/protocol/proto/WorldPlayerReviveRsp.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 278
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorldPlayerReviveRsp {
+ int32 retcode = 3;
+}
diff --git a/protocol/proto/WorldRoutineChangeNotify.proto b/protocol/proto/WorldRoutineChangeNotify.proto
new file mode 100644
index 00000000..d2181200
--- /dev/null
+++ b/protocol/proto/WorldRoutineChangeNotify.proto
@@ -0,0 +1,30 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WorldRoutineInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3507
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorldRoutineChangeNotify {
+ WorldRoutineInfo routine_info = 3;
+ uint32 routine_type = 11;
+}
diff --git a/protocol/proto/WorldRoutineInfo.proto b/protocol/proto/WorldRoutineInfo.proto
new file mode 100644
index 00000000..68a6a60e
--- /dev/null
+++ b/protocol/proto/WorldRoutineInfo.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WorldRoutineInfo {
+ uint32 progress = 4;
+ bool is_finished = 14;
+ uint32 finish_progress = 3;
+ uint32 routine_id = 11;
+}
diff --git a/protocol/proto/WorldRoutineTypeCloseNotify.proto b/protocol/proto/WorldRoutineTypeCloseNotify.proto
new file mode 100644
index 00000000..bce202de
--- /dev/null
+++ b/protocol/proto/WorldRoutineTypeCloseNotify.proto
@@ -0,0 +1,27 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3502
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorldRoutineTypeCloseNotify {
+ uint32 routine_type = 7;
+}
diff --git a/protocol/proto/WorldRoutineTypeInfo.proto b/protocol/proto/WorldRoutineTypeInfo.proto
new file mode 100644
index 00000000..5c76de80
--- /dev/null
+++ b/protocol/proto/WorldRoutineTypeInfo.proto
@@ -0,0 +1,28 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WorldRoutineInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+message WorldRoutineTypeInfo {
+ uint32 routine_type = 13;
+ uint32 next_refresh_time = 12;
+ repeated WorldRoutineInfo world_routine_info_list = 3;
+}
diff --git a/protocol/proto/WorldRoutineTypeRefreshNotify.proto b/protocol/proto/WorldRoutineTypeRefreshNotify.proto
new file mode 100644
index 00000000..dafa2f3e
--- /dev/null
+++ b/protocol/proto/WorldRoutineTypeRefreshNotify.proto
@@ -0,0 +1,29 @@
+// Sorapointa - A server software re-implementation for a certain anime game, and avoid sorapointa.
+// Copyright (C) 2022 Sorapointa Team
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see .
+
+syntax = "proto3";
+
+import "WorldRoutineTypeInfo.proto";
+
+package proto;
+option go_package = "./proto;proto";
+
+// CmdId: 3525
+// EnetChannelId: 0
+// EnetIsReliable: true
+message WorldRoutineTypeRefreshNotify {
+ WorldRoutineTypeInfo world_routine_type = 7;
+}
diff --git a/protocol/proto/proto_gen.bat b/protocol/proto/proto_gen.bat
new file mode 100644
index 00000000..fe33181e
--- /dev/null
+++ b/protocol/proto/proto_gen.bat
@@ -0,0 +1,8 @@
+@echo off
+set SOURCE_FOLDER=.
+for /f "delims=" %%i in ('dir /b "%SOURCE_FOLDER%\*.proto"') do (
+echo protoc -I . --go_out=. %%i
+protoc -I . --go_out=. %%i
+)
+echo ok
+pause