├── .editorconfig ├── .gitattributes ├── .github └── workflows │ └── build.yml ├── .gitignore ├── LICENSE ├── README.md ├── build.gradle ├── data ├── ActivityScheduling.json ├── Banners.json └── RogueMapGen.json ├── docs ├── README_fr-FR.md ├── README_id-ID.md ├── README_ja-JP.md ├── README_ko-KR.md ├── README_ru-RU.md ├── README_vi-VI.md ├── README_zh-CN.md └── README_zh-TW.md ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── jitpack.yml ├── lib └── kcp.jar ├── settings.gradle └── src ├── generated └── main │ └── emu │ └── lunarcore │ └── proto │ ├── ActivateFarmElementCsReqOuterClass.java │ ├── ActivateFarmElementScRspOuterClass.java │ ├── ActivityScheduleInfoOuterClass.java │ ├── AddRogueBuffScNotifyOuterClass.java │ ├── AddRogueMiracleScNotifyOuterClass.java │ ├── ApplyFriendCsReqOuterClass.java │ ├── ArchiveDataOuterClass.java │ ├── AssistMonsterWaveOuterClass.java │ ├── AssistSimpleInfoOuterClass.java │ ├── AvatarBattleInfoOuterClass.java │ ├── AvatarExpUpCsReqOuterClass.java │ ├── AvatarExpUpScRspOuterClass.java │ ├── AvatarOuterClass.java │ ├── AvatarPathChangedNotifyOuterClass.java │ ├── AvatarPropertyOuterClass.java │ ├── AvatarSkillTreeOuterClass.java │ ├── AvatarSyncOuterClass.java │ ├── AvatarTypeOuterClass.java │ ├── BattleAvatarOuterClass.java │ ├── BattleBuffOuterClass.java │ ├── BattleEndReasonOuterClass.java │ ├── BattleEndStatusOuterClass.java │ ├── BattleEquipmentOuterClass.java │ ├── BattleEventBattleInfoOuterClass.java │ ├── BattleEventInitedDataOuterClass.java │ ├── BattleOpOuterClass.java │ ├── BattlePassInfoNotifyOuterClass.java │ ├── BattleRelicOuterClass.java │ ├── BattleSkillInfoOuterClass.java │ ├── BattleStatisticsOuterClass.java │ ├── BattleTargetListOuterClass.java │ ├── BattleTargetOuterClass.java │ ├── BlackInfoOuterClass.java │ ├── BoardDataSyncOuterClass.java │ ├── BuffInfoOuterClass.java │ ├── BuyGoodsCsReqOuterClass.java │ ├── BuyGoodsScRspOuterClass.java │ ├── ChallengeBossBuffInfoOuterClass.java │ ├── ChallengeBossInfoOuterClass.java │ ├── ChallengeBossPhaseSettleNotifyOuterClass.java │ ├── ChallengeBossSingleNodeInfoOuterClass.java │ ├── ChallengeDevelopmentInfoOuterClass.java │ ├── ChallengeExtInfoOuterClass.java │ ├── ChallengeInfoOuterClass.java │ ├── ChallengeLineupNotifyOuterClass.java │ ├── ChallengeOuterClass.java │ ├── ChallengeRewardOuterClass.java │ ├── ChallengeSettleNotifyOuterClass.java │ ├── ChallengeStatusOuterClass.java │ ├── ChallengeStoryBuffInfoOuterClass.java │ ├── ChallengeStoryInfoOuterClass.java │ ├── ChangeLineupLeaderCsReqOuterClass.java │ ├── ChangeLineupLeaderScRspOuterClass.java │ ├── ChargerInfoOuterClass.java │ ├── ChatOuterClass.java │ ├── ChatTypeOuterClass.java │ ├── ChessRogueAvatarInfoOuterClass.java │ ├── ChessRogueAvatarOuterClass.java │ ├── ChessRogueBuffDataOuterClass.java │ ├── ChessRogueBuffInfoOuterClass.java │ ├── ChessRogueCellInfoOuterClass.java │ ├── ChessRogueCellOuterClass.java │ ├── ChessRogueCellUpdateNotifyOuterClass.java │ ├── ChessRogueConfirmRollScRspOuterClass.java │ ├── ChessRogueCurrentInfoOuterClass.java │ ├── ChessRogueInfoOuterClass.java │ ├── ChessRogueItemInfoOuterClass.java │ ├── ChessRogueMiracleDataOuterClass.java │ ├── ChessRogueMiracleInfoOuterClass.java │ ├── ChessRogueMoneyInfoOuterClass.java │ ├── ChessRogueNousDiceInfoOuterClass.java │ ├── ChessRogueNousDiceOuterClass.java │ ├── ChessRogueNousDiceSurfaceInfoOuterClass.java │ ├── ChessRogueNousEditDiceCsReqOuterClass.java │ ├── ChessRogueNousEditDiceScRspOuterClass.java │ ├── ChessRogueNousMainStoryInfoOuterClass.java │ ├── ChessRogueNousQueryInfoOuterClass.java │ ├── ChessRogueNousStoryInfoOuterClass.java │ ├── ChessRogueNousSubStoryInfoOuterClass.java │ ├── ChessRogueNousValueOuterClass.java │ ├── ChessRogueReRollDiceCsReqOuterClass.java │ ├── ChessRogueRollDiceCsReqOuterClass.java │ ├── ChessRogueRollDiceScRspOuterClass.java │ ├── ChessRogueSelectCellCsReqOuterClass.java │ ├── ChessRogueSelectCellScRspOuterClass.java │ ├── ChessRogueStartCsReqOuterClass.java │ ├── ChessRogueStartScRspOuterClass.java │ ├── ChessRogueUpdateActionPointScNotifyOuterClass.java │ ├── ChessRogueUpdateAllowedSelectCellScNotifyOuterClass.java │ ├── ChessRogueUpdateDiceInfoScNotifyOuterClass.java │ ├── ChessRogueUpdateDicePassiveAccumulateValueScNotifyOuterClass.java │ ├── ChessRogueUpdateMoneyInfoScNotifyOuterClass.java │ ├── ChessRogueVirtualItemInfoOuterClass.java │ ├── ClientMailAttachmentItemOuterClass.java │ ├── ClientMailOuterClass.java │ ├── ComposeItemCsReqOuterClass.java │ ├── ComposeItemScRspOuterClass.java │ ├── ComposeSelectedRelicCsReqOuterClass.java │ ├── ComposeSelectedRelicScRspOuterClass.java │ ├── ContentPackageDataOuterClass.java │ ├── ContentPackageGetDataScRspOuterClass.java │ ├── ContentPackageInfoOuterClass.java │ ├── ContentPackageStatusOuterClass.java │ ├── CurPetChangedScNotifyOuterClass.java │ ├── DailyActiveInfoNotifyOuterClass.java │ ├── DailyActivityInfoOuterClass.java │ ├── DeactivateFarmElementCsReqOuterClass.java │ ├── DeactivateFarmElementScRspOuterClass.java │ ├── DelMailCsReqOuterClass.java │ ├── DelMailScRspOuterClass.java │ ├── DeleteFriendCsReqOuterClass.java │ ├── DeleteSocialEventServerCacheCsReqOuterClass.java │ ├── DeleteSocialEventServerCacheScRspOuterClass.java │ ├── DeployRotaterCsReqOuterClass.java │ ├── DeployRotaterScRspOuterClass.java │ ├── DestroyItemCsReqOuterClass.java │ ├── DevelopmentTypeOuterClass.java │ ├── DialogueResultOuterClass.java │ ├── DiscardRelicCsReqOuterClass.java │ ├── DispatchRegionDataOuterClass.java │ ├── DisplayAvatarDetailInfoOuterClass.java │ ├── DisplayAvatarOuterClass.java │ ├── DisplayAvatarVecOuterClass.java │ ├── DisplayEquipmentInfoOuterClass.java │ ├── DisplayRecordTypeOuterClass.java │ ├── DisplayRelicInfoOuterClass.java │ ├── DoGachaCsReqOuterClass.java │ ├── DoGachaInRollShopCsReqOuterClass.java │ ├── DoGachaInRollShopScRspOuterClass.java │ ├── DoGachaScRspOuterClass.java │ ├── DressAvatarCsReqOuterClass.java │ ├── DressRelicAvatarCsReqOuterClass.java │ ├── EnableRogueTalentCsReqOuterClass.java │ ├── EnableRogueTalentScRspOuterClass.java │ ├── EnhanceRogueBuffCsReqOuterClass.java │ ├── EnhanceRogueBuffScRspOuterClass.java │ ├── EnterMapRotationRegionCsReqOuterClass.java │ ├── EnterMapRotationRegionScRspOuterClass.java │ ├── EnterRogueMapRoomCsReqOuterClass.java │ ├── EnterRogueMapRoomScRspOuterClass.java │ ├── EnterSceneByServerScNotifyOuterClass.java │ ├── EnterSceneCsReqOuterClass.java │ ├── EnterSceneReasonOuterClass.java │ ├── EnteredSceneInfoOuterClass.java │ ├── EntityBuffChangeInfoOuterClass.java │ ├── EntityBuffInfoOuterClass.java │ ├── EntityMotionOuterClass.java │ ├── EquipRelicOuterClass.java │ ├── EquipmentOuterClass.java │ ├── ExchangeGachaCeilingCsReqOuterClass.java │ ├── ExchangeGachaCeilingScRspOuterClass.java │ ├── ExchangeHcoinCsReqOuterClass.java │ ├── ExchangeHcoinScRspOuterClass.java │ ├── ExpUpEquipmentCsReqOuterClass.java │ ├── ExpUpEquipmentScRspOuterClass.java │ ├── ExpUpRelicCsReqOuterClass.java │ ├── ExpUpRelicScRspOuterClass.java │ ├── ExtraLineupTypeOuterClass.java │ ├── FarmStageGachaInfoOuterClass.java │ ├── FinishRogueCommonDialogueCsReqOuterClass.java │ ├── FinishRogueCommonDialogueScRspOuterClass.java │ ├── FinishRogueDialogueGroupCsReqOuterClass.java │ ├── FinishTalkMissionCsReqOuterClass.java │ ├── FinishTalkMissionScRspOuterClass.java │ ├── FirstNpcTalkInfoOuterClass.java │ ├── FriendApplyInfoOuterClass.java │ ├── FriendApplySourceOuterClass.java │ ├── FriendListInfoOuterClass.java │ ├── FriendOnlineStatusOuterClass.java │ ├── FriendRecommendInfoOuterClass.java │ ├── GachaCeilingAvatarOuterClass.java │ ├── GachaCeilingOuterClass.java │ ├── GachaInfoOuterClass.java │ ├── GachaItemOuterClass.java │ ├── GateserverOuterClass.java │ ├── GenderOuterClass.java │ ├── GetActivityScheduleConfigScRspOuterClass.java │ ├── GetAllLineupDataScRspOuterClass.java │ ├── GetArchiveDataScRspOuterClass.java │ ├── GetAvatarDataCsReqOuterClass.java │ ├── GetAvatarDataScRspOuterClass.java │ ├── GetBagScRspOuterClass.java │ ├── GetBasicInfoScRspOuterClass.java │ ├── GetChallengeScRspOuterClass.java │ ├── GetChessRogueNousStoryInfoScRspOuterClass.java │ ├── GetCurChallengeScRspOuterClass.java │ ├── GetCurLineupDataScRspOuterClass.java │ ├── GetCurSceneInfoScRspOuterClass.java │ ├── GetDailyActiveInfoScRspOuterClass.java │ ├── GetEnteredSceneScRspOuterClass.java │ ├── GetFarmStageGachaInfoCsReqOuterClass.java │ ├── GetFarmStageGachaInfoScRspOuterClass.java │ ├── GetFirstTalkByPerformanceNpcCsReqOuterClass.java │ ├── GetFirstTalkByPerformanceNpcScRspOuterClass.java │ ├── GetFirstTalkNpcCsReqOuterClass.java │ ├── GetFirstTalkNpcScRspOuterClass.java │ ├── GetFriendApplyListInfoScRspOuterClass.java │ ├── GetFriendListInfoScRspOuterClass.java │ ├── GetFriendLoginInfoScRspOuterClass.java │ ├── GetFriendRecommendListInfoScRspOuterClass.java │ ├── GetGachaCeilingCsReqOuterClass.java │ ├── GetGachaCeilingScRspOuterClass.java │ ├── GetGachaInfoScRspOuterClass.java │ ├── GetHeroBasicTypeInfoScRspOuterClass.java │ ├── GetJukeboxDataCsReqOuterClass.java │ ├── GetJukeboxDataScRspOuterClass.java │ ├── GetMailScRspOuterClass.java │ ├── GetMissionStatusCsReqOuterClass.java │ ├── GetMissionStatusScRspOuterClass.java │ ├── GetMultiPathAvatarInfoScRspOuterClass.java │ ├── GetNpcTakenRewardCsReqOuterClass.java │ ├── GetNpcTakenRewardScRspOuterClass.java │ ├── GetPetDataScRspOuterClass.java │ ├── GetPhoneDataCsReqOuterClass.java │ ├── GetPhoneDataScRspOuterClass.java │ ├── GetPlayerBoardDataScRspOuterClass.java │ ├── GetPlayerDetailInfoCsReqOuterClass.java │ ├── GetPlayerDetailInfoScRspOuterClass.java │ ├── GetPrivateChatHistoryCsReqOuterClass.java │ ├── GetPrivateChatHistoryScRspOuterClass.java │ ├── GetQuestDataCsReqOuterClass.java │ ├── GetQuestDataScRspOuterClass.java │ ├── GetRogueBuffEnhanceInfoScRspOuterClass.java │ ├── GetRogueHandbookDataScRspOuterClass.java │ ├── GetRogueInfoScRspOuterClass.java │ ├── GetRogueInitialScoreScRspOuterClass.java │ ├── GetRogueScoreRewardInfoScRspOuterClass.java │ ├── GetRogueTalentInfoScRspOuterClass.java │ ├── GetRollShopInfoCsReqOuterClass.java │ ├── GetRollShopInfoScRspOuterClass.java │ ├── GetSceneMapInfoCsReqOuterClass.java │ ├── GetSceneMapInfoScRspOuterClass.java │ ├── GetShopListCsReqOuterClass.java │ ├── GetShopListScRspOuterClass.java │ ├── GetUnlockTeleportCsReqOuterClass.java │ ├── GetUnlockTeleportScRspOuterClass.java │ ├── GoodsOuterClass.java │ ├── GroupStateChangeCsReqOuterClass.java │ ├── GroupStateChangeScNotifyOuterClass.java │ ├── GroupStateChangeScRspOuterClass.java │ ├── GroupStateInfoOuterClass.java │ ├── HandleFriendCsReqOuterClass.java │ ├── HandleFriendScRspOuterClass.java │ ├── HandleRogueCommonPendingActionCsReqOuterClass.java │ ├── HandleRogueCommonPendingActionScRspOuterClass.java │ ├── HeadIconOuterClass.java │ ├── HeroBasicTypeInfoOuterClass.java │ ├── HeroBasicTypeOuterClass.java │ ├── InteractChargerCsReqOuterClass.java │ ├── InteractChargerScRspOuterClass.java │ ├── InteractPropCsReqOuterClass.java │ ├── InteractPropScRspOuterClass.java │ ├── ItemCostListOuterClass.java │ ├── ItemCostOuterClass.java │ ├── ItemListOuterClass.java │ ├── ItemOuterClass.java │ ├── JoinLineupCsReqOuterClass.java │ ├── LANBPBBAJLMOuterClass.java │ ├── LLJFPKKLGAKOuterClass.java │ ├── LanguageTypeOuterClass.java │ ├── LeaveRogueScRspOuterClass.java │ ├── LineupAvatarOuterClass.java │ ├── LineupInfoOuterClass.java │ ├── LineupSlotDataOuterClass.java │ ├── LockEquipmentCsReqOuterClass.java │ ├── LockEquipmentScRspOuterClass.java │ ├── LockRelicCsReqOuterClass.java │ ├── LockRelicScRspOuterClass.java │ ├── MECNPEEJJDEOuterClass.java │ ├── MailTypeOuterClass.java │ ├── MapInfoChestTypeOuterClass.java │ ├── MarkAvatarCsReqOuterClass.java │ ├── MarkAvatarScRspOuterClass.java │ ├── MarkReadMailCsReqOuterClass.java │ ├── MarkReadMailScRspOuterClass.java │ ├── MaterialOuterClass.java │ ├── MazeChestOuterClass.java │ ├── MazeGroupOuterClass.java │ ├── MazeMapDataOuterClass.java │ ├── MazePropOuterClass.java │ ├── MissionCustomValueDataOuterClass.java │ ├── MissionOuterClass.java │ ├── MissionStatusOuterClass.java │ ├── MissionSyncOuterClass.java │ ├── MonsterArchiveOuterClass.java │ ├── MotionInfoOuterClass.java │ ├── MsgTypeOuterClass.java │ ├── MultiPathAvatarInfoOuterClass.java │ ├── MultiPathAvatarTypeOuterClass.java │ ├── NewMailScNotifyOuterClass.java │ ├── NpcDialogueEventParamOuterClass.java │ ├── NpcExtraInfoOuterClass.java │ ├── NpcRogueInfoOuterClass.java │ ├── NpcTalkInfoOuterClass.java │ ├── PVEBattleResultCsReqOuterClass.java │ ├── PVEBattleResultScRspOuterClass.java │ ├── PickRogueAvatarCsReqOuterClass.java │ ├── PickRogueAvatarScRspOuterClass.java │ ├── PileItemOuterClass.java │ ├── PlatformTypeOuterClass.java │ ├── PlayBackGroundMusicCsReqOuterClass.java │ ├── PlayBackGroundMusicScRspOuterClass.java │ ├── PlayerBasicInfoOuterClass.java │ ├── PlayerCollectionInfoOuterClass.java │ ├── PlayerDetailInfoOuterClass.java │ ├── PlayerDisplaySettingsOuterClass.java │ ├── PlayerGetTokenCsReqOuterClass.java │ ├── PlayerGetTokenScRspOuterClass.java │ ├── PlayerHeartbeatCsReqOuterClass.java │ ├── PlayerHeartbeatScRspOuterClass.java │ ├── PlayerLoginScRspOuterClass.java │ ├── PlayerRecordInfoOuterClass.java │ ├── PlayerSettingInfoOuterClass.java │ ├── PlayerSyncScNotifyOuterClass.java │ ├── PlayingStateOuterClass.java │ ├── PromoteAvatarCsReqOuterClass.java │ ├── PromoteEquipmentCsReqOuterClass.java │ ├── PropAeonInfoOuterClass.java │ ├── PropExtraInfoOuterClass.java │ ├── PropRogueInfoOuterClass.java │ ├── QuestOuterClass.java │ ├── QuestStatusOuterClass.java │ ├── QuitLineupCsReqOuterClass.java │ ├── RankUpAvatarCsReqOuterClass.java │ ├── RankUpEquipmentCsReqOuterClass.java │ ├── ReEnterLastElementStageCsReqOuterClass.java │ ├── ReEnterLastElementStageScRspOuterClass.java │ ├── RecallPetCsReqOuterClass.java │ ├── RecallPetScRspOuterClass.java │ ├── RefreshTriggerByClientCsReqOuterClass.java │ ├── RefreshTriggerByClientScNotifyOuterClass.java │ ├── RefreshTriggerByClientScRspOuterClass.java │ ├── RegionEntryOuterClass.java │ ├── RelicAffixOuterClass.java │ ├── RelicArchiveOuterClass.java │ ├── RelicAvatarRecommendCsReqOuterClass.java │ ├── RelicAvatarRecommendScRspOuterClass.java │ ├── RelicOuterClass.java │ ├── RelicParamOuterClass.java │ ├── RelicRecommendCsReqOuterClass.java │ ├── RelicRecommendScRspOuterClass.java │ ├── RemoveRotaterCsReqOuterClass.java │ ├── RemoveRotaterScRspOuterClass.java │ ├── ReplaceLineupCsReqOuterClass.java │ ├── ReserveStaminaExchangeCsReqOuterClass.java │ ├── ReserveStaminaExchangeScRspOuterClass.java │ ├── RevcMsgScNotifyOuterClass.java │ ├── RogueAchivedMiracleInfoOuterClass.java │ ├── RogueActionOuterClass.java │ ├── RogueActionResultDataOuterClass.java │ ├── RogueActionResultOuterClass.java │ ├── RogueAeonInfoOuterClass.java │ ├── RogueAeonOuterClass.java │ ├── RogueAreaInfoOuterClass.java │ ├── RogueAreaOuterClass.java │ ├── RogueAreaStatusOuterClass.java │ ├── RogueAvatarInfoOuterClass.java │ ├── RogueAvatarReviveCostOuterClass.java │ ├── RogueBonusSelectInfoOuterClass.java │ ├── RogueBonusSelectOuterClass.java │ ├── RogueBonusSelectResultOuterClass.java │ ├── RogueBuffDataOuterClass.java │ ├── RogueBuffEnhanceInfoOuterClass.java │ ├── RogueBuffEnhanceShopInfoOuterClass.java │ ├── RogueBuffInfoOuterClass.java │ ├── RogueBuffOuterClass.java │ ├── RogueBuffRollInfoOuterClass.java │ ├── RogueBuffSelectInfoOuterClass.java │ ├── RogueBuffSelectOuterClass.java │ ├── RogueBuffSourceOuterClass.java │ ├── RogueCommonActionResultDisplayTypeOuterClass.java │ ├── RogueCommonBuffOuterClass.java │ ├── RogueCommonBuffSelectInfoOuterClass.java │ ├── RogueCommonBuffSelectResultOuterClass.java │ ├── RogueCommonBuffSelectSourceOuterClass.java │ ├── RogueCommonDialogueBasicInfoOuterClass.java │ ├── RogueCommonDialogueDataInfoOuterClass.java │ ├── RogueCommonDialogueInfoOuterClass.java │ ├── RogueCommonDialogueOptionBattleResultInfoOuterClass.java │ ├── RogueCommonDialogueOptionDisplayInfoOuterClass.java │ ├── RogueCommonDialogueOptionInfoOuterClass.java │ ├── RogueCommonDialogueOptionResultInfoOuterClass.java │ ├── RogueCommonPendingActionOuterClass.java │ ├── RogueCurVirtualItemInfoOuterClass.java │ ├── RogueCurrentInfoOuterClass.java │ ├── RogueDialogueEventOuterClass.java │ ├── RogueDialogueEventParamOuterClass.java │ ├── RogueFinishInfoOuterClass.java │ ├── RogueHandbookAeonOuterClass.java │ ├── RogueHandbookBuffOuterClass.java │ ├── RogueHandbookDataOuterClass.java │ ├── RogueHandbookEventOuterClass.java │ ├── RogueHandbookMiracleOuterClass.java │ ├── RogueInfoDataOuterClass.java │ ├── RogueInfoOuterClass.java │ ├── RogueMapInfoOuterClass.java │ ├── RogueMiracleDataInfoOuterClass.java │ ├── RogueMiracleDataOuterClass.java │ ├── RogueMiracleInfoDataOuterClass.java │ ├── RogueMiracleInfoOuterClass.java │ ├── RogueMiracleOuterClass.java │ ├── RogueMiracleSelectInfoOuterClass.java │ ├── RogueMiracleSelectOuterClass.java │ ├── RogueMiracleSelectResultOuterClass.java │ ├── RogueMiracleSourceOuterClass.java │ ├── RogueNpcDisappearCsReqOuterClass.java │ ├── RogueNpcDisappearScRspOuterClass.java │ ├── RogueRecordAvatarOuterClass.java │ ├── RogueRecordInfoOuterClass.java │ ├── RogueRerollBuffOuterClass.java │ ├── RogueRoomOuterClass.java │ ├── RogueRoomStatusOuterClass.java │ ├── RogueScoreRewardInfoOuterClass.java │ ├── RogueSeasonInfoOuterClass.java │ ├── RogueStatusOuterClass.java │ ├── RogueSyncContextBoardEventOuterClass.java │ ├── RogueTalentInfoOuterClass.java │ ├── RogueTalentOuterClass.java │ ├── RogueTalentStatusOuterClass.java │ ├── RogueUnlockProgressOuterClass.java │ ├── RogueVirtualItemDataOuterClass.java │ ├── RogueVirtualItemInfoOuterClass.java │ ├── RollRogueBuffScRspOuterClass.java │ ├── RotateMapCsReqOuterClass.java │ ├── RotateMapScRspOuterClass.java │ ├── RotaterDataOuterClass.java │ ├── RotatorEnergyInfoOuterClass.java │ ├── SceneActorInfoOuterClass.java │ ├── SceneBattleInfoOuterClass.java │ ├── SceneCastSkillCostMpCsReqOuterClass.java │ ├── SceneCastSkillCostMpScRspOuterClass.java │ ├── SceneCastSkillCsReqOuterClass.java │ ├── SceneCastSkillMpUpdateScNotifyOuterClass.java │ ├── SceneCastSkillOuterClass.java │ ├── SceneCastSkillScRspOuterClass.java │ ├── SceneEnterStageCsReqOuterClass.java │ ├── SceneEnterStageScRspOuterClass.java │ ├── SceneEntityGroupInfoOuterClass.java │ ├── SceneEntityInfoOuterClass.java │ ├── SceneEntityMoveCsReqOuterClass.java │ ├── SceneEntityMoveScNotifyOuterClass.java │ ├── SceneEntityRefreshInfoOuterClass.java │ ├── SceneEntityTeleportCsReqOuterClass.java │ ├── SceneEntityTeleportScRspOuterClass.java │ ├── SceneGroupRefreshInfoOuterClass.java │ ├── SceneGroupRefreshScNotifyOuterClass.java │ ├── SceneGroupRefreshTypeOuterClass.java │ ├── SceneGroupStateOuterClass.java │ ├── SceneInfoOuterClass.java │ ├── SceneMonsterOuterClass.java │ ├── SceneMonsterWaveOuterClass.java │ ├── SceneMonsterWaveParamOuterClass.java │ ├── SceneNpcInfoOuterClass.java │ ├── SceneNpcMonsterInfoOuterClass.java │ ├── ScenePlaneEventScNotifyOuterClass.java │ ├── ScenePropInfoOuterClass.java │ ├── SceneSummonUnitInfoOuterClass.java │ ├── SearchPlayerCsReqOuterClass.java │ ├── SearchPlayerScRspOuterClass.java │ ├── SelectChatBubbleCsReqOuterClass.java │ ├── SelectChatBubbleScRspOuterClass.java │ ├── SelectPhoneThemeCsReqOuterClass.java │ ├── SelectPhoneThemeScRspOuterClass.java │ ├── SelectRogueBuffCsReqOuterClass.java │ ├── SelectRogueBuffScRspOuterClass.java │ ├── SelectRogueCommonDialogueOptionCsReqOuterClass.java │ ├── SelectRogueCommonDialogueOptionScRspOuterClass.java │ ├── SelectRogueDialogueEventCsReqOuterClass.java │ ├── SelectRogueDialogueEventScRspOuterClass.java │ ├── SelectRogueMiracleCsReqOuterClass.java │ ├── SelectRogueMiracleScRspOuterClass.java │ ├── SellItemCsReqOuterClass.java │ ├── SellItemScRspOuterClass.java │ ├── SendMsgCsReqOuterClass.java │ ├── ServerPrefsOuterClass.java │ ├── SetAssistAvatarCsReqOuterClass.java │ ├── SetAssistAvatarScRspOuterClass.java │ ├── SetAvatarPathCsReqOuterClass.java │ ├── SetAvatarPathScRspOuterClass.java │ ├── SetClientPausedCsReqOuterClass.java │ ├── SetClientPausedScRspOuterClass.java │ ├── SetDisplayAvatarCsReqOuterClass.java │ ├── SetDisplayAvatarScRspOuterClass.java │ ├── SetFriendMarkCsReqOuterClass.java │ ├── SetFriendMarkScRspOuterClass.java │ ├── SetGameplayBirthdayCsReqOuterClass.java │ ├── SetGameplayBirthdayScRspOuterClass.java │ ├── SetGroupCustomSaveDataCsReqOuterClass.java │ ├── SetGroupCustomSaveDataScRspOuterClass.java │ ├── SetHeadIconCsReqOuterClass.java │ ├── SetHeadIconScRspOuterClass.java │ ├── SetHeroBasicTypeCsReqOuterClass.java │ ├── SetHeroBasicTypeScRspOuterClass.java │ ├── SetLineupNameCsReqOuterClass.java │ ├── SetLineupNameScRspOuterClass.java │ ├── SetNicknameCsReqOuterClass.java │ ├── SetSignatureCsReqOuterClass.java │ ├── SetSignatureScRspOuterClass.java │ ├── ShopOuterClass.java │ ├── SimpleInfoOuterClass.java │ ├── SpBarInfoOuterClass.java │ ├── StaminaInfoScNotifyOuterClass.java │ ├── StartChallengeCsReqOuterClass.java │ ├── StartChallengeScRspOuterClass.java │ ├── StartChallengeStoryBuffInfoOuterClass.java │ ├── StartChallengeStoryInfoOuterClass.java │ ├── StartCocoonStageCsReqOuterClass.java │ ├── StartCocoonStageScRspOuterClass.java │ ├── StartNewChallengeStoryBuffInfoOuterClass.java │ ├── StartPartialChallengeCsReqOuterClass.java │ ├── StartPartialChallengeScRspOuterClass.java │ ├── StartRogueCsReqOuterClass.java │ ├── StartRogueScRspOuterClass.java │ ├── SummonPetCsReqOuterClass.java │ ├── SummonPetScRspOuterClass.java │ ├── SwapLineupCsReqOuterClass.java │ ├── SwitchLineupIndexCsReqOuterClass.java │ ├── SwitchLineupIndexScRspOuterClass.java │ ├── SyncApplyFriendScNotifyOuterClass.java │ ├── SyncChessRogueNousValueScNotifyOuterClass.java │ ├── SyncClientResVersionCsReqOuterClass.java │ ├── SyncClientResVersionScRspOuterClass.java │ ├── SyncDeleteFriendScNotifyOuterClass.java │ ├── SyncEntityBuffChangeListScNotifyOuterClass.java │ ├── SyncHandleFriendScNotifyOuterClass.java │ ├── SyncLineupNotifyOuterClass.java │ ├── SyncLineupReasonOuterClass.java │ ├── SyncReasonOuterClass.java │ ├── SyncRogueBuffSelectInfoScNotifyOuterClass.java │ ├── SyncRogueCommonActionResultScNotifyOuterClass.java │ ├── SyncRogueCommonDialogueDataScNotifyOuterClass.java │ ├── SyncRogueCommonDialogueOptionFinishScNotifyOuterClass.java │ ├── SyncRogueCommonPendingActionScNotifyOuterClass.java │ ├── SyncRogueDialogueEventDataScNotifyOuterClass.java │ ├── SyncRogueFinishScNotifyOuterClass.java │ ├── SyncRogueMapRoomScNotifyOuterClass.java │ ├── SyncRogueMiracleSelectInfoScNotifyOuterClass.java │ ├── SyncRogueStatusScNotifyOuterClass.java │ ├── SyncRogueVirtualItemInfoScNotifyOuterClass.java │ ├── TakeChallengeRewardCsReqOuterClass.java │ ├── TakeChallengeRewardScRspOuterClass.java │ ├── TakeMailAttachmentCsReqOuterClass.java │ ├── TakeMailAttachmentScRspOuterClass.java │ ├── TakeOffEquipmentCsReqOuterClass.java │ ├── TakeOffRelicCsReqOuterClass.java │ ├── TakePromotionRewardCsReqOuterClass.java │ ├── TakePromotionRewardScRspOuterClass.java │ ├── TakenChallengeRewardInfoOuterClass.java │ ├── TextJoinInfoOuterClass.java │ ├── TextJoinQueryCsReqOuterClass.java │ ├── TextJoinQueryScRspOuterClass.java │ ├── UnlockBackGroundMusicCsReqOuterClass.java │ ├── UnlockBackGroundMusicScRspOuterClass.java │ ├── UnlockChatBubbleScNotifyOuterClass.java │ ├── UnlockHeroBasicTypeCsReqOuterClass.java │ ├── UnlockHeroBasicTypeScRspOuterClass.java │ ├── UnlockPhoneThemeScNotifyOuterClass.java │ ├── UnlockSkilltreeCsReqOuterClass.java │ ├── UnlockSkilltreeScRspOuterClass.java │ ├── UnlockedMusicOuterClass.java │ ├── UpdateEnergyScNotifyOuterClass.java │ ├── UpdateServerPrefsDataCsReqOuterClass.java │ ├── UpdateServerPrefsDataScRspOuterClass.java │ ├── UseItemCsReqOuterClass.java │ ├── UseItemScRspOuterClass.java │ └── VectorOuterClass.java └── main ├── java └── emu │ └── lunarcore │ ├── Config.java │ ├── GameConstants.java │ ├── HotfixData.java │ ├── LunarCore.java │ ├── command │ ├── Command.java │ ├── CommandArgs.java │ ├── CommandHandler.java │ ├── CommandManager.java │ └── commands │ │ ├── AccountCommand.java │ │ ├── AvatarCommand.java │ │ ├── ClearCommand.java │ │ ├── GenderCommand.java │ │ ├── GiveAllCommand.java │ │ ├── GiveCommand.java │ │ ├── HealCommand.java │ │ ├── HelpCommand.java │ │ ├── KickCommand.java │ │ ├── LineupCommand.java │ │ ├── MailCommand.java │ │ ├── PermissionCommand.java │ │ ├── RefillMPCommand.java │ │ ├── RefillSPCommand.java │ │ ├── ReloadCommand.java │ │ ├── SceneCommand.java │ │ ├── SetLevelCommand.java │ │ ├── SpawnCommand.java │ │ ├── StatusCommand.java │ │ ├── StopCommand.java │ │ ├── UnstuckCommand.java │ │ └── WorldLevelCommand.java │ ├── data │ ├── GameData.java │ ├── GameDepot.java │ ├── GameResource.java │ ├── ResourceDeserializers.java │ ├── ResourceLoader.java │ ├── ResourceType.java │ ├── common │ │ └── ItemParam.java │ ├── config │ │ ├── AnchorInfo.java │ │ ├── DynamicFloat.java │ │ ├── FloorInfo.java │ │ ├── GroupInfo.java │ │ ├── MonsterInfo.java │ │ ├── NpcInfo.java │ │ ├── ObjectInfo.java │ │ ├── PropInfo.java │ │ ├── SkillAbilityInfo.java │ │ ├── SummonUnitInfo.java │ │ ├── TaskInfo.java │ │ └── rogue │ │ │ ├── RogueDialogueBaseConfigInfo.java │ │ │ ├── RogueDialogueEventConfigInfo.java │ │ │ ├── RogueDialogueEventOptionConfigInfo.java │ │ │ ├── RogueDialogueEventOptionDynamicConfigInfo.java │ │ │ ├── RogueNPCConfigInfo.java │ │ │ └── RogueNPCDialogueConfigInfo.java │ ├── custom │ │ └── ActivityScheduleData.java │ └── excel │ │ ├── ActivityPanelExcel.java │ │ ├── AvatarExcel.java │ │ ├── AvatarExpItemExcel.java │ │ ├── AvatarPromotionExcel.java │ │ ├── AvatarRankExcel.java │ │ ├── AvatarSkillTreeExcel.java │ │ ├── BackGroundMusicExcel.java │ │ ├── BattleEventDataExcel.java │ │ ├── ChallengeBossExtraExcel.java │ │ ├── ChallengeExcel.java │ │ ├── ChallengeGroupExcel.java │ │ ├── ChallengeRewardExcel.java │ │ ├── ChallengeStoryExtraExcel.java │ │ ├── ChallengeTargetExcel.java │ │ ├── ChatBubbleExcel.java │ │ ├── CocoonExcel.java │ │ ├── ContentPackageExcel.java │ │ ├── DialogueEventExcel.java │ │ ├── EquipmentExcel.java │ │ ├── EquipmentExpItemExcel.java │ │ ├── EquipmentExpTypeExcel.java │ │ ├── EquipmentPromotionExcel.java │ │ ├── ExpTypeExcel.java │ │ ├── InteractExcel.java │ │ ├── ItemComposeExcel.java │ │ ├── ItemExcel.java │ │ ├── ItemUseExcel.java │ │ ├── MapEntranceExcel.java │ │ ├── MappingInfoExcel.java │ │ ├── MazeBuffExcel.java │ │ ├── MazePlaneExcel.java │ │ ├── MonsterDropExcel.java │ │ ├── MonsterExcel.java │ │ ├── MultiplePathAvatarExcel.java │ │ ├── NpcExcel.java │ │ ├── NpcMonsterExcel.java │ │ ├── PetExcel.java │ │ ├── PhoneThemeExcel.java │ │ ├── PlayerIconExcel.java │ │ ├── PlayerLevelExcel.java │ │ ├── PropExcel.java │ │ ├── QuestExcel.java │ │ ├── RelicExcel.java │ │ ├── RelicExpItemExcel.java │ │ ├── RelicExpTypeExcel.java │ │ ├── RelicMainAffixExcel.java │ │ ├── RelicSetExcel.java │ │ ├── RelicSubAffixExcel.java │ │ ├── RewardExcel.java │ │ ├── RogueAeonExcel.java │ │ ├── RogueAreaExcel.java │ │ ├── RogueBonusExcel.java │ │ ├── RogueBuffExcel.java │ │ ├── RogueBuffGroupExcel.java │ │ ├── RogueDLCAreaExcel.java │ │ ├── RogueManagerExcel.java │ │ ├── RogueMapExcel.java │ │ ├── RogueMiracleExcel.java │ │ ├── RogueMonsterExcel.java │ │ ├── RogueNPCExcel.java │ │ ├── RogueNousDiceBranchExcel.java │ │ ├── RogueNousMainStoryExcel.java │ │ ├── RogueNousSubStoryExcel.java │ │ ├── RogueRoomExcel.java │ │ ├── RogueTalentExcel.java │ │ ├── ShopExcel.java │ │ ├── ShopGoodsExcel.java │ │ ├── StageExcel.java │ │ ├── SummonUnitExcel.java │ │ └── TextJoinExcel.java │ ├── database │ ├── AccountDatabaseOnly.java │ ├── DatabaseCounter.java │ ├── DatabaseManager.java │ └── codecs │ │ ├── Int2IntMapCodec.java │ │ ├── IntListCodec.java │ │ └── IntSetCodec.java │ ├── game │ ├── account │ │ ├── Account.java │ │ └── AccountHelper.java │ ├── avatar │ │ ├── AvatarData.java │ │ ├── AvatarMultiPath.java │ │ ├── AvatarStorage.java │ │ ├── BaseAvatar.java │ │ └── GameAvatar.java │ ├── battle │ │ ├── Battle.java │ │ ├── BattleMonsterWave.java │ │ ├── BattleService.java │ │ ├── BattleStage.java │ │ ├── CustomBattleStage.java │ │ ├── MazeBuff.java │ │ └── skills │ │ │ ├── MazeSkill.java │ │ │ ├── MazeSkillAction.java │ │ │ ├── MazeSkillAddBuff.java │ │ │ ├── MazeSkillHitProp.java │ │ │ ├── MazeSkillModifyHP.java │ │ │ ├── MazeSkillModifySP.java │ │ │ ├── MazeSkillSetAttackTargetMonsterDie.java │ │ │ └── MazeSkillSummonUnit.java │ ├── challenge │ │ ├── ChallengeEntityLoader.java │ │ ├── ChallengeGroupReward.java │ │ ├── ChallengeHistory.java │ │ ├── ChallengeInstance.java │ │ ├── ChallengeManager.java │ │ └── ChallengeType.java │ ├── chat │ │ ├── ChatManager.java │ │ └── ChatMessage.java │ ├── drops │ │ ├── DropParam.java │ │ └── DropService.java │ ├── enums │ │ ├── AvatarBaseType.java │ │ ├── AvatarPropertyType.java │ │ ├── DamageType.java │ │ ├── DialogueEventCostType.java │ │ ├── DialogueEventType.java │ │ ├── ItemFoodTargetType.java │ │ ├── ItemMainType.java │ │ ├── ItemRarity.java │ │ ├── ItemSubType.java │ │ ├── ItemUseMethod.java │ │ ├── MonsterRank.java │ │ ├── PersonalizeShowType.java │ │ ├── PlaneType.java │ │ ├── PropState.java │ │ ├── PropType.java │ │ ├── RelicType.java │ │ ├── RogueBuffAeonType.java │ │ ├── RogueBuffCategory.java │ │ ├── RogueDialogueType.java │ │ └── StageType.java │ ├── friends │ │ ├── FriendList.java │ │ └── Friendship.java │ ├── gacha │ │ ├── GachaBanner.java │ │ ├── GachaService.java │ │ ├── GachaType.java │ │ ├── PlayerGachaBannerInfo.java │ │ └── PlayerGachaInfo.java │ ├── inventory │ │ ├── GameItem.java │ │ ├── GameItemSubAffix.java │ │ ├── Inventory.java │ │ ├── InventoryService.java │ │ ├── ItemParamMap.java │ │ ├── ItemUseHandler.java │ │ └── tabs │ │ │ ├── EquipInventoryTab.java │ │ │ ├── InventoryTab.java │ │ │ ├── InventoryTabType.java │ │ │ └── MaterialInventoryTab.java │ ├── mail │ │ ├── Mail.java │ │ └── Mailbox.java │ ├── player │ │ ├── BasePlayerManager.java │ │ ├── Player.java │ │ ├── PlayerGender.java │ │ ├── PlayerUnlockData.java │ │ └── lineup │ │ │ ├── LineupManager.java │ │ │ ├── PlayerExtraLineup.java │ │ │ ├── PlayerLineup.java │ │ │ └── PlayerTempLineup.java │ ├── rogue │ │ ├── RogueBonusData.java │ │ ├── RogueBonusSelectMenu.java │ │ ├── RogueBuffData.java │ │ ├── RogueBuffSelectMenu.java │ │ ├── RogueBuffType.java │ │ ├── RogueEntityLoader.java │ │ ├── RogueEventManager.java │ │ ├── RogueInstance.java │ │ ├── RogueManager.java │ │ ├── RogueMiracleData.java │ │ ├── RogueMiracleSelectMenu.java │ │ ├── RogueRoomData.java │ │ ├── RogueRoomType.java │ │ ├── RogueTalentData.java │ │ └── event │ │ │ ├── RogueEventInstance.java │ │ │ ├── RogueEventParam.java │ │ │ └── RogueEventResultInfo.java │ ├── scene │ │ ├── Scene.java │ │ ├── SceneBuff.java │ │ ├── SceneEntityLoader.java │ │ ├── entity │ │ │ ├── EntityMonster.java │ │ │ ├── EntityNpc.java │ │ │ ├── EntityProp.java │ │ │ ├── EntitySummonUnit.java │ │ │ ├── GameEntity.java │ │ │ └── extra │ │ │ │ └── PropRogueData.java │ │ └── triggers │ │ │ ├── PropTrigger.java │ │ │ ├── PropTriggerType.java │ │ │ └── TriggerOpenTreasureWhenMonsterDie.java │ └── shop │ │ └── ShopService.java │ ├── plugin │ ├── Plugin.java │ └── PluginManager.java │ ├── server │ ├── game │ │ ├── BaseGameService.java │ │ ├── GameServer.java │ │ ├── GameServerKcpListener.java │ │ ├── GameServerPacketCache.java │ │ ├── GameServerPacketHandler.java │ │ ├── GameSession.java │ │ ├── RegionInfo.java │ │ ├── Syncable.java │ │ └── Tickable.java │ ├── http │ │ ├── HttpServer.java │ │ ├── handlers │ │ │ ├── ComboTokenGranterHandler.java │ │ │ ├── FingerprintHandler.java │ │ │ ├── HttpJsonResponse.java │ │ │ ├── QueryDispatchHandler.java │ │ │ ├── QueryGatewayHandler.java │ │ │ ├── StatusServerHandler.java │ │ │ ├── TokenLoginHandler.java │ │ │ └── UsernameLoginHandler.java │ │ └── objects │ │ │ ├── ComboTokenReqJson.java │ │ │ ├── ComboTokenResJson.java │ │ │ ├── FingerprintReqJson.java │ │ │ ├── FingerprintResJson.java │ │ │ ├── LoginAccountReqJson.java │ │ │ ├── LoginResJson.java │ │ │ └── LoginTokenReqJson.java │ └── packet │ │ ├── BasePacket.java │ │ ├── CacheablePacket.java │ │ ├── CmdId.java │ │ ├── CmdIdUtils.java │ │ ├── Opcodes.java │ │ ├── PacketHandler.java │ │ ├── Retcode.java │ │ ├── SessionState.java │ │ ├── recv │ │ ├── Handler.java │ │ ├── HandlerActivateFarmElementCsReq.java │ │ ├── HandlerApplyFriendCsReq.java │ │ ├── HandlerAvatarExpUpCsReq.java │ │ ├── HandlerBuyGoodsCsReq.java │ │ ├── HandlerChangeLineupLeaderCsReq.java │ │ ├── HandlerComposeItemCsReq.java │ │ ├── HandlerComposeSelectedRelicCsReq.java │ │ ├── HandlerContentPackageGetDataCsReq.java │ │ ├── HandlerDelMailCsReq.java │ │ ├── HandlerDeleteFriendCsReq.java │ │ ├── HandlerDeployRotaterCsReq.java │ │ ├── HandlerDestroyItemCsReq.java │ │ ├── HandlerDiscardRelicCsReq.java │ │ ├── HandlerDoGachaCsReq.java │ │ ├── HandlerDressAvatarCsReq.java │ │ ├── HandlerDressRelicAvatarCsReq.java │ │ ├── HandlerEnableRogueTalentCsReq.java │ │ ├── HandlerEnhanceRogueBuffCsReq.java │ │ ├── HandlerEnterMapRotationRegionCsReq.java │ │ ├── HandlerEnterRogueMapRoomCsReq.java │ │ ├── HandlerEnterSceneCsReq.java │ │ ├── HandlerEntityBindPropCsReq.java │ │ ├── HandlerExchangeGachaCeilingCsReq.java │ │ ├── HandlerExchangeHcoinCsReq.java │ │ ├── HandlerExpUpEquipmentCsReq.java │ │ ├── HandlerExpUpRelicCsReq.java │ │ ├── HandlerFinishRogueCommonDialogueCsReq.java │ │ ├── HandlerFinishTalkMissionCsReq.java │ │ ├── HandlerGetActivityScheduleConfigCsReq.java │ │ ├── HandlerGetAllLineupDataCsReq.java │ │ ├── HandlerGetArchiveDataCsReq.java │ │ ├── HandlerGetAssistHistoryCsReq.java │ │ ├── HandlerGetAssistListCsReq.java │ │ ├── HandlerGetAvatarDataCsReq.java │ │ ├── HandlerGetBagCsReq.java │ │ ├── HandlerGetBasicInfoCsReq.java │ │ ├── HandlerGetChallengeCsReq.java │ │ ├── HandlerGetChatEmojiListCsReq.java │ │ ├── HandlerGetCurChallengeCsReq.java │ │ ├── HandlerGetCurLineupDataCsReq.java │ │ ├── HandlerGetCurSceneInfoCsReq.java │ │ ├── HandlerGetDailyActiveInfoCsReq.java │ │ ├── HandlerGetEnteredSceneCsReq.java │ │ ├── HandlerGetFarmStageGachaInfoCsReq.java │ │ ├── HandlerGetFirstTalkByPerformanceNpcCsReq.java │ │ ├── HandlerGetFirstTalkNpcCsReq.java │ │ ├── HandlerGetFriendApplyListInfoCsReq.java │ │ ├── HandlerGetFriendAssistListCsReq.java │ │ ├── HandlerGetFriendChallengeLineupCsReq.java │ │ ├── HandlerGetFriendListInfoCsReq.java │ │ ├── HandlerGetFriendLoginInfoCsReq.java │ │ ├── HandlerGetFriendRecommendListInfoCsReq.java │ │ ├── HandlerGetGachaCeilingCsReq.java │ │ ├── HandlerGetGachaInfoCsReq.java │ │ ├── HandlerGetJukeboxDataCsReq.java │ │ ├── HandlerGetMailCsReq.java │ │ ├── HandlerGetMissionDataCsReq.java │ │ ├── HandlerGetMissionStatusCsReq.java │ │ ├── HandlerGetMultiPathAvatarInfoCsReq.java │ │ ├── HandlerGetNpcTakenRewardCsReq.java │ │ ├── HandlerGetPetDataCsReq.java │ │ ├── HandlerGetPhoneDataCsReq.java │ │ ├── HandlerGetPlayerBoardDataCsReq.java │ │ ├── HandlerGetPlayerDetailInfoCsReq.java │ │ ├── HandlerGetPrivateChatHistoryCsReq.java │ │ ├── HandlerGetQuestDataCsReq.java │ │ ├── HandlerGetRogueBuffEnhanceInfoCsReq.java │ │ ├── HandlerGetRogueHandbookDataCsReq.java │ │ ├── HandlerGetRogueInfoCsReq.java │ │ ├── HandlerGetRogueInitialScoreCsReq.java │ │ ├── HandlerGetRogueScoreRewardInfoCsReq.java │ │ ├── HandlerGetRogueTalentInfoCsReq.java │ │ ├── HandlerGetSceneMapInfoCsReq.java │ │ ├── HandlerGetShopListCsReq.java │ │ ├── HandlerGetTreasureDungeonActivityDataCsReq.java │ │ ├── HandlerGetUnlockTeleportCsReq.java │ │ ├── HandlerGroupStateChangeCsReq.java │ │ ├── HandlerHandleFriendCsReq.java │ │ ├── HandlerHandleRogueCommonPendingActionCsReq.java │ │ ├── HandlerInteractChargerCsReq.java │ │ ├── HandlerInteractPropCsReq.java │ │ ├── HandlerJoinLineupCsReq.java │ │ ├── HandlerLeaveChallengeCsReq.java │ │ ├── HandlerLeaveRogueCsReq.java │ │ ├── HandlerLockEquipmentCsReq.java │ │ ├── HandlerLockRelicCsReq.java │ │ ├── HandlerMarkAvatarCsReq.java │ │ ├── HandlerMarkReadMailCsReq.java │ │ ├── HandlerPVEBattleResultCsReq.java │ │ ├── HandlerPickRogueAvatarCsReq.java │ │ ├── HandlerPlayBackGroundMusicCsReq.java │ │ ├── HandlerPlayerGetTokenCsReq.java │ │ ├── HandlerPlayerHeartBeatCsReq.java │ │ ├── HandlerPlayerLoginCsReq.java │ │ ├── HandlerPlayerLoginFinishCsReq.java │ │ ├── HandlerPlayerLogoutCsReq.java │ │ ├── HandlerPromoteAvatarCsReq.java │ │ ├── HandlerPromoteEquipmentCsReq.java │ │ ├── HandlerQueryProductInfoCsReq.java │ │ ├── HandlerQuitLineupCsReq.java │ │ ├── HandlerQuitRogueCsReq.java │ │ ├── HandlerRankUpAvatarCsReq.java │ │ ├── HandlerRankUpEquipmentCsReq.java │ │ ├── HandlerReEnterLastElementStageCsReq.java │ │ ├── HandlerRecallPetCsReq.java │ │ ├── HandlerRefreshTriggerByClientCsReq.java │ │ ├── HandlerRelicRecommendCsReq.java │ │ ├── HandlerReplaceLineupCsReq.java │ │ ├── HandlerReserveStaminaExchangeCsReq.java │ │ ├── HandlerRogueNpcDisappearCsReq.java │ │ ├── HandlerRotateMapCsReq.java │ │ ├── HandlerSceneCastSkillCostMpCsReq.java │ │ ├── HandlerSceneCastSkillCsReq.java │ │ ├── HandlerSceneEnterStageCsReq.java │ │ ├── HandlerSceneEntityMoveCsReq.java │ │ ├── HandlerSearchPlayerCsReq.java │ │ ├── HandlerSelectChatBubbleCsReq.java │ │ ├── HandlerSelectPhoneThemeCsReq.java │ │ ├── HandlerSelectRogueCommonDialogueOptionCsReq.java │ │ ├── HandlerSellItemCsReq.java │ │ ├── HandlerSendMsgCsReq.java │ │ ├── HandlerSetAssistAvatarCsReq.java │ │ ├── HandlerSetAvatarPathCsReq.java │ │ ├── HandlerSetClientPausedCsReq.java │ │ ├── HandlerSetDisplayAvatarCsReq.java │ │ ├── HandlerSetGameplayBirthdayCsReq.java │ │ ├── HandlerSetHeadIconCsReq.java │ │ ├── HandlerSetLineupNameCsReq.java │ │ ├── HandlerSetNicknameCsReq.java │ │ ├── HandlerSetSignatureCsReq.java │ │ ├── HandlerStartChallengeCsReq.java │ │ ├── HandlerStartCocoonStageCsReq.java │ │ ├── HandlerStartPartialChallengeCsReq.java │ │ ├── HandlerStartRogueCsReq.java │ │ ├── HandlerSummonPetCsReq.java │ │ ├── HandlerSwapLineupCsReq.java │ │ ├── HandlerSwitchLineupIndexCsReq.java │ │ ├── HandlerSyncClientResVersionCsReq.java │ │ ├── HandlerTakeChallengeRewardCsReq.java │ │ ├── HandlerTakeMailAttachmentCsReq.java │ │ ├── HandlerTakeOffEquipmentCsReq.java │ │ ├── HandlerTakeOffRelicCsReq.java │ │ ├── HandlerTakePromotionRewardCsReq.java │ │ ├── HandlerTextJoinQueryCsReq.java │ │ ├── HandlerUnlockBackGroundMusicCsReq.java │ │ ├── HandlerUnlockSkilltreeCsReq.java │ │ ├── HandlerUpdateServerPrefsDataCsReq.java │ │ └── HandlerUseItemCsReq.java │ │ └── send │ │ ├── Packet.java │ │ ├── PacketActivateFarmElementScRsp.java │ │ ├── PacketAvatarExpUpScRsp.java │ │ ├── PacketAvatarPathChangedNotify.java │ │ ├── PacketBattlePassInfoNotify.java │ │ ├── PacketBuyGoodsScRsp.java │ │ ├── PacketChallengeLineupNotify.java │ │ ├── PacketChallengeSettleNotify.java │ │ ├── PacketChangeLineupLeaderScRsp.java │ │ ├── PacketComposeItemScRsp.java │ │ ├── PacketComposeSelectedRelicScRsp.java │ │ ├── PacketContentPackageGetDataScRsp.java │ │ ├── PacketCurPetChangedScNotify.java │ │ ├── PacketDailyActiveInfoNotify.java │ │ ├── PacketDelMailScRsp.java │ │ ├── PacketDeployRotaterScRsp.java │ │ ├── PacketDoGachaScRsp.java │ │ ├── PacketEnableRogueTalentScRsp.java │ │ ├── PacketEnhanceRogueBuffScRsp.java │ │ ├── PacketEnterMapRotationRegionScRsp.java │ │ ├── PacketEnterRogueMapRoomScRsp.java │ │ ├── PacketEnterSceneByServerScNotify.java │ │ ├── PacketExchangeGachaCeilingScRsp.java │ │ ├── PacketExpUpEquipmentScRsp.java │ │ ├── PacketExpUpRelicScRsp.java │ │ ├── PacketFinishTalkMissionScRsp.java │ │ ├── PacketGetActivityScheduleConfigScRsp.java │ │ ├── PacketGetAllLineupDataScRsp.java │ │ ├── PacketGetArchiveDataScRsp.java │ │ ├── PacketGetAvatarDataScRsp.java │ │ ├── PacketGetBagScRsp.java │ │ ├── PacketGetBasicInfoScRsp.java │ │ ├── PacketGetChallengeScRsp.java │ │ ├── PacketGetChessRogueNousStoryInfoScRsp.java │ │ ├── PacketGetCurChallengeScRsp.java │ │ ├── PacketGetCurLineupDataScRsp.java │ │ ├── PacketGetCurSceneInfoScRsp.java │ │ ├── PacketGetDailyActiveInfoScRsp.java │ │ ├── PacketGetEnteredSceneScRsp.java │ │ ├── PacketGetFarmStageGachaInfoScRsp.java │ │ ├── PacketGetFirstTalkByPerformanceNpcScRsp.java │ │ ├── PacketGetFriendApplyListInfoScRsp.java │ │ ├── PacketGetFriendListInfoScRsp.java │ │ ├── PacketGetFriendLoginInfoScRsp.java │ │ ├── PacketGetFriendRecommendListInfoScRsp.java │ │ ├── PacketGetGachaCeilingScRsp.java │ │ ├── PacketGetGachaInfoScRsp.java │ │ ├── PacketGetJukeboxDataScRsp.java │ │ ├── PacketGetMailScRsp.java │ │ ├── PacketGetMissionStatusScRsp.java │ │ ├── PacketGetMultiPathAvatarInfoScRsp.java │ │ ├── PacketGetNpcTakenRewardScRsp.java │ │ ├── PacketGetPetDataScRsp.java │ │ ├── PacketGetPhoneDataScRsp.java │ │ ├── PacketGetPlayerBoardDataScRsp.java │ │ ├── PacketGetPlayerDetailInfoScRsp.java │ │ ├── PacketGetPrivateChatHistoryScRsp.java │ │ ├── PacketGetQuestDataScRsp.java │ │ ├── PacketGetRogueBuffEnhanceInfoScRsp.java │ │ ├── PacketGetRogueHandbookDataScRsp.java │ │ ├── PacketGetRogueInfoScRsp.java │ │ ├── PacketGetRogueInitialScoreScRsp.java │ │ ├── PacketGetRogueScoreRewardInfoScRsp.java │ │ ├── PacketGetRogueTalentInfoScRsp.java │ │ ├── PacketGetSceneMapInfoScRsp.java │ │ ├── PacketGetShopListScRsp.java │ │ ├── PacketGetUnlockTeleportScRsp.java │ │ ├── PacketGroupStateChangeScNotify.java │ │ ├── PacketGroupStateChangeScRsp.java │ │ ├── PacketHandleFriendScRsp.java │ │ ├── PacketHandleRogueCommonPendingActionScRsp.java │ │ ├── PacketInteractChargerScRsp.java │ │ ├── PacketInteractPropScRsp.java │ │ ├── PacketLeaveRogueScRsp.java │ │ ├── PacketMarkAvatarScRsp.java │ │ ├── PacketNewMailScNotify.java │ │ ├── PacketPVEBattleResultScRsp.java │ │ ├── PacketPickRogueAvatarScRsp.java │ │ ├── PacketPlayBackGroundMusicScRsp.java │ │ ├── PacketPlayerGetTokenScRsp.java │ │ ├── PacketPlayerHeartBeatScRsp.java │ │ ├── PacketPlayerLoginScRsp.java │ │ ├── PacketPlayerSyncScNotify.java │ │ ├── PacketReEnterLastElementStageScRsp.java │ │ ├── PacketRecallPetScRsp.java │ │ ├── PacketRefreshTriggerByClientScNotify.java │ │ ├── PacketRefreshTriggerByClientScRsp.java │ │ ├── PacketRelicRecommendScRsp.java │ │ ├── PacketReserveStaminaExchangeScRsp.java │ │ ├── PacketRevcMsgScNotify.java │ │ ├── PacketRotateMapScRsp.java │ │ ├── PacketSceneCastSkillCostMpScRsp.java │ │ ├── PacketSceneCastSkillMpUpdateScNotify.java │ │ ├── PacketSceneCastSkillScRsp.java │ │ ├── PacketSceneEnterStageScRsp.java │ │ ├── PacketSceneEntityMoveScNotify.java │ │ ├── PacketSceneGroupRefreshScNotify.java │ │ ├── PacketScenePlaneEventScNotify.java │ │ ├── PacketSearchPlayerScRsp.java │ │ ├── PacketSelectChatBubbleScRsp.java │ │ ├── PacketSelectPhoneThemeScRsp.java │ │ ├── PacketSelectRogueCommonDialogueOptionScRsp.java │ │ ├── PacketSelectRogueMiracleScRsp.java │ │ ├── PacketSellItemScRsp.java │ │ ├── PacketSetAssistAvatarScRsp.java │ │ ├── PacketSetAvatarPathScRsp.java │ │ ├── PacketSetClientPausedScRsp.java │ │ ├── PacketSetDisplayAvatarScRsp.java │ │ ├── PacketSetGameplayBirthdayScRsp.java │ │ ├── PacketSetHeadIconScRsp.java │ │ ├── PacketSetLineupNameScRsp.java │ │ ├── PacketSetSignatureScRsp.java │ │ ├── PacketStaminaInfoScNotify.java │ │ ├── PacketStartChallengeScRsp.java │ │ ├── PacketStartCocoonStageScRsp.java │ │ ├── PacketStartRogueScRsp.java │ │ ├── PacketSummonPetScRsp.java │ │ ├── PacketSwitchLineupIndexScRsp.java │ │ ├── PacketSyncApplyFriendScNotify.java │ │ ├── PacketSyncClientResVersionScRsp.java │ │ ├── PacketSyncDeleteFriendScNotify.java │ │ ├── PacketSyncEntityBuffChangeListScNotify.java │ │ ├── PacketSyncHandleFriendScNotify.java │ │ ├── PacketSyncLineupNotify.java │ │ ├── PacketSyncRogueCommonActionResultScNotify.java │ │ ├── PacketSyncRogueCommonDialogueDataScNotify.java │ │ ├── PacketSyncRogueCommonDialogueOptionFinishScNotify.java │ │ ├── PacketSyncRogueCommonPendingActionScNotify.java │ │ ├── PacketSyncRogueFinishScNotify.java │ │ ├── PacketSyncRogueMapRoomScNotify.java │ │ ├── PacketSyncRogueVirtualItemInfoScNotify.java │ │ ├── PacketTakeChallengeRewardScRsp.java │ │ ├── PacketTakeMailAttachmentScRsp.java │ │ ├── PacketTakePromotionRewardScRsp.java │ │ ├── PacketTextJoinQueryScRsp.java │ │ ├── PacketUnlockBackGroundMusicScRsp.java │ │ ├── PacketUnlockChatBubbleScNotify.java │ │ ├── PacketUnlockPhoneThemeScNotify.java │ │ ├── PacketUnlockSkilltreeScRsp.java │ │ ├── PacketUpdateEnergyScNotify.java │ │ ├── PacketUpdateServerPrefsDataScRsp.java │ │ └── PacketUseItemScRsp.java │ └── util │ ├── Crypto.java │ ├── FileUtils.java │ ├── Handbook.java │ ├── JsonUtils.java │ ├── LunarConsoleAppender.java │ ├── Position.java │ ├── Snowflake32.java │ ├── Utils.java │ └── WeightedList.java └── resources └── logback.xml /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_size = 4 6 | indent_style = space 7 | insert_final_newline = true 8 | max_line_length = 120 9 | tab_width = 4 10 | trim_trailing_whitespace = false 11 | 12 | [{*.json,*.xml,*.yml,*.html}] 13 | indent_size = 2 14 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto -------------------------------------------------------------------------------- /data/RogueMapGen.json: -------------------------------------------------------------------------------- 1 | { 2 | "1": [122111, 122121, 122131, 122141, 232111, 232121, 232131, 232141], 3 | "21": [122211, 122221, 122231, 122241], 4 | "22": [122311, 122321, 122331], 5 | "31": [122211, 122221, 122231, 122241], 6 | "32": [122311, 122321, 122331], 7 | "4": [122611, 122612, 131611, 131612], 8 | "5": [122511, 122512, 122513], 9 | "6": [300112, 300122, 300132], 10 | "71": [300412, 300422, 300432], 11 | "72": [300212, 300222, 300242], 12 | "8": [300611, 300612], 13 | "9": [300511, 300512, 300513], 14 | "10": [131213, 131223, 131233], 15 | "111": [131213, 131223, 131233, 131243], 16 | "112": [131813, 131823, 131833], 17 | "12": [131513, 222513], 18 | "13": [111713, 121713, 122713, 131713, 132713, 211713, 212713, 222713] 19 | } -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melledy/LunarCore/ec315bb1cf5cf86ae0f6ee52824e07f1fef9a5c4/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /jitpack.yml: -------------------------------------------------------------------------------- 1 | jdk: 2 | - openjdk17 3 | -------------------------------------------------------------------------------- /lib/kcp.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Melledy/LunarCore/ec315bb1cf5cf86ae0f6ee52824e07f1fef9a5c4/lib/kcp.jar -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | /* 2 | * This file was generated by the Gradle 'init' task. 3 | * 4 | * The settings file is used to specify which projects to include in your build. 5 | * 6 | * Detailed information about configuring a multi-project build in Gradle can be found 7 | * in the user manual at https://docs.gradle.org/5.6.3/userguide/multi_project_builds.html 8 | */ 9 | 10 | rootProject.name = 'LunarCore' 11 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/command/Command.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.command; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Command { 8 | public String label() default ""; 9 | 10 | public String[] aliases() default ""; 11 | 12 | public String desc() default ""; 13 | 14 | public String permission() default ""; 15 | 16 | public boolean requireTarget() default false; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/command/CommandHandler.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.command; 2 | 3 | public interface CommandHandler { 4 | 5 | public default Command getData() { 6 | return this.getClass().getAnnotation(Command.class); 7 | } 8 | 9 | public default String getLabel() { 10 | return getData().label(); 11 | } 12 | 13 | public void execute(CommandArgs args); 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/command/commands/HealCommand.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.command.commands; 2 | 3 | import emu.lunarcore.command.Command; 4 | import emu.lunarcore.command.CommandArgs; 5 | import emu.lunarcore.command.CommandHandler; 6 | import emu.lunarcore.game.player.lineup.PlayerLineup; 7 | 8 | @Command(label = "heal", permission = "player.heal", requireTarget = true, desc = "/heal. Heals your avatars.") 9 | public class HealCommand implements CommandHandler { 10 | 11 | @Override 12 | public void execute(CommandArgs args) { 13 | PlayerLineup lineup = args.getTarget().getCurrentLineup(); 14 | lineup.forEachAvatar(avatar -> { 15 | avatar.setCurrentHp(lineup, 10000); 16 | avatar.save(); 17 | }); 18 | lineup.refreshLineup(); 19 | 20 | args.sendMessage("Healed all avatars for " + args.getTarget().getName()); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/command/commands/KickCommand.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.command.commands; 2 | 3 | import emu.lunarcore.command.Command; 4 | import emu.lunarcore.command.CommandArgs; 5 | import emu.lunarcore.command.CommandHandler; 6 | 7 | @Command( 8 | label = "kick", 9 | desc = "/kick @[player id]. Kicks a player from the server.", 10 | requireTarget = true, 11 | permission = "player.kick" 12 | ) 13 | public final class KickCommand implements CommandHandler { 14 | 15 | @Override 16 | public void execute(CommandArgs args) { 17 | // Kick player 18 | args.getTarget().getSession().close(); 19 | 20 | // Send message 21 | args.sendMessage("Player kicked successfully"); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/command/commands/RefillMPCommand.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.command.commands; 2 | 3 | import emu.lunarcore.GameConstants; 4 | import emu.lunarcore.command.Command; 5 | import emu.lunarcore.command.CommandArgs; 6 | import emu.lunarcore.command.CommandHandler; 7 | 8 | @Command(label = "refill", aliases = {"rf"}, permission = "player.refill", requireTarget = true, desc = "/refill - refill your skill points in open world.") 9 | public class RefillMPCommand implements CommandHandler { 10 | 11 | @Override 12 | public void execute(CommandArgs args) { 13 | args.getTarget().getCurrentLineup().addMp(GameConstants.MAX_MP); 14 | args.sendMessage("Successfully refilled skill points for " + args.getTarget().getName()); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/command/commands/ReloadCommand.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.command.commands; 2 | 3 | import emu.lunarcore.LunarCore; 4 | import emu.lunarcore.command.Command; 5 | import emu.lunarcore.command.CommandArgs; 6 | import emu.lunarcore.command.CommandHandler; 7 | 8 | @Command(label = "reload", permission = "admin.reload", desc = "/reload. Reloads the server config.") 9 | public class ReloadCommand implements CommandHandler { 10 | 11 | @Override 12 | public void execute(CommandArgs args) { 13 | LunarCore.loadConfig(); 14 | LunarCore.loadHotfixData(); 15 | args.sendMessage("Reloaded the server config"); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/command/commands/SetLevelCommand.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.command.commands; 2 | 3 | import emu.lunarcore.util.Utils; 4 | import emu.lunarcore.command.Command; 5 | import emu.lunarcore.command.CommandArgs; 6 | import emu.lunarcore.command.CommandHandler; 7 | 8 | @Command(label = "setlevel", aliases = {"level"}, permission = "player.setlevel", requireTarget = true, desc = "/setlevel [level] - Sets the targeted player's trailblazer level.") 9 | public class SetLevelCommand implements CommandHandler { 10 | 11 | @Override 12 | public void execute(CommandArgs args) { 13 | int targetLevel = Utils.parseSafeInt(args.get(0)); 14 | 15 | args.getTarget().setLevel(targetLevel); 16 | args.sendMessage("Set level to " + args.getTarget().getLevel()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/command/commands/StopCommand.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.command.commands; 2 | 3 | 4 | import emu.lunarcore.command.Command; 5 | import emu.lunarcore.command.CommandArgs; 6 | import emu.lunarcore.command.CommandHandler; 7 | 8 | @Command(label = "stop", 9 | aliases = {"exit"}, 10 | permission = "admin.stop", 11 | requireTarget = false, 12 | desc = "/stop - Stops the server") 13 | public class StopCommand implements CommandHandler { 14 | 15 | @Override 16 | public void execute(CommandArgs args) { 17 | args.sendMessage("Stopping server"); 18 | System.exit(1000); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/command/commands/WorldLevelCommand.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.command.commands; 2 | 3 | import emu.lunarcore.command.Command; 4 | import emu.lunarcore.command.CommandArgs; 5 | import emu.lunarcore.command.CommandHandler; 6 | import emu.lunarcore.util.Utils; 7 | 8 | @Command(label = "worldlevel", aliases = {"wl"}, permission = "player.worldlevel", requireTarget = true, desc = "/worldlevel [world level]. Sets the targeted player's equilibrium level.") 9 | public class WorldLevelCommand implements CommandHandler { 10 | 11 | @Override 12 | public void execute(CommandArgs args) { 13 | // Set world level 14 | int level = Utils.parseSafeInt(args.get(0)); 15 | level = Math.min(Math.max(level, 0), 6); 16 | 17 | args.getTarget().setWorldLevel(level); 18 | 19 | // Done 20 | args.sendMessage("Set world level to " + level); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/GameResource.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data; 2 | 3 | public abstract class GameResource implements Comparable { 4 | 5 | public abstract int getId(); 6 | 7 | public void onLoad() { 8 | 9 | } 10 | 11 | public void onFinalize() { 12 | 13 | } 14 | 15 | @Override 16 | public int compareTo(GameResource o) { 17 | return this.getId() - o.getId(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/AnchorInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config; 2 | 3 | /** 4 | * Original name: LevelAnchorInfo 5 | */ 6 | public class AnchorInfo extends ObjectInfo { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/DynamicFloat.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config; 2 | 3 | public class DynamicFloat { 4 | private boolean IsDynamic; 5 | private double FixedValue; 6 | 7 | public double getValue() { 8 | if (!IsDynamic) { 9 | return FixedValue; 10 | } 11 | return 15; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/MonsterInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * Original name: LevelMonsterInfo 7 | */ 8 | @Getter 9 | public class MonsterInfo extends ObjectInfo { 10 | private int NPCMonsterID; 11 | private int EventID; 12 | private int FarmElementID; 13 | private boolean IsClientOnly; 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/NpcInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config; 2 | 3 | import lombok.Getter; 4 | 5 | /** 6 | * Original name: LevelNPCInfo 7 | */ 8 | @Getter 9 | public class NpcInfo extends ObjectInfo { 10 | private int NPCID; 11 | private boolean IsClientOnly; 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/rogue/RogueDialogueBaseConfigInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config.rogue; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | import javax.annotation.Nullable; 7 | 8 | /** 9 | * Original Name: RogueDialogueBaseConfig 10 | */ 11 | @Getter 12 | public class RogueDialogueBaseConfigInfo { 13 | public String OptionPath; 14 | public String DialoguePath; 15 | 16 | @Nullable 17 | @Setter 18 | public RogueDialogueEventConfigInfo OptionInfo; 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/rogue/RogueDialogueEventConfigInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config.rogue; 2 | 3 | import lombok.Getter; 4 | 5 | import java.util.ArrayList; 6 | import java.util.List; 7 | 8 | /** 9 | * Original Name: RogueDialogueEventConfig 10 | */ 11 | @Getter 12 | public class RogueDialogueEventConfigInfo { 13 | public List OptionList = new ArrayList<>(); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/rogue/RogueDialogueEventOptionConfigInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config.rogue; 2 | 3 | import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap; 4 | import lombok.Getter; 5 | 6 | import java.util.Map; 7 | 8 | /** 9 | * Original Name: RogueDialogueEventOptionConfig 10 | */ 11 | @Getter 12 | public class RogueDialogueEventOptionConfigInfo { 13 | 14 | public int OptionID; 15 | public int DisplayID; 16 | public int SpecialOptionID; 17 | public Map DynamicMap = new Int2ObjectOpenHashMap(); 18 | public int DescValue; 19 | public int DescValue2; 20 | public int DescValue3; 21 | public int DescValue4; 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/rogue/RogueDialogueEventOptionDynamicConfigInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config.rogue; 2 | 3 | /** 4 | * Original Name: RogueDialogueEventOptionDynamicConfig 5 | */ 6 | public class RogueDialogueEventOptionDynamicConfigInfo { 7 | public int DisplayID; 8 | public int DisplayID2; 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/rogue/RogueNPCConfigInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config.rogue; 2 | 3 | import emu.lunarcore.game.enums.RogueDialogueType; 4 | import lombok.Getter; 5 | 6 | import java.util.ArrayList; 7 | import java.util.List; 8 | 9 | @Getter 10 | public class RogueNPCConfigInfo { 11 | public RogueDialogueType DialogueType; 12 | public List DialogueList = new ArrayList<>(); 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/config/rogue/RogueNPCDialogueConfigInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.config.rogue; 2 | 3 | public class RogueNPCDialogueConfigInfo extends RogueDialogueBaseConfigInfo { 4 | public int DialogueProgress; 5 | public int UnlockID; 6 | public int TalkNameID; 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/custom/ActivityScheduleData.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.custom; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class ActivityScheduleData { 7 | private int activityId; 8 | private long beginTime; 9 | private long endTime; 10 | private int moduleId; 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/ActivityPanelExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"ActivityPanel.json"}) 9 | public class ActivityPanelExcel extends GameResource { 10 | private int PanelID; 11 | private int Type; 12 | private int ActivityModuleID; 13 | private boolean IsResidentPanel; 14 | 15 | @Override 16 | public int getId() { 17 | return PanelID; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/AvatarPromotionExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import java.util.List; 4 | 5 | import emu.lunarcore.data.GameResource; 6 | import emu.lunarcore.data.ResourceType; 7 | import emu.lunarcore.data.ResourceType.LoadPriority; 8 | import emu.lunarcore.data.common.ItemParam; 9 | import lombok.Getter; 10 | 11 | @Getter 12 | @ResourceType(name = {"AvatarPromotionConfig.json"}, loadPriority = LoadPriority.HIGHEST) 13 | public class AvatarPromotionExcel extends GameResource { 14 | private int AvatarID; 15 | private int Promotion; 16 | 17 | private int MaxLevel; 18 | private int PlayerLevelRequire; 19 | private int WorldLevelRequire; 20 | private List PromotionCostList; 21 | 22 | @Override 23 | public int getId() { 24 | return (AvatarID << 8) + Promotion; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/AvatarRankExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import java.util.List; 4 | 5 | import emu.lunarcore.data.GameResource; 6 | import emu.lunarcore.data.ResourceType; 7 | import emu.lunarcore.data.ResourceType.LoadPriority; 8 | import emu.lunarcore.data.common.ItemParam; 9 | import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap; 10 | import lombok.Getter; 11 | 12 | @Getter 13 | @ResourceType(name = {"AvatarRankConfig.json"}, loadPriority = LoadPriority.HIGHEST) 14 | public class AvatarRankExcel extends GameResource { 15 | private int RankID; 16 | private int Rank; 17 | 18 | private Int2IntOpenHashMap SkillAddLevelList; 19 | private List UnlockCost; 20 | 21 | @Override 22 | public int getId() { 23 | return RankID; 24 | } 25 | 26 | @Override 27 | public void onLoad() { 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/BackGroundMusicExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"BackGroundMusic.json"}) 9 | public class BackGroundMusicExcel extends GameResource { 10 | private int ID; 11 | private int GroupID; 12 | 13 | @Override 14 | public int getId() { 15 | return ID; 16 | } 17 | public int getGroupId() { 18 | return GroupID; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/ChallengeGroupExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"ChallengeGroupConfig.json", "ChallengeStoryGroupConfig.json"}) 9 | public class ChallengeGroupExcel extends GameResource { 10 | private int GroupID; 11 | private int RewardLineGroupID; 12 | 13 | @Override 14 | public int getId() { 15 | return GroupID; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/ChallengeTargetExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.ResourceType.LoadPriority; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"ChallengeTargetConfig.json", "ChallengeStoryTargetConfig.json"}, loadPriority = LoadPriority.HIGH) 10 | public class ChallengeTargetExcel extends GameResource { 11 | private int ID; 12 | private ChallengeType ChallengeTargetType; 13 | private int ChallengeTargetParam1; 14 | 15 | @Override 16 | public int getId() { 17 | return ID; 18 | } 19 | 20 | public enum ChallengeType { 21 | None, ROUNDS, DEAD_AVATAR, KILL_MONSTER, AVATAR_BASE_TYPE_MORE, AVATAR_BASE_TYPE_LESS, ROUNDS_LEFT, TOTAL_SCORE; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/ChatBubbleExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.ResourceType.LoadPriority; 6 | import emu.lunarcore.game.enums.PersonalizeShowType; 7 | import lombok.Getter; 8 | 9 | @Getter 10 | @ResourceType(name = {"ChatBubbleConfig.json"}, loadPriority = LoadPriority.LOW) 11 | public class ChatBubbleExcel extends GameResource { 12 | private int ID; 13 | private PersonalizeShowType ShowType; 14 | 15 | @Override 16 | public int getId() { 17 | return ID; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/ContentPackageExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"ContentPackageConfig.json"}) 9 | public class ContentPackageExcel extends GameResource { 10 | private int ContentID; 11 | 12 | @Override 13 | public int getId() { 14 | return ContentID; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/EquipmentExpTypeExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import emu.lunarcore.data.GameResource; 6 | import emu.lunarcore.data.ResourceType; 7 | import emu.lunarcore.data.ResourceType.LoadPriority; 8 | import lombok.Getter; 9 | 10 | @Getter 11 | @ResourceType(name = {"EquipmentExpType.json"}, loadPriority = LoadPriority.NORMAL) 12 | public class EquipmentExpTypeExcel extends GameResource { 13 | @SerializedName(value = "id", alternate = {"ExpType"}) 14 | private int TypeID; 15 | private int Level; 16 | private int Exp; 17 | 18 | @Override 19 | public int getId() { 20 | return (TypeID << 16) + Level; 21 | } 22 | 23 | @Override 24 | public void onLoad() { 25 | 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/ExpTypeExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.ResourceType.LoadPriority; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"ExpType.json"}, loadPriority = LoadPriority.NORMAL) 10 | public class ExpTypeExcel extends GameResource { 11 | private int TypeID; 12 | private int Level; 13 | private int Exp; 14 | 15 | @Override 16 | public int getId() { 17 | return (TypeID << 16) + Level; 18 | } 19 | 20 | @Override 21 | public void onLoad() { 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/InteractExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.game.enums.PropState; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"InteractConfig.json"}) 10 | public class InteractExcel extends GameResource { 11 | private int InteractID; 12 | private PropState SrcState; 13 | private PropState TargetState = PropState.Closed; 14 | 15 | @Override 16 | public int getId() { 17 | return InteractID; 18 | } 19 | 20 | @Override 21 | public void onLoad() { 22 | // Just in case we forget to update the prop state enum 23 | if (this.TargetState == null) { 24 | this.TargetState = PropState.Closed; 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/MapEntranceExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.util.Utils; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"MapEntrance.json"}) 10 | public class MapEntranceExcel extends GameResource { 11 | private int ID; 12 | private int PlaneID; 13 | private int FloorID; 14 | private int StartGroupID; 15 | private int StartAnchorID; 16 | 17 | private int[] FinishMainMissionList = Utils.EMPTY_INT_ARRAY; 18 | private int[] FinishSubMissionList = Utils.EMPTY_INT_ARRAY; 19 | 20 | @Override 21 | public int getId() { 22 | return ID; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/MazeBuffExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"MazeBuff.json"}) 9 | public class MazeBuffExcel extends GameResource { 10 | private int ID; 11 | private int Lv; 12 | 13 | @Override 14 | public int getId() { 15 | return (ID << 4) + Lv; 16 | } 17 | 18 | public int getBuffId() { 19 | return ID; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/MazePlaneExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import com.google.gson.annotations.SerializedName; 4 | 5 | import emu.lunarcore.data.GameResource; 6 | import emu.lunarcore.data.ResourceType; 7 | import emu.lunarcore.game.enums.PlaneType; 8 | import lombok.Getter; 9 | 10 | @Getter 11 | @ResourceType(name = {"MazePlane.json"}) 12 | public class MazePlaneExcel extends GameResource { 13 | private int PlaneID; 14 | private int WorldID; 15 | private int StartFloorID; 16 | private long PlaneName; 17 | 18 | @SerializedName(value = "PlaneType") 19 | private PlaneType planeType = PlaneType.Unknown; 20 | 21 | @Override 22 | public int getId() { 23 | return PlaneID; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/MonsterExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"MonsterConfig.json"}) 9 | public class MonsterExcel extends GameResource { 10 | private int MonsterID; 11 | private long MonsterName; 12 | 13 | @Override 14 | public int getId() { 15 | return MonsterID; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/MultiplePathAvatarExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.game.player.PlayerGender; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"MultiplePathAvatarConfig.json"}) 10 | public class MultiplePathAvatarExcel extends GameResource { 11 | private int AvatarID; 12 | private int BaseAvatarID; 13 | private PlayerGender Gender; 14 | 15 | @Override 16 | public int getId() { 17 | return AvatarID; 18 | } 19 | 20 | public boolean isDefault() { 21 | return this.AvatarID == this.BaseAvatarID; 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/NpcExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"NPCData.json"}) 9 | public class NpcExcel extends GameResource { 10 | private int ID; 11 | 12 | @Override 13 | public int getId() { 14 | return ID; 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/NpcMonsterExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.game.enums.MonsterRank; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"NPCMonsterData.json"}) 10 | public class NpcMonsterExcel extends GameResource { 11 | private int ID; 12 | private long NPCName; 13 | private MonsterRank Rank; 14 | 15 | @Override 16 | public int getId() { 17 | return ID; 18 | } 19 | 20 | @Override 21 | public void onLoad() { 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/PetExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"PetConfig.json"}) 9 | public class PetExcel extends GameResource { 10 | private int PetID; 11 | private int PetItemID; 12 | private int SummonUnitID; 13 | 14 | @Override 15 | public int getId() { 16 | return PetID; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/PhoneThemeExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.ResourceType.LoadPriority; 6 | import emu.lunarcore.game.enums.PersonalizeShowType; 7 | import lombok.Getter; 8 | 9 | @Getter 10 | @ResourceType(name = {"PhoneThemeConfig.json"}, loadPriority = LoadPriority.LOW) 11 | public class PhoneThemeExcel extends GameResource { 12 | private int ID; 13 | private PersonalizeShowType ShowType; 14 | 15 | @Override 16 | public int getId() { 17 | return ID; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/PlayerIconExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.ResourceType.LoadPriority; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"PlayerIcon.json"}, loadPriority = LoadPriority.NORMAL) 10 | public class PlayerIconExcel extends GameResource { 11 | private int ID; 12 | 13 | @Override 14 | public int getId() { 15 | return ID; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/PlayerLevelExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.ResourceType.LoadPriority; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"PlayerLevelConfig.json"}, loadPriority = LoadPriority.NORMAL) 10 | public class PlayerLevelExcel extends GameResource { 11 | private int Level; 12 | private int PlayerExp; 13 | 14 | @Override 15 | public int getId() { 16 | return Level; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/QuestExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.ResourceType.LoadPriority; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"QuestData.json"}, loadPriority = LoadPriority.NORMAL) 10 | public class QuestExcel extends GameResource { 11 | private int QuestID; 12 | 13 | @Override 14 | public int getId() { 15 | return QuestID; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RelicExpTypeExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.ResourceType.LoadPriority; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"RelicExpType.json"}, loadPriority = LoadPriority.NORMAL) 10 | public class RelicExpTypeExcel extends GameResource { 11 | private int TypeID; 12 | private int Level; 13 | private int Exp; 14 | 15 | @Override 16 | public int getId() { 17 | return (TypeID << 16) + Level; 18 | } 19 | 20 | @Override 21 | public void onLoad() { 22 | 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RelicSetExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.ResourceType.LoadPriority; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"RelicSetConfig.json"}, loadPriority = LoadPriority.NORMAL) 10 | public class RelicSetExcel extends GameResource { 11 | private int SetID; 12 | 13 | @Override 14 | public int getId() { 15 | return SetID; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueAeonExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"RogueAeon.json"}) 9 | public class RogueAeonExcel extends GameResource { 10 | private int AeonID; 11 | private int RogueBuffType; 12 | 13 | @Override 14 | public int getId() { 15 | return AeonID; 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueBonusExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameDepot; 4 | import emu.lunarcore.data.GameResource; 5 | import emu.lunarcore.data.ResourceType; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"RogueBonus.json"}) 10 | public class RogueBonusExcel extends GameResource { 11 | private int BonusID; 12 | private int BonusEvent; 13 | 14 | @Override 15 | public int getId() { 16 | return BonusID; 17 | } 18 | 19 | @Override 20 | public void onLoad() { 21 | if (BonusID > 0 && BonusID < 10) { 22 | GameDepot.getRogueRandomCommonBonusList().add(this); 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueMapExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameDepot; 4 | import emu.lunarcore.data.GameResource; 5 | import emu.lunarcore.data.ResourceType; 6 | import emu.lunarcore.data.ResourceType.LoadPriority; 7 | import lombok.Getter; 8 | 9 | @Getter 10 | @ResourceType(name = {"RogueMap.json"}, loadPriority = LoadPriority.HIGH) 11 | public class RogueMapExcel extends GameResource { 12 | private int RogueMapID; 13 | private int SiteID; 14 | private boolean IsStart; 15 | private int[] NextSiteIDList; 16 | private int[] LevelList; 17 | 18 | @Override 19 | public int getId() { 20 | return (RogueMapID << 8) + SiteID; 21 | } 22 | 23 | @Override 24 | public void onLoad() { 25 | GameDepot.getRogueMapsById(this.getRogueMapID()).add(this); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueMiracleExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameDepot; 4 | import emu.lunarcore.data.GameResource; 5 | import emu.lunarcore.data.ResourceType; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"RogueMiracle.json"}) 10 | public class RogueMiracleExcel extends GameResource { 11 | private int MiracleID; 12 | private boolean IsShow; 13 | private int MiracleReward; 14 | 15 | @Override 16 | public int getId() { 17 | return MiracleID; 18 | } 19 | 20 | @Override 21 | public void onLoad() { 22 | //if (IsShow && MiracleReward > 0) { // it is always false 23 | GameDepot.getRogueRandomMiracleList().add(this); 24 | //} 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueMonsterExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | @ResourceType(name = {"RogueMonster.json"}) 9 | public class RogueMonsterExcel extends GameResource { 10 | private int RogueMonsterID; 11 | private int NpcMonsterID; 12 | private int EventID; 13 | 14 | @Override 15 | public int getId() { 16 | return RogueMonsterID; 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueNPCExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.config.rogue.RogueNPCConfigInfo; 6 | import lombok.Getter; 7 | import lombok.Setter; 8 | 9 | import javax.annotation.Nullable; 10 | 11 | @Getter 12 | @ResourceType(name = {"RogueNPC.json"}) 13 | public class RogueNPCExcel extends GameResource { 14 | public int RogueNPCID; 15 | public String NPCJsonPath; 16 | 17 | @Setter 18 | @Nullable 19 | public RogueNPCConfigInfo RogueNpcConfig; 20 | 21 | @Override 22 | public int getId() { 23 | return RogueNPCID; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueNousDiceBranchExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameData; 4 | import emu.lunarcore.data.GameResource; 5 | import emu.lunarcore.data.ResourceType; 6 | import lombok.Getter; 7 | 8 | import java.util.Set; 9 | 10 | @Getter 11 | @ResourceType(name = {"RogueNousDiceBranch.json"}) 12 | public class RogueNousDiceBranchExcel extends GameResource { 13 | private int BranchId; 14 | private int DefaultUltraSurface; 15 | private Set DefaultCommonSurfaceList; 16 | 17 | @Override 18 | public int getId() { 19 | return BranchId; 20 | } 21 | 22 | @Override 23 | public void onLoad() { 24 | GameData.getRogueNousDiceBranchExcelMap().put(BranchId, this); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueNousMainStoryExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameData; 4 | import emu.lunarcore.data.GameResource; 5 | import emu.lunarcore.data.ResourceType; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"RogueNousMainStory.json"}) 10 | public class RogueNousMainStoryExcel extends GameResource { 11 | private int StoryID; 12 | private int Layer; 13 | 14 | @Override 15 | public int getId() { 16 | return this.StoryID; 17 | } 18 | 19 | @Override 20 | public void onLoad() { 21 | GameData.getRogueNousMainStoryExcelMap().put(this.StoryID, this); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueNousSubStoryExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameData; 4 | import emu.lunarcore.data.GameResource; 5 | import emu.lunarcore.data.ResourceType; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"RogueNousSubStory.json"}) 10 | public class RogueNousSubStoryExcel extends GameResource { 11 | private int StoryID; 12 | private int Layer; 13 | 14 | @Override 15 | public int getId() { 16 | return this.StoryID; 17 | } 18 | 19 | @Override 20 | public void onLoad() { 21 | GameData.getRogueNousSubStoryExcelMap().put(this.StoryID, this); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueRoomExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"RogueRoom.json"}) 10 | public class RogueRoomExcel extends GameResource { 11 | private int RogueRoomID; 12 | private int RogueRoomType; 13 | private int MapEntrance; 14 | private int GroupID; 15 | private Int2IntOpenHashMap GroupWithContent; 16 | 17 | @Override 18 | public int getId() { 19 | return RogueRoomID; 20 | } 21 | 22 | public int getGroupContent(int id) { 23 | return GroupWithContent.get(id); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/RogueTalentExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import java.util.List; 4 | 5 | import emu.lunarcore.data.GameResource; 6 | import emu.lunarcore.data.ResourceType; 7 | import emu.lunarcore.data.common.ItemParam; 8 | import lombok.Getter; 9 | 10 | @Getter 11 | @ResourceType(name = {"RogueTalent.json"}) 12 | public class RogueTalentExcel extends GameResource { 13 | private int TalentID; 14 | private List Cost; 15 | 16 | @Override 17 | public int getId() { 18 | return TalentID; 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/ShopExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import it.unimi.dsi.fastutil.ints.Int2ObjectAVLTreeMap; 6 | import it.unimi.dsi.fastutil.ints.Int2ObjectMap; 7 | import lombok.Getter; 8 | 9 | @Getter 10 | @ResourceType(name = {"ShopConfig.json"}) 11 | public class ShopExcel extends GameResource { 12 | private int ShopID; 13 | private int ShopType; 14 | 15 | private transient Int2ObjectMap goods; 16 | 17 | public ShopExcel() { 18 | this.goods = new Int2ObjectAVLTreeMap<>(); 19 | } 20 | 21 | @Override 22 | public int getId() { 23 | return ShopID; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/SummonUnitExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import emu.lunarcore.data.config.SummonUnitInfo; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"SummonUnitData.json"}) 10 | public class SummonUnitExcel extends GameResource { 11 | private int ID; 12 | private String JsonPath; 13 | private boolean IsClient; 14 | 15 | private transient SummonUnitInfo info; 16 | 17 | @Override 18 | public int getId() { 19 | return ID; 20 | } 21 | 22 | public void setInfo(SummonUnitInfo info) { 23 | if (this.info == null && !this.IsClient) { 24 | this.info = info; 25 | } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/data/excel/TextJoinExcel.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.data.excel; 2 | 3 | import emu.lunarcore.data.GameResource; 4 | import emu.lunarcore.data.ResourceType; 5 | import it.unimi.dsi.fastutil.ints.IntArrayList; 6 | import lombok.Getter; 7 | 8 | @Getter 9 | @ResourceType(name = {"TextJoinConfig.json"}) 10 | public class TextJoinExcel extends GameResource { 11 | private int TextJoinID; 12 | private int DefaultItem; 13 | private IntArrayList TextJoinItemList; 14 | 15 | @Override 16 | public int getId() { 17 | return TextJoinID; 18 | } 19 | 20 | public IntArrayList getTextJoinItemList() { 21 | return TextJoinItemList; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/database/AccountDatabaseOnly.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.database; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface AccountDatabaseOnly { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/database/DatabaseCounter.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.database; 2 | 3 | import dev.morphia.annotations.Entity; 4 | import dev.morphia.annotations.Id; 5 | 6 | @Entity(value = "counters", useDiscriminator = false) 7 | public class DatabaseCounter { 8 | @Id 9 | private String id; 10 | private int count; 11 | 12 | public DatabaseCounter() {} 13 | 14 | public DatabaseCounter(String id) { 15 | this.id = id; 16 | this.count = 10000; 17 | } 18 | 19 | public int getNextId() { 20 | int id = ++count; 21 | return id; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/battle/BattleStage.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.battle; 2 | 3 | import java.util.List; 4 | 5 | import emu.lunarcore.game.enums.StageType; 6 | import it.unimi.dsi.fastutil.ints.IntList; 7 | 8 | public interface BattleStage { 9 | 10 | public int getId(); 11 | 12 | public StageType getStageType(); 13 | 14 | public List getMonsterWaves(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/battle/skills/MazeSkillAction.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.battle.skills; 2 | 3 | import java.util.List; 4 | 5 | import emu.lunarcore.game.avatar.GameAvatar; 6 | import emu.lunarcore.game.scene.entity.GameEntity; 7 | import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo; 8 | 9 | public abstract class MazeSkillAction { 10 | 11 | public void onCast(GameAvatar caster, MotionInfo castPosition) { 12 | 13 | } 14 | 15 | public void onCastHit(GameAvatar caster, List entities) { 16 | 17 | } 18 | 19 | public void onAttack(GameAvatar caster, List targets) { 20 | 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/battle/skills/MazeSkillHitProp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.battle.skills; 2 | 3 | import java.util.List; 4 | 5 | import emu.lunarcore.game.avatar.GameAvatar; 6 | import emu.lunarcore.game.scene.entity.EntityProp; 7 | import emu.lunarcore.game.scene.entity.GameEntity; 8 | import lombok.Getter; 9 | 10 | @Getter 11 | public class MazeSkillHitProp extends MazeSkillAction { 12 | 13 | @Override 14 | public void onCastHit(GameAvatar caster, List entities) { 15 | for (GameEntity entity : entities) { 16 | if (entity instanceof EntityProp prop) { 17 | caster.getScene().destroyProp(prop); 18 | } 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/battle/skills/MazeSkillModifyHP.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.battle.skills; 2 | 3 | import emu.lunarcore.game.avatar.GameAvatar; 4 | import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo; 5 | 6 | public class MazeSkillModifyHP extends MazeSkillAction { 7 | private int amount; 8 | 9 | public MazeSkillModifyHP(int hp) { 10 | this.amount = hp * 100; 11 | } 12 | 13 | @Override 14 | public void onCast(GameAvatar caster, MotionInfo castPosition) { 15 | caster.getOwner().getCurrentLineup().heal(this.amount, false); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/battle/skills/MazeSkillSummonUnit.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.battle.skills; 2 | 3 | import emu.lunarcore.data.excel.SummonUnitExcel; 4 | import emu.lunarcore.game.avatar.GameAvatar; 5 | import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo; 6 | import emu.lunarcore.util.Position; 7 | import lombok.Getter; 8 | 9 | @Getter 10 | public class MazeSkillSummonUnit extends MazeSkillAction { 11 | private SummonUnitExcel excel; 12 | private int duration; 13 | 14 | public MazeSkillSummonUnit(SummonUnitExcel excel, int duration) { 15 | this.excel = excel; 16 | this.duration = duration; 17 | } 18 | 19 | @Override 20 | public void onCast(GameAvatar caster, MotionInfo castPosition) { 21 | caster.getScene().summonUnit(caster, excel, new Position(castPosition.getPos()), new Position(castPosition.getRot()), duration); 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/challenge/ChallengeType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.challenge; 2 | 3 | public enum ChallengeType { 4 | MEMORY, STORY, BOSS; 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/AvatarBaseType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum AvatarBaseType { 7 | Unknown (0), 8 | Warrior (1), 9 | Rogue (2), 10 | Mage (3), 11 | Shaman (4), 12 | Warlock (5), 13 | Knight (6), 14 | Priest (7); 15 | 16 | private final int val; 17 | 18 | private AvatarBaseType(int value) { 19 | this.val = value; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/DamageType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | // These are in excels but i prefer them as enums 6 | public enum DamageType { 7 | Physical (1000111), 8 | Fire (1000112), 9 | Ice (1000113), 10 | Thunder (1000114), 11 | Wind (1000115), 12 | Quantum (1000116), 13 | Imaginary (1000117); 14 | 15 | @Getter 16 | private int enterBattleBuff; 17 | 18 | private DamageType(int enterBattleBuff) { 19 | this.enterBattleBuff = enterBattleBuff; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/DialogueEventCostType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum DialogueEventCostType { 7 | None(0), 8 | CostItemValue(1), 9 | CostHpCurrentPercent(2), 10 | CostItemPercent(3), 11 | CostHpSpToPercent(4), 12 | ; 13 | 14 | private int value; 15 | 16 | DialogueEventCostType(int value) { 17 | this.value = value; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/ItemFoodTargetType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum ItemFoodTargetType { 7 | All (0), 8 | Alive (101), 9 | Dead (102); 10 | 11 | private int val; 12 | 13 | private ItemFoodTargetType(int value) { 14 | this.val = value; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/ItemRarity.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum ItemRarity { 7 | Unknown (0), 8 | Normal (1), 9 | NotNormal (2), 10 | Rare (3), 11 | VeryRare (4), 12 | SuperRare (5); 13 | 14 | private int val; 15 | 16 | private ItemRarity(int value) { 17 | this.val = value; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/ItemUseMethod.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum ItemUseMethod { 7 | Unknown (0), 8 | FixedRewardGift (101), 9 | RandomRewardGift (102), 10 | PlayerSelectedReward (103), 11 | TeamFoodBenefit (201), 12 | TeamSpecificFoodBenefit (202), 13 | ExternalSystemFoodBenefit (203), 14 | PlayerSelectedDropGift (301), 15 | TreasureMap (401), 16 | Recipe (501), 17 | PerformanceProp (601), 18 | MonthlyCard (701), 19 | BPUnlock68 (702), 20 | BPUnlock128 (703), 21 | BPUpgradeFrom68To128 (704), 22 | AutoConversionItem (801), 23 | TravelBrochureUse (901), 24 | TravelBrochurePasterUse (902), 25 | PetSummonRecall (1001); 26 | 27 | private int val; 28 | 29 | private ItemUseMethod(int value) { 30 | this.val = value; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/MonsterRank.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum MonsterRank { 7 | Unknow (0), 8 | Minion (1), 9 | MinionLv2 (2), 10 | Elite (3), 11 | LittleBoss (4), 12 | BigBoss (5); 13 | 14 | private final int val; 15 | 16 | private MonsterRank(int value) { 17 | this.val = value; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/PersonalizeShowType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum PersonalizeShowType { 7 | None (0), 8 | Always (1), 9 | AfterStart (2), 10 | InSchedule (3), 11 | UnlockedOnly (4); 12 | 13 | private int val; 14 | 15 | private PersonalizeShowType(int value) { 16 | this.val = value; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/RelicType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum RelicType { 7 | Unknow (0), 8 | HEAD (1), 9 | HAND (2), 10 | BODY (3), 11 | FOOT (4), 12 | NECK (5), 13 | OBJECT (6); 14 | 15 | private int val; 16 | 17 | private RelicType(int value) { 18 | this.val = value; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/RogueBuffAeonType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum RogueBuffAeonType { 7 | Normal (0), 8 | BattleEventBuff (1), 9 | BattleEventBuffEnhance (2), 10 | BattleEventBuffCross (3); 11 | 12 | private final int val; 13 | 14 | private RogueBuffAeonType(int value) { 15 | this.val = value; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/RogueBuffCategory.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum RogueBuffCategory { 7 | None (0), 8 | Common (1), 9 | Rare (2), 10 | Legendary (3); 11 | 12 | private final int val; 13 | 14 | private RogueBuffCategory(int value) { 15 | this.val = value; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/enums/RogueDialogueType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.enums; 2 | 3 | public enum RogueDialogueType { 4 | None, 5 | Story, 6 | Event, 7 | Store 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/gacha/GachaType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.gacha; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum GachaType { 7 | Unknown (0, 0, 0, 0), 8 | Newbie (1, 101, 1, 2), 9 | Normal (2, 101, 1, 2), 10 | AvatarUp (11, 102, 1, 1), 11 | WeaponUp (12, 102, 2, 2); 12 | 13 | private int id; 14 | private int costItem; 15 | private int minItemType; 16 | private int maxItemType; 17 | 18 | private GachaType(int id, int costItem, int min, int max) { 19 | this.id = id; 20 | this.costItem = costItem; 21 | this.minItemType = min; 22 | this.maxItemType = max; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/inventory/tabs/InventoryTab.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.inventory.tabs; 2 | 3 | import emu.lunarcore.game.inventory.GameItem; 4 | 5 | public abstract class InventoryTab implements Iterable { 6 | public abstract GameItem getItemById(int id); 7 | 8 | public abstract void onAddItem(GameItem item); 9 | 10 | public abstract void onRemoveItem(GameItem item); 11 | 12 | public abstract int getSize(); 13 | 14 | public abstract int getMaxCapacity(); 15 | 16 | public int getAvailableCapacity() { 17 | return Math.max(getMaxCapacity() - getSize(), 0); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/inventory/tabs/InventoryTabType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.inventory.tabs; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum InventoryTabType { 7 | NONE (0), 8 | MATERIAL (1), 9 | EQUIPMENT (2), 10 | RELIC (3); 11 | 12 | private int val; 13 | 14 | private InventoryTabType(int value) { 15 | this.val = value; 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/player/BasePlayerManager.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.player; 2 | 3 | import emu.lunarcore.server.game.GameServer; 4 | 5 | public abstract class BasePlayerManager { 6 | private transient Player player; 7 | 8 | public BasePlayerManager(Player player) { 9 | this.player = player; 10 | } 11 | 12 | public Player getPlayer() { 13 | return player; 14 | } 15 | 16 | public GameServer getServer() { 17 | return player.getServer(); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/player/PlayerGender.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.player; 2 | 3 | import dev.morphia.annotations.Entity; 4 | import lombok.Getter; 5 | 6 | @Entity(useDiscriminator = false) 7 | public enum PlayerGender { 8 | GENDER_NONE (0), 9 | GENDER_MAN (1), 10 | GENDER_WOMAN (2); 11 | 12 | @Getter 13 | private final int val; 14 | 15 | /** 16 | * Official name: GenderType 17 | */ 18 | private PlayerGender(int val) { 19 | this.val = val; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/player/lineup/PlayerTempLineup.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.player.lineup; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | 5 | public class PlayerTempLineup extends PlayerExtraLineup { 6 | 7 | public PlayerTempLineup(Player player) { 8 | super(player, 0); 9 | } 10 | 11 | @Override 12 | public void save() { 13 | // Ignored 14 | } 15 | 16 | @Override 17 | public void delete() { 18 | // Ignored 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/rogue/RogueBonusData.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.rogue; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class RogueBonusData { 7 | private int id; 8 | private int eventId; 9 | 10 | public RogueBonusData(int id, int eventId) { 11 | this.id = id; 12 | this.eventId = eventId; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/rogue/RogueRoomType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.rogue; 2 | 3 | import lombok.Getter; 4 | 5 | public enum RogueRoomType { 6 | UNKNOWN (0), 7 | COMBAT_1 (1), 8 | COMBAT_2 (2), 9 | OCCURRENCE (3), 10 | ENCOUNTER (4), 11 | RESPITE (5), 12 | ELITE (6), 13 | BOSS (7), 14 | TRANSACTION (8), 15 | ADVENTURE (9); 16 | 17 | @Getter 18 | private final int val; 19 | 20 | private RogueRoomType(int value) { 21 | this.val = value; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/rogue/event/RogueEventResultInfo.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.rogue.event; 2 | 3 | import emu.lunarcore.proto.RogueCommonDialogueOptionBattleResultInfoOuterClass; 4 | import emu.lunarcore.proto.RogueCommonDialogueOptionResultInfoOuterClass; 5 | 6 | public class RogueEventResultInfo { 7 | public int BattleEventId; 8 | 9 | public RogueCommonDialogueOptionResultInfoOuterClass.RogueCommonDialogueOptionResultInfo ToProto() { 10 | return RogueCommonDialogueOptionResultInfoOuterClass.RogueCommonDialogueOptionResultInfo.newInstance() 11 | .setBattleResultInfo(RogueCommonDialogueOptionBattleResultInfoOuterClass.RogueCommonDialogueOptionBattleResultInfo.newInstance() 12 | .setBattleEventId(BattleEventId)); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/scene/entity/GameEntity.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.scene.entity; 2 | 3 | import emu.lunarcore.game.scene.Scene; 4 | import emu.lunarcore.proto.SceneEntityInfoOuterClass.SceneEntityInfo; 5 | import emu.lunarcore.util.Position; 6 | 7 | public interface GameEntity { 8 | 9 | public int getEntityId(); 10 | 11 | public void setEntityId(int id); 12 | 13 | public Scene getScene(); 14 | 15 | public Position getPos(); 16 | 17 | public Position getRot(); 18 | 19 | public default int getGroupId() { 20 | return 0; 21 | } 22 | 23 | public default int getInstId() { 24 | return 0; 25 | } 26 | 27 | public default void onAdd() { 28 | 29 | } 30 | 31 | public default void onRemove() { 32 | 33 | } 34 | 35 | public SceneEntityInfo toSceneEntityProto(); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/scene/entity/extra/PropRogueData.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.scene.entity.extra; 2 | 3 | import emu.lunarcore.proto.PropExtraInfoOuterClass.PropExtraInfo; 4 | import emu.lunarcore.proto.PropRogueInfoOuterClass.PropRogueInfo; 5 | import lombok.Getter; 6 | 7 | @Getter 8 | public class PropRogueData { 9 | private int roomId; 10 | private int siteId; 11 | 12 | public PropRogueData(int roomId, int siteId) { 13 | this.roomId = roomId; 14 | this.siteId = siteId; 15 | } 16 | 17 | public PropExtraInfo toProto() { 18 | var data = PropRogueInfo.newInstance() 19 | .setRoomId(this.getRoomId()) 20 | .setSiteId(this.getSiteId()); 21 | 22 | return PropExtraInfo.newInstance().setRogueInfo(data); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/scene/triggers/PropTrigger.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.scene.triggers; 2 | 3 | import emu.lunarcore.game.scene.Scene; 4 | 5 | public abstract class PropTrigger { 6 | 7 | public abstract PropTriggerType getType(); 8 | 9 | public abstract boolean shouldRun(int groupId, int instId); 10 | 11 | public abstract void run(Scene scene); 12 | 13 | } -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/game/scene/triggers/PropTriggerType.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.game.scene.triggers; 2 | 3 | public enum PropTriggerType { 4 | MONSTER_DIE, PUZZLE_FINISH; 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/game/BaseGameService.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.game; 2 | 3 | public abstract class BaseGameService { 4 | private final GameServer server; 5 | 6 | public BaseGameService(GameServer server) { 7 | this.server = server; 8 | } 9 | 10 | public GameServer getServer() { 11 | return server; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/game/Syncable.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.game; 2 | 3 | import emu.lunarcore.proto.PlayerSyncScNotifyOuterClass.PlayerSyncScNotify; 4 | 5 | public interface Syncable { 6 | 7 | public void onSync(PlayerSyncScNotify proto); 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/game/Tickable.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.game; 2 | 3 | public interface Tickable { 4 | 5 | public void onTick(long timestamp, long delta); 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/http/handlers/HttpJsonResponse.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.http.handlers; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | import io.javalin.http.ContentType; 6 | import io.javalin.http.Context; 7 | import io.javalin.http.Handler; 8 | 9 | public class HttpJsonResponse implements Handler { 10 | private final String json; 11 | 12 | public HttpJsonResponse(String jsonString) { 13 | this.json = jsonString; 14 | } 15 | 16 | @Override 17 | public void handle(@NotNull Context ctx) throws Exception { 18 | ctx.status(200); 19 | ctx.contentType(ContentType.APPLICATION_JSON); 20 | ctx.result(json); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/http/handlers/QueryDispatchHandler.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.http.handlers; 2 | 3 | import org.jetbrains.annotations.NotNull; 4 | 5 | import emu.lunarcore.LunarCore; 6 | import emu.lunarcore.server.http.HttpServer; 7 | 8 | import io.javalin.http.Context; 9 | import io.javalin.http.Handler; 10 | 11 | public class QueryDispatchHandler implements Handler { 12 | private final HttpServer server; 13 | 14 | public QueryDispatchHandler(HttpServer server) { 15 | this.server = server; 16 | } 17 | 18 | @Override 19 | public void handle(@NotNull Context ctx) throws Exception { 20 | // Log 21 | if (LunarCore.getConfig().getLogOptions().connections) { 22 | LunarCore.getLogger().info("Client request: query_dispatch"); 23 | } 24 | 25 | // Send region list to client 26 | ctx.result(server.getRegionList()); 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/http/objects/ComboTokenReqJson.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.http.objects; 2 | 3 | public class ComboTokenReqJson { 4 | public int app_id; 5 | public int channel_id; 6 | public String data; 7 | public String device; 8 | public String sign; 9 | 10 | public static class LoginTokenData { 11 | public String uid; 12 | public String token; 13 | public boolean guest; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/http/objects/ComboTokenResJson.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.http.objects; 2 | 3 | public class ComboTokenResJson { 4 | public String message; 5 | public int retcode; 6 | public LoginData data = null; 7 | 8 | public static class LoginData { 9 | public int account_type = 1; 10 | public boolean heartbeat; 11 | public String combo_id; 12 | public String combo_token; 13 | public String open_id; 14 | public String data = "{\"guest\":false}"; 15 | public String fatigue_remind = null; // ? 16 | 17 | public LoginData(String openId, String comboToken) { 18 | this.open_id = openId; 19 | this.combo_token = comboToken; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/http/objects/FingerprintReqJson.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.http.objects; 2 | 3 | public class FingerprintReqJson { 4 | public String device_fp; 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/http/objects/FingerprintResJson.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.http.objects; 2 | 3 | public class FingerprintResJson { 4 | public String message; 5 | public int retcode; 6 | public FingerprintDataJson data; 7 | 8 | public static class FingerprintDataJson { 9 | public String device_fp; 10 | public String message; 11 | public int code; 12 | 13 | public FingerprintDataJson(String fp) { 14 | this.code = 200; 15 | this.message = "OK"; 16 | this.device_fp = fp; 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/http/objects/LoginAccountReqJson.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.http.objects; 2 | 3 | public class LoginAccountReqJson { 4 | public String account; 5 | public String password; 6 | public boolean is_crypto; 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/http/objects/LoginTokenReqJson.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.http.objects; 2 | 3 | public class LoginTokenReqJson { 4 | public String uid; 5 | public String token; 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/CacheablePacket.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | /** 7 | * Marks a BasePacket class as cacheable. Cacheable packets are created only once for all clients and stored in a map to be sent. 8 | */ 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface CacheablePacket { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/Opcodes.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Opcodes { 8 | /** Opcode for the packet/handler */ 9 | int value(); 10 | 11 | /** HANDLER ONLY - will disable this handler from being registered */ 12 | boolean disabled() default false; 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/PacketHandler.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | 5 | public abstract class PacketHandler { 6 | public abstract void handle(GameSession session, byte[] data) throws Exception; 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/SessionState.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet; 2 | 3 | public enum SessionState { 4 | INACTIVE, 5 | WAITING_FOR_TOKEN, 6 | WAITING_FOR_LOGIN, 7 | PICKING_CHARACTER, 8 | ACTIVE 9 | } 10 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/Handler.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.NONE) 9 | public class Handler extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | // Template - Do not delete! 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerActivateFarmElementCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.ActivateFarmElementCsReqOuterClass.ActivateFarmElementCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.ActivateFarmElementCsReq) 10 | public class HandlerActivateFarmElementCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = ActivateFarmElementCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getScene().activateFarmElement(req.getEntityId(), req.getWorldLevel()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerApplyFriendCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.ApplyFriendCsReqOuterClass.ApplyFriendCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.ApplyFriendCsReq) 10 | public class HandlerApplyFriendCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = ApplyFriendCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getFriendList().sendFriendRequest(req.getUid()); 17 | session.send(CmdId.ApplyFriendScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerBuyGoodsCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.BuyGoodsCsReqOuterClass.BuyGoodsCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketBuyGoodsScRsp; 9 | 10 | @Opcodes(CmdId.BuyGoodsCsReq) 11 | public class HandlerBuyGoodsCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = BuyGoodsCsReq.parseFrom(data); 16 | 17 | var items = session.getServer().getShopService().buyGoods(session.getPlayer(), req.getShopId(), req.getGoodsId(), req.getGoodsNum()); 18 | session.send(new PacketBuyGoodsScRsp(req, items)); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerContentPackageGetDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketContentPackageGetDataScRsp; 8 | 9 | // Not sent from the client, so we send it in PlayerLoginFinishCsReq instead 10 | @Opcodes(CmdId.ContentPackageGetDataCsReq) 11 | public class HandlerContentPackageGetDataCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | session.send(new PacketContentPackageGetDataScRsp()); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerDelMailCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.DelMailCsReqOuterClass.DelMailCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketDelMailScRsp; 9 | import it.unimi.dsi.fastutil.ints.IntList; 10 | 11 | @Opcodes(CmdId.DelMailCsReq) 12 | public class HandlerDelMailCsReq extends PacketHandler { 13 | 14 | @Override 15 | public void handle(GameSession session, byte[] data) throws Exception { 16 | var req = DelMailCsReq.parseFrom(data); 17 | 18 | IntList deleted = session.getPlayer().getMailbox().deleteMail(req.getIdList()); 19 | 20 | session.send(new PacketDelMailScRsp(deleted)); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerDeleteFriendCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.DeleteFriendCsReqOuterClass.DeleteFriendCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.DeleteFriendCsReq) 10 | public class HandlerDeleteFriendCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = DeleteFriendCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getFriendList().deleteFriend(req.getUid()); 17 | session.send(CmdId.DeleteFriendScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerDeployRotaterCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.DeployRotaterCsReqOuterClass.DeployRotaterCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketDeployRotaterScRsp; 9 | 10 | @Opcodes(CmdId.DeployRotaterCsReq) 11 | public class HandlerDeployRotaterCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = DeployRotaterCsReq.parseFrom(data); 16 | 17 | session.send(new PacketDeployRotaterScRsp(req.getRotaterData())); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerDestroyItemCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.DestroyItemCsReqOuterClass.DestroyItemCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.DestroyItemCsReq) 10 | public class HandlerDestroyItemCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = DestroyItemCsReq.parseFrom(data); 15 | 16 | session.getServer().getInventoryService().destroyItem(session.getPlayer(), req.getItemId(), req.getItemCount()); 17 | session.send(CmdId.DestroyItemScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerDiscardRelicCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.DiscardRelicCsReqOuterClass.DiscardRelicCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.DiscardRelicCsReq) 10 | public class HandlerDiscardRelicCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = DiscardRelicCsReq.parseFrom(data); 15 | 16 | session.getServer().getInventoryService().discardRelics(session.getPlayer(), req.getRelicIdList(), req.getIsDiscard()); 17 | session.send(CmdId.DiscardRelicScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerDoGachaCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.DoGachaCsReqOuterClass.DoGachaCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.DoGachaCsReq) 10 | public class HandlerDoGachaCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = DoGachaCsReq.parseFrom(data); 15 | 16 | session.getServer().getGachaService().doPulls(session.getPlayer(), req.getGachaId(), req.getGachaNum()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerDressAvatarCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.DressAvatarCsReqOuterClass.DressAvatarCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.DressAvatarCsReq) 10 | public class HandlerDressAvatarCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = DressAvatarCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getInventory().equipItem(req.getAvatarId(), req.getEquipmentUniqueId()); 17 | session.send(CmdId.DressAvatarScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerDressRelicAvatarCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.DressRelicAvatarCsReqOuterClass.DressRelicAvatarCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.DressRelicAvatarCsReq) 10 | public class HandlerDressRelicAvatarCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = DressRelicAvatarCsReq.parseFrom(data); 15 | 16 | for (var param : req.getParamList()) { 17 | session.getPlayer().getInventory().equipItem(req.getAvatarId(), param.getRelicUniqueId()); 18 | } 19 | 20 | session.send(CmdId.DressRelicAvatarScRsp); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerEnterMapRotationRegionCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.EnterMapRotationRegionCsReqOuterClass.EnterMapRotationRegionCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketEnterMapRotationRegionScRsp; 9 | 10 | @Opcodes(CmdId.EnterMapRotationRegionCsReq) 11 | public class HandlerEnterMapRotationRegionCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = EnterMapRotationRegionCsReq.parseFrom(data); 16 | session.send(new PacketEnterMapRotationRegionScRsp(req.getMotion())); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerEnterSceneCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.EnterSceneCsReqOuterClass.EnterSceneCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.EnterSceneCsReq) 10 | public class HandlerEnterSceneCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = EnterSceneCsReq.parseFrom(data); 15 | 16 | session.getPlayer().enterScene(req.getEntryId(), req.getTeleportId(), true); 17 | session.send(CmdId.EnterSceneScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerEntityBindPropCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.EntityBindPropCsReq) 9 | public class HandlerEntityBindPropCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.EntityBindPropScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerFinishTalkMissionCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.FinishTalkMissionCsReqOuterClass.FinishTalkMissionCsReq; 4 | import emu.lunarcore.server.packet.send.PacketFinishTalkMissionScRsp; 5 | import emu.lunarcore.server.game.GameSession; 6 | import emu.lunarcore.server.packet.CmdId; 7 | import emu.lunarcore.server.packet.Opcodes; 8 | import emu.lunarcore.server.packet.PacketHandler; 9 | 10 | @Opcodes(CmdId.FinishTalkMissionCsReq) 11 | public class HandlerFinishTalkMissionCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = FinishTalkMissionCsReq.parseFrom(data); 16 | 17 | session.send(new PacketFinishTalkMissionScRsp(req, session.getPlayer())); 18 | } 19 | 20 | } -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetActivityScheduleConfigCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetActivityScheduleConfigCsReq) 9 | public class HandlerGetActivityScheduleConfigCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.GetActivityScheduleConfigScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetAllLineupDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetAllLineupDataScRsp; 8 | 9 | @Opcodes(CmdId.GetAllLineupDataCsReq) 10 | public class HandlerGetAllLineupDataCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetAllLineupDataScRsp(session)); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetArchiveDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetArchiveDataCsReq) 9 | public class HandlerGetArchiveDataCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | // TODO The client does not send this packet right now to the server so we send it in HandlerPlayerLoginFinishCsReq instead 14 | session.send(CmdId.GetArchiveDataScRsp); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetAssistHistoryCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetAssistHistoryCsReq) 9 | public class HandlerGetAssistHistoryCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.GetAssistHistoryScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetAssistListCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetAssistListCsReq) 9 | public class HandlerGetAssistListCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.GetAssistListScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetAvatarDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetAvatarDataScRsp; 8 | 9 | @Opcodes(CmdId.GetAvatarDataCsReq) 10 | public class HandlerGetAvatarDataCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetAvatarDataScRsp(session.getPlayer())); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetBagCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetBagScRsp; 8 | 9 | @Opcodes(CmdId.GetBagCsReq) 10 | public class HandlerGetBagCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetBagScRsp(session)); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetBasicInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetBasicInfoScRsp; 8 | 9 | @Opcodes(CmdId.GetBasicInfoCsReq) 10 | public class HandlerGetBasicInfoCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetBasicInfoScRsp(session.getPlayer())); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetChallengeCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetChallengeScRsp; 8 | 9 | @Opcodes(CmdId.GetChallengeCsReq) 10 | public class HandlerGetChallengeCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetChallengeScRsp(session.getPlayer())); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetChatEmojiListCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetChatEmojiListCsReq) 9 | public class HandlerGetChatEmojiListCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.GetChatEmojiListScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetCurChallengeCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetCurChallengeScRsp; 8 | 9 | @Opcodes(CmdId.GetCurChallengeCsReq) 10 | public class HandlerGetCurChallengeCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | // Send packet first 15 | session.send(new PacketGetCurChallengeScRsp(session.getPlayer())); 16 | // Update challenge details for client 17 | if (session.getPlayer().getChallengeInstance() != null) { 18 | session.getPlayer().getChallengeInstance().onUpdate(); 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetCurLineupDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetCurLineupDataScRsp; 8 | 9 | @Opcodes(CmdId.GetCurLineupDataCsReq) 10 | public class HandlerGetCurLineupDataCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetCurLineupDataScRsp(session)); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetCurSceneInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetCurSceneInfoScRsp; 8 | 9 | @Opcodes(CmdId.GetCurSceneInfoCsReq) 10 | public class HandlerGetCurSceneInfoCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetCurSceneInfoScRsp(session)); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetDailyActiveInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetDailyActiveInfoScRsp; 8 | 9 | @Opcodes(CmdId.GetDailyActiveInfoCsReq) 10 | public class HandlerGetDailyActiveInfoCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetDailyActiveInfoScRsp(session.getPlayer())); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetEnteredSceneCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetEnteredSceneCsReq) 9 | public class HandlerGetEnteredSceneCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.GetEnteredSceneScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetFarmStageGachaInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.GetFarmStageGachaInfoCsReqOuterClass.GetFarmStageGachaInfoCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketGetFarmStageGachaInfoScRsp; 9 | 10 | @Opcodes(CmdId.GetFarmStageGachaInfoCsReq) 11 | public class HandlerGetFarmStageGachaInfoCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = GetFarmStageGachaInfoCsReq.parseFrom(data); 16 | 17 | session.send(new PacketGetFarmStageGachaInfoScRsp(req.getFarmStageGachaIdList())); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetFirstTalkNpcCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetFirstTalkNpcCsReq) 9 | public class HandlerGetFirstTalkNpcCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.GetFirstTalkNpcScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetFriendApplyListInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetFriendApplyListInfoCsReq) 9 | public class HandlerGetFriendApplyListInfoCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(session.getPlayer().getFriendList().getApplyFriendListPacket()); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetFriendAssistListCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetFriendAssistListCsReq) 9 | public class HandlerGetFriendAssistListCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.GetFriendAssistListScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetFriendChallengeLineupCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetFriendChallengeLineupCsReq) 9 | public class HandlerGetFriendChallengeLineupCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.GetFriendChallengeLineupScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetFriendListInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetFriendListInfoCsReq) 9 | public class HandlerGetFriendListInfoCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(session.getPlayer().getFriendList().getFriendListPacket()); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetFriendRecommendListInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetFriendRecommendListInfoScRsp; 8 | 9 | @Opcodes(CmdId.GetFriendRecommendListInfoCsReq) 10 | public class HandlerGetFriendRecommendListInfoCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var list = session.getServer().getRandomOnlinePlayers(10, session.getPlayer()); 15 | session.send(new PacketGetFriendRecommendListInfoScRsp(list)); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetGachaCeilingCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetGachaCeilingScRsp; 8 | 9 | @Opcodes(CmdId.GetGachaCeilingCsReq) 10 | public class HandlerGetGachaCeilingCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetGachaCeilingScRsp(session.getPlayer())); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetGachaInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetGachaInfoScRsp; 8 | 9 | @Opcodes(CmdId.GetGachaInfoCsReq) 10 | public class HandlerGetGachaInfoCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetGachaInfoScRsp(session)); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetJukeboxDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetJukeboxDataScRsp; 8 | 9 | @Opcodes(CmdId.GetJukeboxDataCsReq) 10 | public class HandlerGetJukeboxDataCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | // var req = GetJukeboxDataCsReq.parseFrom(data); 15 | session.send(new PacketGetJukeboxDataScRsp(session.getPlayer())); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetMailCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetMailScRsp; 8 | 9 | @Opcodes(CmdId.GetMailCsReq) 10 | public class HandlerGetMailCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetMailScRsp(session.getPlayer())); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetMissionDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetMissionDataCsReq) 9 | public class HandlerGetMissionDataCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.GetMissionDataScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetMissionStatusCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.GetMissionStatusCsReqOuterClass.GetMissionStatusCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketGetMissionStatusScRsp; 9 | 10 | @Opcodes(CmdId.GetMissionStatusCsReq) 11 | public class HandlerGetMissionStatusCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = GetMissionStatusCsReq.parseFrom(data); 16 | 17 | session.send(new PacketGetMissionStatusScRsp(req)); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetMultiPathAvatarInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetMultiPathAvatarInfoScRsp; 8 | 9 | @Opcodes(CmdId.GetMultiPathAvatarInfoCsReq) 10 | public class HandlerGetMultiPathAvatarInfoCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetMultiPathAvatarInfoScRsp(session.getPlayer())); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetNpcTakenRewardCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.GetNpcTakenRewardCsReqOuterClass.GetNpcTakenRewardCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketGetNpcTakenRewardScRsp; 9 | 10 | @Opcodes(CmdId.GetNpcTakenRewardCsReq) 11 | public class HandlerGetNpcTakenRewardCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = GetNpcTakenRewardCsReq.parseFrom(data); 16 | 17 | session.send(new PacketGetNpcTakenRewardScRsp(req.getNpcId())); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetPetDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetPetDataScRsp; 8 | 9 | @Opcodes(CmdId.GetPetDataCsReq) 10 | public class HandlerGetPetDataCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetPetDataScRsp(session.getPlayer())); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetPhoneDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetPhoneDataScRsp; 8 | 9 | @Opcodes(CmdId.GetPhoneDataCsReq) 10 | public class HandlerGetPhoneDataCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetPhoneDataScRsp(session.getPlayer())); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetPlayerBoardDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetPlayerBoardDataScRsp; 8 | 9 | @Opcodes(CmdId.GetPlayerBoardDataCsReq) 10 | public class HandlerGetPlayerBoardDataCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetPlayerBoardDataScRsp(session.getPlayer())); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetQuestDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetQuestDataScRsp; 8 | 9 | @Opcodes(CmdId.GetQuestDataCsReq) 10 | public class HandlerGetQuestDataCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetQuestDataScRsp()); 15 | } 16 | } -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetRogueBuffEnhanceInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetRogueBuffEnhanceInfoScRsp; 8 | 9 | @Opcodes(CmdId.GetRogueBuffEnhanceInfoCsReq) 10 | public class HandlerGetRogueBuffEnhanceInfoCsReq extends PacketHandler { 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(new PacketGetRogueBuffEnhanceInfoScRsp(session.getPlayer())); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetRogueHandbookDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetRogueHandbookDataScRsp; 8 | 9 | @Opcodes(CmdId.GetRogueHandbookDataCsReq) 10 | public class HandlerGetRogueHandbookDataCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetRogueHandbookDataScRsp()); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetRogueInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.GameConstants; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketGetRogueInfoScRsp; 9 | 10 | @Opcodes(CmdId.GetRogueInfoCsReq) 11 | public class HandlerGetRogueInfoCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | if (GameConstants.ENABLE_ROGUE) { 16 | session.send(new PacketGetRogueInfoScRsp(session.getPlayer())); 17 | } else { 18 | session.send(CmdId.GetRogueInfoScRsp); 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetRogueInitialScoreCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketGetRogueInitialScoreScRsp; 8 | 9 | @Opcodes(CmdId.GetRogueInitialScoreCsReq) 10 | public class HandlerGetRogueInitialScoreCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.send(new PacketGetRogueInitialScoreScRsp()); 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetRogueScoreRewardInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.GameConstants; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketGetRogueScoreRewardInfoScRsp; 9 | 10 | @Opcodes(CmdId.GetRogueScoreRewardInfoCsReq) 11 | public class HandlerGetRogueScoreRewardInfoCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | if (GameConstants.ENABLE_ROGUE) { 16 | session.send(new PacketGetRogueScoreRewardInfoScRsp(session.getPlayer())); 17 | } else { 18 | session.send(CmdId.GetRogueScoreRewardInfoScRsp); 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetRogueTalentInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.GameConstants; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketGetRogueTalentInfoScRsp; 9 | 10 | @Opcodes(CmdId.GetRogueTalentInfoCsReq) 11 | public class HandlerGetRogueTalentInfoCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | if (GameConstants.ENABLE_ROGUE) { 16 | session.send(new PacketGetRogueTalentInfoScRsp(session.getPlayer().getRogueManager())); 17 | } else { 18 | session.send(CmdId.GetRogueTalentInfoScRsp); 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetSceneMapInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.GetSceneMapInfoCsReqOuterClass.GetSceneMapInfoCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketGetSceneMapInfoScRsp; 9 | 10 | @Opcodes(CmdId.GetSceneMapInfoCsReq) 11 | public class HandlerGetSceneMapInfoCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = GetSceneMapInfoCsReq.parseFrom(data); 16 | 17 | session.send(new PacketGetSceneMapInfoScRsp(req.getEntryIdList())); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetShopListCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.GetShopListCsReqOuterClass.GetShopListCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketGetShopListScRsp; 9 | 10 | @Opcodes(CmdId.GetShopListCsReq) 11 | public class HandlerGetShopListCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = GetShopListCsReq.parseFrom(data); 16 | 17 | session.send(new PacketGetShopListScRsp(req.getShopType())); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetTreasureDungeonActivityDataCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.GetTreasureDungeonActivityDataCsReq) 9 | public class HandlerGetTreasureDungeonActivityDataCsReq extends PacketHandler { 10 | @Override 11 | public void handle(GameSession session, byte[] data) throws Exception { 12 | session.send(CmdId.GetTreasureDungeonActivityDataScRsp); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerGetUnlockTeleportCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.GetUnlockTeleportCsReqOuterClass.GetUnlockTeleportCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketGetUnlockTeleportScRsp; 9 | 10 | @Opcodes(CmdId.GetUnlockTeleportCsReq) 11 | public class HandlerGetUnlockTeleportCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = GetUnlockTeleportCsReq.parseFrom(data); 16 | 17 | session.send(new PacketGetUnlockTeleportScRsp(req.getEntryIdList())); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerHandleFriendCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.HandleFriendCsReqOuterClass.HandleFriendCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.HandleFriendCsReq) 10 | public class HandlerHandleFriendCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = HandleFriendCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getFriendList().handleFriendRequest(req.getUid(), req.getHandleResult()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerJoinLineupCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.JoinLineupCsReqOuterClass.JoinLineupCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.JoinLineupCsReq) 10 | public class HandlerJoinLineupCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = JoinLineupCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getLineupManager().joinLineup(req.getIndex(), req.getSlot(), req.getBaseAvatarId()); 17 | session.send(CmdId.JoinLineupScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerLeaveRogueCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.LeaveRogueCsReq) 9 | public class HandlerLeaveRogueCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.getPlayer().getRogueManager().leaveRogue(); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerLockEquipmentCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.LockEquipmentCsReqOuterClass.LockEquipmentCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.LockEquipmentCsReq) 10 | public class HandlerLockEquipmentCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = LockEquipmentCsReq.parseFrom(data); 15 | 16 | session.getServer().getInventoryService().lockItems(session.getPlayer(), req.getEquipmentIdList(), req.getIsProtected()); 17 | session.send(CmdId.LockEquipmentScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerLockRelicCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.LockRelicCsReqOuterClass.LockRelicCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.LockRelicCsReq) 10 | public class HandlerLockRelicCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = LockRelicCsReq.parseFrom(data); 15 | 16 | session.getServer().getInventoryService().lockItems(session.getPlayer(), req.getRelicIdList(), req.getIsProtected()); 17 | session.send(CmdId.LockRelicScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerMarkAvatarCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.MarkAvatarCsReqOuterClass.MarkAvatarCsReq; 4 | import emu.lunarcore.server.packet.send.PacketMarkAvatarScRsp; 5 | import emu.lunarcore.server.game.GameSession; 6 | import emu.lunarcore.server.packet.CmdId; 7 | import emu.lunarcore.server.packet.Opcodes; 8 | import emu.lunarcore.server.packet.PacketHandler; 9 | 10 | @Opcodes(CmdId.MarkAvatarCsReq) 11 | public class HandlerMarkAvatarCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = MarkAvatarCsReq.parseFrom(data); 16 | 17 | var avatar = session.getServer().getInventoryService().markAvatar(session.getPlayer(), req.getAvatarId(), req.getIsMarked()); 18 | session.send(new PacketMarkAvatarScRsp(avatar)); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerMarkReadMailCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.MarkReadMailCsReqOuterClass.MarkReadMailCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.MarkReadMailCsReq) 10 | public class HandlerMarkReadMailCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = MarkReadMailCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getMailbox().readMail(req.getId()); 17 | session.send(CmdId.MarkReadMailScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerPickRogueAvatarCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.PickRogueAvatarCsReqOuterClass.PickRogueAvatarCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.PickRogueAvatarCsReq) 10 | public class HandlerPickRogueAvatarCsReq extends PacketHandler { 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | var proto = PickRogueAvatarCsReq.parseFrom(data); 14 | 15 | session.getPlayer().getRogueInstance().pickAvatar(proto.getBaseAvatarList()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerPlayerHeartBeatCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.PlayerHeartbeatCsReqOuterClass.PlayerHeartbeatCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketPlayerHeartBeatScRsp; 9 | 10 | @Opcodes(CmdId.PlayerHeartBeatCsReq) 11 | public class HandlerPlayerHeartBeatCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | // Parse req data 16 | var req = PlayerHeartbeatCsReq.parseFrom(data); 17 | 18 | // Send heartbeat response back 19 | session.send(new PacketPlayerHeartBeatScRsp(req.getClientTimeMs())); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerPlayerLogoutCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.PlayerLogoutCsReq) 9 | public class HandlerPlayerLogoutCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.close(); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerPromoteAvatarCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.PromoteAvatarCsReqOuterClass.PromoteAvatarCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.PromoteAvatarCsReq) 10 | public class HandlerPromoteAvatarCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = PromoteAvatarCsReq.parseFrom(data); 15 | 16 | session.getServer().getInventoryService().promoteAvatar(session.getPlayer(), req.getBaseAvatarId()); 17 | session.send(CmdId.PromoteAvatarScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerPromoteEquipmentCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.PromoteEquipmentCsReqOuterClass.PromoteEquipmentCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.PromoteEquipmentCsReq) 10 | public class HandlerPromoteEquipmentCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = PromoteEquipmentCsReq.parseFrom(data); 15 | 16 | session.getServer().getInventoryService().promoteEquipment(session.getPlayer(), req.getEquipmentUniqueId()); 17 | session.send(CmdId.PromoteEquipmentScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerQueryProductInfoCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.QueryProductInfoCsReq) 9 | public class HandlerQueryProductInfoCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.send(CmdId.QueryProductInfoScRsp); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerQuitLineupCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.QuitLineupCsReqOuterClass.QuitLineupCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.QuitLineupCsReq) 10 | public class HandlerQuitLineupCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = QuitLineupCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getLineupManager().quitLineup(req.getIndex(), req.getBaseAvatarId()); 17 | session.send(CmdId.QuitLineupScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerQuitRogueCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | 8 | @Opcodes(CmdId.QuitRogueCsReq) 9 | public class HandlerQuitRogueCsReq extends PacketHandler { 10 | 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | session.getPlayer().getRogueManager().quitRogue(); 14 | } 15 | 16 | } -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerRankUpAvatarCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.RankUpAvatarCsReqOuterClass.RankUpAvatarCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.RankUpAvatarCsReq) 10 | public class HandlerRankUpAvatarCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = RankUpAvatarCsReq.parseFrom(data); 15 | 16 | session.getServer().getInventoryService().rankUpAvatar(session.getPlayer(), req.getAvatarId()); 17 | session.send(CmdId.RankUpAvatarScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerReEnterLastElementStageCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.ReEnterLastElementStageCsReqOuterClass.ReEnterLastElementStageCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.ReEnterLastElementStageCsReq) 10 | public class HandlerReEnterLastElementStageCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = ReEnterLastElementStageCsReq.parseFrom(data); 15 | 16 | session.getServer().getBattleService().reEnterBattle(session.getPlayer(), req.getStageId()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerRecallPetCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketCurPetChangedScNotify; 8 | 9 | @Opcodes(CmdId.RecallPetCsReq) 10 | public class HandlerRecallPetCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | session.getPlayer().setPetId(0); 15 | session.getPlayer().save(); 16 | 17 | session.send(new PacketCurPetChangedScNotify(session.getPlayer())); 18 | session.send(CmdId.RecallPetScRsp); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerRelicRecommendCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.RelicRecommendCsReqOuterClass.RelicRecommendCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketRelicRecommendScRsp; 9 | 10 | @Opcodes(CmdId.RelicRecommendCsReq) 11 | public class HandlerRelicRecommendCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = RelicRecommendCsReq.parseFrom(data); 16 | 17 | session.send(new PacketRelicRecommendScRsp(req.getAvatarId())); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerRotateMapCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo; 4 | import emu.lunarcore.proto.RotateMapCsReqOuterClass.RotateMapCsReq; 5 | import emu.lunarcore.server.game.GameSession; 6 | import emu.lunarcore.server.packet.CmdId; 7 | import emu.lunarcore.server.packet.Opcodes; 8 | import emu.lunarcore.server.packet.PacketHandler; 9 | import emu.lunarcore.server.packet.send.PacketRotateMapScRsp; 10 | 11 | @Opcodes(CmdId.RotateMapCsReq) 12 | public class HandlerRotateMapCsReq extends PacketHandler { 13 | 14 | @Override 15 | public void handle(GameSession session, byte[] data) throws Exception { 16 | var req = RotateMapCsReq.parseFrom(data); 17 | 18 | MotionInfo motion = req.getMotion(); 19 | 20 | session.send(new PacketRotateMapScRsp(motion)); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerSceneCastSkillCostMpCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.SceneCastSkillCostMpCsReqOuterClass.SceneCastSkillCostMpCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketSceneCastSkillCostMpScRsp; 9 | 10 | @Opcodes(CmdId.SceneCastSkillCostMpCsReq) 11 | public class HandlerSceneCastSkillCostMpCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = SceneCastSkillCostMpCsReq.parseFrom(data); 16 | 17 | session.send(new PacketSceneCastSkillCostMpScRsp(req.getAttackedGroupId())); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerSceneEnterStageCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.SceneEnterStageCsReqOuterClass.SceneEnterStageCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.SceneEnterStageCsReq) 10 | public class HandlerSceneEnterStageCsReq extends PacketHandler { 11 | @Override 12 | public void handle(GameSession session, byte[] data) throws Exception { 13 | var req = SceneEnterStageCsReq.parseFrom(data); 14 | 15 | session.getPlayer().getServer().getBattleService().startBattle(session.getPlayer(), req.getStageId()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerSetAssistAvatarCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.SetAssistAvatarCsReqOuterClass.SetAssistAvatarCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketSetAssistAvatarScRsp; 9 | 10 | @Opcodes(CmdId.SetAssistAvatarCsReq) 11 | public class HandlerSetAssistAvatarCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = SetAssistAvatarCsReq.parseFrom(data); 16 | 17 | session.getPlayer().setAssistAvatars(req.getAvatarIdList()); 18 | session.send(new PacketSetAssistAvatarScRsp(session.getPlayer())); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerSetAvatarPathCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.SetAvatarPathCsReqOuterClass.SetAvatarPathCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketSetAvatarPathScRsp; 9 | 10 | @Opcodes(CmdId.SetAvatarPathCsReq) 11 | public class HandlerSetAvatarPathCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = SetAvatarPathCsReq.parseFrom(data); 16 | 17 | int pathId = session.getPlayer().setAvatarPath(req.getAvatarIdValue()); 18 | session.send(new PacketSetAvatarPathScRsp(pathId)); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerSetClientPausedCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.SetClientPausedCsReqOuterClass.SetClientPausedCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketSetClientPausedScRsp; 9 | 10 | @Opcodes(CmdId.SetClientPausedCsReq) 11 | public class HandlerSetClientPausedCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = SetClientPausedCsReq.parseFrom(data); 16 | 17 | session.getPlayer().setPaused(req.getPaused()); 18 | session.send(new PacketSetClientPausedScRsp(session.getPlayer())); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerSetNicknameCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.SetNicknameCsReqOuterClass.SetNicknameCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.SetNicknameCsReq) 10 | public class HandlerSetNicknameCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = SetNicknameCsReq.parseFrom(data); 15 | 16 | if (req.getNickname() != null) { 17 | session.getPlayer().setNickname(req.getNickname()); 18 | } 19 | 20 | session.send(CmdId.SetNicknameScRsp); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerSetSignatureCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.SetSignatureCsReqOuterClass.SetSignatureCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketSetSignatureScRsp; 9 | 10 | @Opcodes(CmdId.SetSignatureCsReq) 11 | public class HandlerSetSignatureCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = SetSignatureCsReq.parseFrom(data); 16 | 17 | session.getPlayer().setSignature(req.getSignature()); 18 | session.send(new PacketSetSignatureScRsp(session.getPlayer())); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerStartCocoonStageCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.StartCocoonStageCsReqOuterClass.StartCocoonStageCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.StartCocoonStageCsReq) 10 | public class HandlerStartCocoonStageCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = StartCocoonStageCsReq.parseFrom(data); 15 | 16 | session.getServer().getBattleService().startCocoon(session.getPlayer(), req.getCocoonId(), req.getWorldLevel(), req.getWave()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerStartRogueCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.StartRogueCsReqOuterClass.StartRogueCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.StartRogueCsReq) 10 | public class HandlerStartRogueCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = StartRogueCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getRogueManager().startRogue(req.getAreaId(), req.getBuffAeonId(), req.getBaseAvatarIdList()); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerSwapLineupCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.SwapLineupCsReqOuterClass.SwapLineupCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.SwapLineupCsReq) 10 | public class HandlerSwapLineupCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = SwapLineupCsReq.parseFrom(data); 15 | 16 | session.getPlayer().getLineupManager().swapLineup(req.getIndex(), req.getSrcSlot(), req.getDstSlot()); 17 | session.send(CmdId.SwapLineupScRsp); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerSyncClientResVersionCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.SyncClientResVersionCsReqOuterClass.SyncClientResVersionCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | import emu.lunarcore.server.packet.send.PacketSyncClientResVersionScRsp; 9 | 10 | @Opcodes(CmdId.SyncClientResVersionCsReq) 11 | public class HandlerSyncClientResVersionCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = SyncClientResVersionCsReq.parseFrom(data); 16 | 17 | session.send(new PacketSyncClientResVersionScRsp(req.getClientResVersion())); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerTakeOffEquipmentCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.GameConstants; 4 | import emu.lunarcore.proto.TakeOffEquipmentCsReqOuterClass.TakeOffEquipmentCsReq; 5 | import emu.lunarcore.server.game.GameSession; 6 | import emu.lunarcore.server.packet.CmdId; 7 | import emu.lunarcore.server.packet.Opcodes; 8 | import emu.lunarcore.server.packet.PacketHandler; 9 | 10 | @Opcodes(CmdId.TakeOffEquipmentCsReq) 11 | public class HandlerTakeOffEquipmentCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = TakeOffEquipmentCsReq.parseFrom(data); 16 | 17 | session.getPlayer().getInventory().unequipItem(req.getAvatarId(), GameConstants.EQUIPMENT_SLOT_ID); 18 | session.send(CmdId.TakeOffEquipmentScRsp); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerTakeOffRelicCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.proto.TakeOffRelicCsReqOuterClass.TakeOffRelicCsReq; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.server.packet.Opcodes; 7 | import emu.lunarcore.server.packet.PacketHandler; 8 | 9 | @Opcodes(CmdId.TakeOffRelicCsReq) 10 | public class HandlerTakeOffRelicCsReq extends PacketHandler { 11 | 12 | @Override 13 | public void handle(GameSession session, byte[] data) throws Exception { 14 | var req = TakeOffRelicCsReq.parseFrom(data); 15 | 16 | for (int slot : req.getSlotList()) { 17 | session.getPlayer().getInventory().unequipItem(req.getAvatarId(), slot); 18 | } 19 | 20 | session.send(CmdId.TakeOffRelicScRsp); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/recv/HandlerTextJoinQueryCsReq.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.recv; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.CmdId; 5 | import emu.lunarcore.server.packet.Opcodes; 6 | import emu.lunarcore.server.packet.PacketHandler; 7 | import emu.lunarcore.server.packet.send.PacketTextJoinQueryScRsp; 8 | import emu.lunarcore.proto.TextJoinQueryCsReqOuterClass.TextJoinQueryCsReq; 9 | 10 | @Opcodes(CmdId.TextJoinQueryCsReq) 11 | public class HandlerTextJoinQueryCsReq extends PacketHandler { 12 | 13 | @Override 14 | public void handle(GameSession session, byte[] data) throws Exception { 15 | var req = TextJoinQueryCsReq.parseFrom(data); 16 | session.send(new PacketTextJoinQueryScRsp(session.getPlayer(), req.getTextJoinIdList().toArray())); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/Packet.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.server.packet.BasePacket; 4 | import emu.lunarcore.server.packet.CmdId; 5 | 6 | public class Packet extends BasePacket { 7 | 8 | public Packet() { 9 | super(CmdId.NONE); 10 | 11 | // Template - Do not delete! 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketAvatarExpUpScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import java.util.Collection; 4 | 5 | import emu.lunarcore.game.inventory.GameItem; 6 | import emu.lunarcore.proto.AvatarExpUpScRspOuterClass.AvatarExpUpScRsp; 7 | import emu.lunarcore.server.packet.BasePacket; 8 | import emu.lunarcore.server.packet.CmdId; 9 | 10 | public class PacketAvatarExpUpScRsp extends BasePacket { 11 | 12 | public PacketAvatarExpUpScRsp(Collection returnItems) { 13 | super(CmdId.AvatarExpUpScRsp); 14 | 15 | var data = AvatarExpUpScRsp.newInstance(); 16 | 17 | if (returnItems != null) { 18 | for (GameItem item : returnItems) { 19 | data.addReturnItemList(item.toPileProto()); 20 | } 21 | } else { 22 | data.setRetcode(1); 23 | } 24 | 25 | this.setData(data); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketAvatarPathChangedNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.avatar.AvatarMultiPath; 4 | import emu.lunarcore.game.avatar.GameAvatar; 5 | import emu.lunarcore.proto.AvatarPathChangedNotifyOuterClass.AvatarPathChangedNotify; 6 | import emu.lunarcore.server.packet.BasePacket; 7 | import emu.lunarcore.server.packet.CmdId; 8 | 9 | public class PacketAvatarPathChangedNotify extends BasePacket { 10 | 11 | public PacketAvatarPathChangedNotify(GameAvatar avatar, AvatarMultiPath path) { 12 | super(CmdId.AvatarPathChangedNotify); 13 | 14 | var data = AvatarPathChangedNotify.newInstance() 15 | .setBaseAvatarId(avatar.getAvatarId()) 16 | .setChangedAvatarTypeValue(path.getExcelId()); 17 | 18 | this.setData(data); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketChallengeLineupNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.ChallengeLineupNotifyOuterClass.ChallengeLineupNotify; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketChallengeLineupNotify extends BasePacket { 8 | 9 | public PacketChallengeLineupNotify(int type) { 10 | super(CmdId.ChallengeLineupNotify); 11 | 12 | var data = ChallengeLineupNotify.newInstance() 13 | .setExtraLineupTypeValue(type); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketChangeLineupLeaderScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.ChangeLineupLeaderScRspOuterClass.ChangeLineupLeaderScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketChangeLineupLeaderScRsp extends BasePacket { 8 | 9 | public PacketChangeLineupLeaderScRsp(int slot) { 10 | super(CmdId.ChangeLineupLeaderScRsp); 11 | 12 | var data = ChangeLineupLeaderScRsp.newInstance() 13 | .setSlot(slot); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketCurPetChangedScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.CurPetChangedScNotifyOuterClass.CurPetChangedScNotify; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketCurPetChangedScNotify extends BasePacket { 9 | 10 | public PacketCurPetChangedScNotify(Player player) { 11 | super(CmdId.CurPetChangedScNotify); 12 | 13 | var data = CurPetChangedScNotify.newInstance() 14 | .setCurPetId(player.getPetId()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketDelMailScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.DelMailScRspOuterClass.DelMailScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import it.unimi.dsi.fastutil.ints.IntList; 7 | 8 | public class PacketDelMailScRsp extends BasePacket { 9 | 10 | public PacketDelMailScRsp(IntList deleteList) { 11 | super(CmdId.DelMailScRsp); 12 | 13 | var data = DelMailScRsp.newInstance(); 14 | 15 | deleteList.forEach(data::addIdList); 16 | 17 | this.setData(data); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketEnhanceRogueBuffScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.EnhanceRogueBuffScRspOuterClass.EnhanceRogueBuffScRsp; 4 | import emu.lunarcore.proto.RogueBuffOuterClass.RogueBuff; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketEnhanceRogueBuffScRsp extends BasePacket { 9 | public PacketEnhanceRogueBuffScRsp(RogueBuff buff) { 10 | super(CmdId.EnhanceRogueBuffScRsp); 11 | 12 | var proto = EnhanceRogueBuffScRsp.newInstance() 13 | .setIsSuccess(true) 14 | .setRogueBuff(buff); 15 | 16 | this.setData(proto); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketEnterMapRotationRegionScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.EnterMapRotationRegionScRspOuterClass.EnterMapRotationRegionScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo;; 7 | 8 | public class PacketEnterMapRotationRegionScRsp extends BasePacket { 9 | 10 | public PacketEnterMapRotationRegionScRsp(MotionInfo motionInfo) { 11 | super(CmdId.EnterMapRotationRegionScRsp); 12 | 13 | var data = EnterMapRotationRegionScRsp.newInstance() 14 | .setMotion(motionInfo); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketEnterRogueMapRoomScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.game.rogue.RogueRoomData; 5 | import emu.lunarcore.proto.EnterRogueMapRoomScRspOuterClass.EnterRogueMapRoomScRsp; 6 | import emu.lunarcore.server.packet.BasePacket; 7 | import emu.lunarcore.server.packet.CmdId; 8 | 9 | public class PacketEnterRogueMapRoomScRsp extends BasePacket { 10 | 11 | public PacketEnterRogueMapRoomScRsp(Player player, RogueRoomData room) { 12 | super(CmdId.EnterRogueMapRoomScRsp); 13 | 14 | var data = EnterRogueMapRoomScRsp.newInstance() 15 | .setLineup(player.getCurrentLineup().toProto()) 16 | .setScene(player.getScene().toProto()) 17 | .setCurSiteId(room.getSiteId()); 18 | 19 | this.setData(data); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketEnterSceneByServerScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.EnterSceneByServerScNotifyOuterClass.EnterSceneByServerScNotify; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketEnterSceneByServerScNotify extends BasePacket { 9 | 10 | public PacketEnterSceneByServerScNotify(Player player) { 11 | super(CmdId.EnterSceneByServerScNotify); 12 | 13 | var data = EnterSceneByServerScNotify.newInstance() 14 | .setLineup(player.getCurrentLineup().toProto()) 15 | .setScene(player.getScene().toProto()); 16 | 17 | this.setData(data); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketExpUpRelicScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import java.util.Collection; 4 | 5 | import emu.lunarcore.game.inventory.GameItem; 6 | import emu.lunarcore.proto.ExpUpRelicScRspOuterClass.ExpUpRelicScRsp; 7 | import emu.lunarcore.server.packet.BasePacket; 8 | import emu.lunarcore.server.packet.CmdId; 9 | 10 | public class PacketExpUpRelicScRsp extends BasePacket { 11 | 12 | public PacketExpUpRelicScRsp(Collection returnItems) { 13 | super(CmdId.ExpUpRelicScRsp); 14 | 15 | var data = ExpUpRelicScRsp.newInstance(); 16 | 17 | if (returnItems != null) { 18 | for (GameItem item : returnItems) { 19 | data.addReturnItemList(item.toPileProto()); 20 | } 21 | } else { 22 | data.setRetcode(1); 23 | } 24 | 25 | this.setData(data); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetAvatarDataScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.avatar.GameAvatar; 4 | import emu.lunarcore.game.player.Player; 5 | import emu.lunarcore.proto.GetAvatarDataScRspOuterClass.GetAvatarDataScRsp; 6 | import emu.lunarcore.server.packet.BasePacket; 7 | import emu.lunarcore.server.packet.CmdId; 8 | 9 | public class PacketGetAvatarDataScRsp extends BasePacket { 10 | 11 | public PacketGetAvatarDataScRsp(Player player) { 12 | super(CmdId.GetAvatarDataScRsp); 13 | 14 | var data = GetAvatarDataScRsp.newInstance() 15 | .setIsGetAll(true); 16 | 17 | for (GameAvatar avatar : player.getAvatars()) { 18 | data.addAvatarList(avatar.toProto()); 19 | } 20 | 21 | this.setData(data); 22 | } 23 | 24 | } -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetCurChallengeScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.GetCurChallengeScRspOuterClass.GetCurChallengeScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketGetCurChallengeScRsp extends BasePacket { 9 | 10 | public PacketGetCurChallengeScRsp(Player player) { 11 | super(CmdId.GetCurChallengeScRsp); 12 | 13 | var data = GetCurChallengeScRsp.newInstance(); 14 | 15 | if (player.getChallengeInstance() != null) { 16 | data.setChallengeInfo(player.getChallengeInstance().toProto()); 17 | } else { 18 | data.setRetcode(0); 19 | } 20 | 21 | this.setData(data); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetCurLineupDataScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.GetCurLineupDataScRspOuterClass.GetCurLineupDataScRsp; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketGetCurLineupDataScRsp extends BasePacket { 9 | 10 | public PacketGetCurLineupDataScRsp(GameSession session) { 11 | super(CmdId.GetCurLineupDataScRsp); 12 | 13 | var data = GetCurLineupDataScRsp.newInstance() 14 | .setLineup(session.getPlayer().getCurrentLineup().toProto()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetCurSceneInfoScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.GetCurSceneInfoScRspOuterClass.GetCurSceneInfoScRsp; 4 | import emu.lunarcore.server.game.GameSession; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketGetCurSceneInfoScRsp extends BasePacket { 9 | 10 | public PacketGetCurSceneInfoScRsp(GameSession session) { 11 | super(CmdId.GetCurSceneInfoScRsp); 12 | 13 | var data = GetCurSceneInfoScRsp.newInstance() 14 | .setScene(session.getPlayer().getScene().toProto()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetFriendLoginInfoScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.GetFriendLoginInfoScRspOuterClass.GetFriendLoginInfoScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketGetFriendLoginInfoScRsp extends BasePacket { 9 | 10 | public PacketGetFriendLoginInfoScRsp(Player player) { 11 | super(CmdId.GetFriendLoginInfoScRsp); 12 | 13 | var data = GetFriendLoginInfoScRsp.newInstance() 14 | .addAllFriendUidList(player.getFriendList().toFriendUidArray()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetGachaCeilingScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.server.packet.CmdId; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.game.gacha.GachaType; 6 | import emu.lunarcore.game.player.Player; 7 | import emu.lunarcore.proto.GetGachaCeilingScRspOuterClass.GetGachaCeilingScRsp; 8 | 9 | public class PacketGetGachaCeilingScRsp extends BasePacket { 10 | 11 | public PacketGetGachaCeilingScRsp(Player player) { 12 | super(CmdId.GetGachaCeilingScRsp); 13 | 14 | var proto = GetGachaCeilingScRsp.newInstance() 15 | .setGachaType(GachaType.Normal.getId()) 16 | .setGachaCeiling(player.getGachaInfo().toGachaCeiling(player)); 17 | 18 | this.setData(proto); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetGachaInfoScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.server.game.GameSession; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketGetGachaInfoScRsp extends BasePacket { 8 | 9 | public PacketGetGachaInfoScRsp(GameSession session) { 10 | super(CmdId.GetGachaInfoScRsp); 11 | 12 | this.setData(session.getServer().getGachaService().toProto(session.getPlayer())); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetMailScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.mail.Mail; 4 | import emu.lunarcore.game.player.Player; 5 | import emu.lunarcore.proto.GetMailScRspOuterClass.GetMailScRsp; 6 | import emu.lunarcore.server.packet.BasePacket; 7 | import emu.lunarcore.server.packet.CmdId; 8 | 9 | public class PacketGetMailScRsp extends BasePacket { 10 | 11 | public PacketGetMailScRsp(Player player) { 12 | super(CmdId.GetMailScRsp); 13 | 14 | var data = GetMailScRsp.newInstance() 15 | .setIsEnd(true) 16 | .setTotalNum(player.getMailbox().size()); 17 | 18 | for (Mail mail : player.getMailbox()) { 19 | data.addMailList(mail.toProto()); 20 | } 21 | 22 | this.setData(data); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetNpcTakenRewardScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.GetNpcTakenRewardScRspOuterClass.GetNpcTakenRewardScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketGetNpcTakenRewardScRsp extends BasePacket { 8 | 9 | public PacketGetNpcTakenRewardScRsp(int npcId) { 10 | super(CmdId.GetNpcTakenRewardScRsp); 11 | 12 | var data = GetNpcTakenRewardScRsp.newInstance() 13 | .setNpcId(npcId); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetPetDataScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.GetPetDataScRspOuterClass.GetPetDataScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketGetPetDataScRsp extends BasePacket { 9 | 10 | public PacketGetPetDataScRsp(Player player) { 11 | super(CmdId.GetPetDataScRsp); 12 | 13 | var data = GetPetDataScRsp.newInstance() 14 | .setCurPetId(player.getPetId()); 15 | 16 | for (int id : player.getUnlocks().getPets()) { 17 | data.addPetIdList(id); 18 | } 19 | 20 | this.setData(data); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetPlayerDetailInfoScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.GetPlayerDetailInfoScRspOuterClass.GetPlayerDetailInfoScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketGetPlayerDetailInfoScRsp extends BasePacket { 9 | 10 | public PacketGetPlayerDetailInfoScRsp(Player player) { 11 | super(CmdId.GetPlayerDetailInfoScRsp); 12 | 13 | var data = GetPlayerDetailInfoScRsp.newInstance(); 14 | 15 | if (player != null) { 16 | data.setPlayerDetailInfo(player.toDetailInfo()); 17 | } else { 18 | data.setRetcode(1); 19 | } 20 | 21 | this.setData(data); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetRogueHandbookDataScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.GetRogueHandbookDataScRspOuterClass.GetRogueHandbookDataScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketGetRogueHandbookDataScRsp extends BasePacket { 8 | 9 | public PacketGetRogueHandbookDataScRsp() { 10 | super(CmdId.GetRogueHandbookDataScRsp); 11 | 12 | /* 13 | var handbook = RogueHandbookData.newInstance() 14 | .setRogueCurrentVersion(1) 15 | .setIsMiracleUnlock(true); 16 | */ 17 | 18 | var data = GetRogueHandbookDataScRsp.newInstance(); 19 | data.getMutableHandbookInfo(); 20 | 21 | this.setData(data); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetRogueInfoScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.GetRogueInfoScRspOuterClass.GetRogueInfoScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketGetRogueInfoScRsp extends BasePacket { 9 | 10 | public PacketGetRogueInfoScRsp(Player player) { 11 | super(CmdId.GetRogueInfoScRsp); 12 | 13 | var proto = GetRogueInfoScRsp.newInstance() 14 | .setRogueInfo(player.getRogueManager().toProto()); 15 | 16 | this.setData(proto); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGetRogueTalentInfoScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.rogue.RogueManager; 4 | import emu.lunarcore.proto.GetRogueTalentInfoScRspOuterClass.GetRogueTalentInfoScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketGetRogueTalentInfoScRsp extends BasePacket { 9 | 10 | public PacketGetRogueTalentInfoScRsp(RogueManager rogueManager) { 11 | super(CmdId.GetRogueTalentInfoScRsp); 12 | 13 | var data = GetRogueTalentInfoScRsp.newInstance() 14 | .setTalentInfo(rogueManager.toTalentInfoProto()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketGroupStateChangeScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.GroupStateChangeScNotifyOuterClass.GroupStateChangeScNotify; 4 | import emu.lunarcore.proto.GroupStateInfoOuterClass.GroupStateInfo; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketGroupStateChangeScRsp extends BasePacket { 9 | 10 | public PacketGroupStateChangeScRsp(GroupStateInfo groupInfo) { 11 | super(CmdId.GroupStateChangeScRsp); 12 | 13 | var data = GroupStateChangeScNotify.newInstance(); 14 | data.setGroupStateInfo(groupInfo); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketInteractChargerScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.ChargerInfoOuterClass.ChargerInfo; 4 | import emu.lunarcore.proto.InteractChargerScRspOuterClass.InteractChargerScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketInteractChargerScRsp extends BasePacket { 9 | 10 | public PacketInteractChargerScRsp(ChargerInfo chargerInfo) { 11 | super(CmdId.InteractChargerScRsp); 12 | 13 | var data = InteractChargerScRsp.newInstance() 14 | .setChargerInfo(chargerInfo); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketInteractPropScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.scene.entity.EntityProp; 4 | import emu.lunarcore.proto.InteractPropScRspOuterClass.InteractPropScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketInteractPropScRsp extends BasePacket { 9 | 10 | public PacketInteractPropScRsp(EntityProp prop) { 11 | super(CmdId.InteractPropScRsp); 12 | 13 | var data = InteractPropScRsp.newInstance(); 14 | 15 | if (prop != null) { 16 | data.setPropEntityId(prop.getEntityId()); 17 | data.setPropState(prop.getState().getVal()); 18 | } 19 | 20 | this.setData(data); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketLeaveRogueScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.LeaveRogueScRspOuterClass.LeaveRogueScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketLeaveRogueScRsp extends BasePacket { 9 | 10 | public PacketLeaveRogueScRsp(Player player) { 11 | super(CmdId.LeaveRogueScRsp); 12 | 13 | var data = LeaveRogueScRsp.newInstance() 14 | .setLineup(player.getCurrentLineup().toProto()) 15 | .setRogueInfo(player.getRogueManager().toProto()) 16 | .setScene(player.getScene().toProto()); 17 | 18 | this.setData(data); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketMarkAvatarScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.avatar.GameAvatar; 4 | import emu.lunarcore.proto.MarkAvatarScRspOuterClass.MarkAvatarScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketMarkAvatarScRsp extends BasePacket { 9 | 10 | public PacketMarkAvatarScRsp(GameAvatar avatar) { 11 | super(CmdId.MarkAvatarScRsp); 12 | 13 | var data = MarkAvatarScRsp.newInstance(); 14 | 15 | if (avatar != null) { 16 | data.setAvatarId(avatar.getAvatarId()) 17 | .setIsMarked(avatar.isMarked()); 18 | } else { 19 | data.setRetcode(1); 20 | } 21 | 22 | this.setData(data); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketNewMailScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.mail.Mail; 4 | import emu.lunarcore.proto.NewMailScNotifyOuterClass.NewMailScNotify; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketNewMailScNotify extends BasePacket { 9 | 10 | public PacketNewMailScNotify(Mail mail) { 11 | super(CmdId.NewMailScNotify); 12 | 13 | var data = NewMailScNotify.newInstance() 14 | .addMailIdList(mail.getUniqueId()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketPickRogueAvatarScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.PickRogueAvatarScRspOuterClass.PickRogueAvatarScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | import java.util.HashSet; 8 | 9 | public class PacketPickRogueAvatarScRsp extends BasePacket { 10 | public PacketPickRogueAvatarScRsp(HashSet avatarIds) { 11 | super(CmdId.PickRogueAvatarScRsp); 12 | 13 | var proto = PickRogueAvatarScRsp.newInstance(); 14 | 15 | for (var avatarId : avatarIds) { 16 | proto.addBaseAvatarList(avatarId); 17 | } 18 | 19 | this.setData(proto); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketPlayBackGroundMusicScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.PlayBackGroundMusicScRspOuterClass.PlayBackGroundMusicScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketPlayBackGroundMusicScRsp extends BasePacket { 8 | 9 | public PacketPlayBackGroundMusicScRsp(int musicId) { 10 | super(CmdId.PlayBackGroundMusicScRsp); 11 | 12 | var data = PlayBackGroundMusicScRsp.newInstance() 13 | .setPlayingId(musicId) 14 | .setPlayMusicId(musicId); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketPlayerGetTokenScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.BlackInfoOuterClass.BlackInfo; 4 | import emu.lunarcore.proto.PlayerGetTokenScRspOuterClass.PlayerGetTokenScRsp; 5 | import emu.lunarcore.server.game.GameSession; 6 | import emu.lunarcore.server.packet.BasePacket; 7 | import emu.lunarcore.server.packet.CmdId; 8 | 9 | public class PacketPlayerGetTokenScRsp extends BasePacket { 10 | 11 | public PacketPlayerGetTokenScRsp(GameSession session) { 12 | super(CmdId.PlayerGetTokenScRsp); 13 | 14 | var data = PlayerGetTokenScRsp.newInstance() 15 | .setUid(session.getUid()) 16 | .setBlackInfo(BlackInfo.newInstance()); 17 | 18 | this.setData(data); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketPlayerHeartBeatScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.LunarCore; 4 | import emu.lunarcore.proto.PlayerHeartbeatScRspOuterClass.PlayerHeartbeatScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketPlayerHeartBeatScRsp extends BasePacket { 9 | 10 | public PacketPlayerHeartBeatScRsp(long clientTime) { 11 | super(CmdId.PlayerHeartBeatScRsp); 12 | 13 | var data = PlayerHeartbeatScRsp.newInstance() 14 | .setClientTimeMs(clientTime) 15 | .setServerTimeMs(LunarCore.currentServerTime()); 16 | 17 | this.setData(data); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketRecallPetScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.RecallPetScRspOuterClass.RecallPetScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketRecallPetScRsp extends BasePacket { 8 | 9 | public PacketRecallPetScRsp() { 10 | super(CmdId.RecallPetScRsp); 11 | 12 | var data = RecallPetScRsp.newInstance() 13 | .setCurPetId(0); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketRelicRecommendScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.RelicRecommendScRspOuterClass.RelicRecommendScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketRelicRecommendScRsp extends BasePacket { 8 | 9 | public PacketRelicRecommendScRsp(int avatarId) { 10 | super(CmdId.RelicRecommendScRsp); 11 | 12 | var data = RelicRecommendScRsp.newInstance() 13 | .setAvatarId(avatarId); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketReserveStaminaExchangeScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.ReserveStaminaExchangeScRspOuterClass.ReserveStaminaExchangeScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketReserveStaminaExchangeScRsp extends BasePacket { 8 | 9 | public PacketReserveStaminaExchangeScRsp(int amount) { 10 | super(CmdId.ReserveStaminaExchangeScRsp); 11 | 12 | var data = ReserveStaminaExchangeScRsp.newInstance(); 13 | 14 | if (amount > 0) { 15 | data.setNum(amount); 16 | } else { 17 | data.setRetcode(1); 18 | } 19 | 20 | this.setData(data); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketRotateMapScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo; 4 | import emu.lunarcore.proto.RotateMapScRspOuterClass.RotateMapScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketRotateMapScRsp extends BasePacket { 9 | 10 | public PacketRotateMapScRsp(MotionInfo motion) { 11 | super(CmdId.RotateMapScRsp); 12 | 13 | var data = RotateMapScRsp.newInstance() 14 | .setMotion(motion); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSceneCastSkillCostMpScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SceneCastSkillCostMpScRspOuterClass.SceneCastSkillCostMpScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSceneCastSkillCostMpScRsp extends BasePacket { 8 | 9 | public PacketSceneCastSkillCostMpScRsp(int attackedGroupId) { 10 | super(CmdId.SceneCastSkillCostMpScRsp); 11 | 12 | var data = SceneCastSkillCostMpScRsp.newInstance() 13 | .setAttackedGroupId(attackedGroupId); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSceneCastSkillMpUpdateScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SceneCastSkillMpUpdateScNotifyOuterClass.SceneCastSkillMpUpdateScNotify; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSceneCastSkillMpUpdateScNotify extends BasePacket { 8 | 9 | public PacketSceneCastSkillMpUpdateScNotify(int attackedGroupId, int mp) { 10 | super(CmdId.SceneCastSkillMpUpdateScNotify); 11 | 12 | var data = SceneCastSkillMpUpdateScNotify.newInstance() 13 | .setAttackedGroupId(attackedGroupId) 14 | .setMp(mp); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSceneEnterStageScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.battle.Battle; 4 | import emu.lunarcore.proto.SceneEnterStageScRspOuterClass.SceneEnterStageScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketSceneEnterStageScRsp extends BasePacket { 9 | public PacketSceneEnterStageScRsp(Battle battle) { 10 | super(CmdId.SceneEnterStageScRsp); 11 | 12 | var proto = SceneEnterStageScRsp.newInstance() 13 | .setBattleInfo(battle.toProto()); 14 | 15 | this.setData(proto); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSceneEntityMoveScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.MotionInfoOuterClass.MotionInfo; 5 | import emu.lunarcore.proto.SceneEntityMoveScNotifyOuterClass.SceneEntityMoveScNotify; 6 | import emu.lunarcore.server.packet.BasePacket; 7 | import emu.lunarcore.server.packet.CmdId; 8 | 9 | public class PacketSceneEntityMoveScNotify extends BasePacket { 10 | 11 | public PacketSceneEntityMoveScNotify(Player player) { 12 | super(CmdId.SceneEntityMoveScNotify); 13 | 14 | var data = SceneEntityMoveScNotify.newInstance() 15 | .setEntryId(player.getEntryId()) 16 | .setMotion(MotionInfo.newInstance().setPos(player.getPos().toProto()).setRot(player.getRot().toProto())); 17 | 18 | this.setData(data); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSelectChatBubbleScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SelectChatBubbleScRspOuterClass.SelectChatBubbleScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSelectChatBubbleScRsp extends BasePacket { 8 | 9 | public PacketSelectChatBubbleScRsp() { 10 | super(CmdId.SelectChatBubbleScRsp); 11 | 12 | var data = SelectChatBubbleScRsp.newInstance() 13 | .setRetcode(1); 14 | 15 | this.setData(data); 16 | } 17 | 18 | public PacketSelectChatBubbleScRsp(int bubbleId) { 19 | super(CmdId.SelectChatBubbleScRsp); 20 | 21 | var data = SelectChatBubbleScRsp.newInstance() 22 | .setCurChatBubble(bubbleId); 23 | 24 | this.setData(data); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSelectPhoneThemeScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SelectPhoneThemeScRspOuterClass.SelectPhoneThemeScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSelectPhoneThemeScRsp extends BasePacket { 8 | 9 | public PacketSelectPhoneThemeScRsp() { 10 | super(CmdId.SelectPhoneThemeScRsp); 11 | 12 | var data = SelectPhoneThemeScRsp.newInstance() 13 | .setRetcode(1); 14 | 15 | this.setData(data); 16 | } 17 | 18 | public PacketSelectPhoneThemeScRsp(int themeId) { 19 | super(CmdId.SelectPhoneThemeScRsp); 20 | 21 | var data = SelectPhoneThemeScRsp.newInstance() 22 | .setCurPhoneTheme(themeId); 23 | 24 | this.setData(data); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSellItemScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import java.util.Collection; 4 | 5 | import emu.lunarcore.game.inventory.GameItem; 6 | import emu.lunarcore.proto.SellItemScRspOuterClass.SellItemScRsp; 7 | import emu.lunarcore.server.packet.BasePacket; 8 | import emu.lunarcore.server.packet.CmdId; 9 | 10 | public class PacketSellItemScRsp extends BasePacket { 11 | 12 | public PacketSellItemScRsp(Collection returnItems) { 13 | super(CmdId.SellItemScRsp); 14 | 15 | var data = SellItemScRsp.newInstance(); 16 | 17 | if (returnItems != null) { 18 | for (var item : returnItems) { 19 | data.getMutableReturnItemList().addItemList(item.toProto()); 20 | } 21 | } else { 22 | data.setRetcode(1); 23 | } 24 | 25 | this.setData(data); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSetAssistAvatarScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.SetAssistAvatarScRspOuterClass.SetAssistAvatarScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketSetAssistAvatarScRsp extends BasePacket { 9 | 10 | public PacketSetAssistAvatarScRsp(Player player) { 11 | super(CmdId.SetAssistAvatarScRsp); 12 | 13 | var data = SetAssistAvatarScRsp.newInstance(); 14 | 15 | for (var objectId : player.getAssistAvatars()) { 16 | var avatar = player.getAvatarById(objectId); 17 | if (avatar == null) continue; 18 | 19 | data.addAvatarIdList(avatar.getAvatarId()); 20 | } 21 | 22 | this.setData(data); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSetAvatarPathScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SetAvatarPathScRspOuterClass.SetAvatarPathScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSetAvatarPathScRsp extends BasePacket { 8 | 9 | public PacketSetAvatarPathScRsp(int pathId) { 10 | super(CmdId.SetAvatarPathScRsp); 11 | 12 | var data = SetAvatarPathScRsp.newInstance(); 13 | 14 | if (pathId != 0) { 15 | data.setAvatarIdValue(pathId); 16 | } else { 17 | data.setRetcode(1); 18 | } 19 | 20 | this.setData(data); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSetClientPausedScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.SetClientPausedScRspOuterClass.SetClientPausedScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketSetClientPausedScRsp extends BasePacket { 9 | 10 | public PacketSetClientPausedScRsp(Player player) { 11 | super(CmdId.SetClientPausedScRsp); 12 | 13 | var data = SetClientPausedScRsp.newInstance() 14 | .setPaused(player.isPaused()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSetHeadIconScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SetHeadIconScRspOuterClass.SetHeadIconScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSetHeadIconScRsp extends BasePacket { 8 | 9 | public PacketSetHeadIconScRsp() { 10 | super(CmdId.SetHeadIconScRsp); 11 | 12 | var data = SetHeadIconScRsp.newInstance() 13 | .setRetcode(1); 14 | 15 | this.setData(data); 16 | } 17 | 18 | public PacketSetHeadIconScRsp(int headIconId) { 19 | super(CmdId.SetHeadIconScRsp); 20 | 21 | var data = SetHeadIconScRsp.newInstance() 22 | .setCurrentHeadIconId(headIconId); 23 | 24 | this.setData(data); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSetLineupNameScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SetLineupNameScRspOuterClass.SetLineupNameScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSetLineupNameScRsp extends BasePacket { 8 | 9 | public PacketSetLineupNameScRsp(int index, String name) { 10 | super(CmdId.SetLineupNameScRsp); 11 | 12 | var data = SetLineupNameScRsp.newInstance(); 13 | 14 | if (name != null) { 15 | data.setIndex(index); 16 | data.setName(name); 17 | } else { 18 | data.setRetcode(1); 19 | } 20 | 21 | this.setData(data); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSetSignatureScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.SetSignatureScRspOuterClass.SetSignatureScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketSetSignatureScRsp extends BasePacket { 9 | 10 | public PacketSetSignatureScRsp(Player player) { 11 | super(CmdId.SetSignatureScRsp); 12 | 13 | var data = SetSignatureScRsp.newInstance() 14 | .setSignature(player.getSignature()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketStaminaInfoScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.StaminaInfoScNotifyOuterClass.StaminaInfoScNotify; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketStaminaInfoScNotify extends BasePacket { 9 | 10 | public PacketStaminaInfoScNotify(Player player) { 11 | super(CmdId.StaminaInfoScNotify); 12 | 13 | var data = StaminaInfoScNotify.newInstance() 14 | .setNextRecoverTime(player.getNextStaminaRecover() / 1000) 15 | .setStamina(player.getStamina()) 16 | .setReserveStamina((int) Math.floor(player.getStaminaReserve())); 17 | 18 | this.setData(data); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSummonPetScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SummonPetScRspOuterClass.SummonPetScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSummonPetScRsp extends BasePacket { 8 | 9 | public PacketSummonPetScRsp() { 10 | super(CmdId.SummonPetScRsp); 11 | 12 | var data = SummonPetScRsp.newInstance() 13 | .setRetcode(1); 14 | 15 | this.setData(data); 16 | } 17 | 18 | public PacketSummonPetScRsp(int petId) { 19 | super(CmdId.SummonPetScRsp); 20 | 21 | var data = SummonPetScRsp.newInstance() 22 | .setCurPetId(petId); 23 | 24 | this.setData(data); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSwitchLineupIndexScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.lineup.PlayerLineup; 4 | import emu.lunarcore.proto.SwitchLineupIndexScRspOuterClass.SwitchLineupIndexScRsp; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketSwitchLineupIndexScRsp extends BasePacket { 9 | 10 | public PacketSwitchLineupIndexScRsp(PlayerLineup lineup) { 11 | super(CmdId.SwitchLineupIndexScRsp); 12 | 13 | var data = SwitchLineupIndexScRsp.newInstance() 14 | .setIndex(lineup.getIndex()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSyncApplyFriendScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.FriendApplyInfoOuterClass.FriendApplyInfo; 5 | import emu.lunarcore.proto.SyncApplyFriendScNotifyOuterClass.SyncApplyFriendScNotify; 6 | import emu.lunarcore.server.packet.BasePacket; 7 | import emu.lunarcore.server.packet.CmdId; 8 | 9 | public class PacketSyncApplyFriendScNotify extends BasePacket { 10 | 11 | public PacketSyncApplyFriendScNotify(Player friend) { 12 | super(CmdId.SyncApplyFriendScNotify); 13 | 14 | var data = SyncApplyFriendScNotify.newInstance() 15 | .setFriendApplyInfo(FriendApplyInfo.newInstance().setSimpleInfo(friend.toSimpleInfo())); 16 | 17 | this.setData(data); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSyncClientResVersionScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SyncClientResVersionScRspOuterClass.SyncClientResVersionScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSyncClientResVersionScRsp extends BasePacket { 8 | 9 | public PacketSyncClientResVersionScRsp(int res) { 10 | super(CmdId.SyncClientResVersionScRsp); 11 | 12 | var data = SyncClientResVersionScRsp.newInstance() 13 | .setClientResVersion(res); 14 | 15 | this.setData(data); 16 | } 17 | } -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSyncDeleteFriendScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.SyncDeleteFriendScNotifyOuterClass.SyncDeleteFriendScNotify; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketSyncDeleteFriendScNotify extends BasePacket { 8 | 9 | public PacketSyncDeleteFriendScNotify(int uid) { 10 | super(CmdId.SyncDeleteFriendScNotify); 11 | 12 | var data = SyncDeleteFriendScNotify.newInstance() 13 | .setUid(uid); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSyncLineupNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.lineup.PlayerLineup; 4 | import emu.lunarcore.proto.SyncLineupNotifyOuterClass.SyncLineupNotify; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketSyncLineupNotify extends BasePacket { 9 | 10 | public PacketSyncLineupNotify(PlayerLineup lineup) { 11 | super(CmdId.SyncLineupNotify); 12 | 13 | var data = SyncLineupNotify.newInstance() 14 | .setLineup(lineup.toProto()); 15 | 16 | this.setData(data); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSyncRogueCommonDialogueDataScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.rogue.event.RogueEventInstance; 4 | import emu.lunarcore.proto.SyncRogueCommonDialogueDataScNotifyOuterClass.SyncRogueCommonDialogueDataScNotify; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketSyncRogueCommonDialogueDataScNotify extends BasePacket { 9 | public PacketSyncRogueCommonDialogueDataScNotify(RogueEventInstance event) { 10 | super(CmdId.SyncRogueCommonDialogueDataScNotify); 11 | 12 | var proto = SyncRogueCommonDialogueDataScNotify.newInstance() 13 | .addDialogueDataList(event.toProto()); 14 | 15 | this.setData(proto); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSyncRogueFinishScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.SyncRogueFinishScNotifyOuterClass.SyncRogueFinishScNotify; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketSyncRogueFinishScNotify extends BasePacket { 9 | 10 | public PacketSyncRogueFinishScNotify(Player player) { 11 | super(CmdId.SyncRogueFinishScNotify); 12 | 13 | var data = SyncRogueFinishScNotify.newInstance(); 14 | 15 | if (player.getRogueInstance() != null) { 16 | data.setFinishInfo(player.getRogueInstance().toFinishInfoProto()); 17 | } 18 | 19 | this.setData(data); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSyncRogueMapRoomScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.rogue.RogueInstance; 4 | import emu.lunarcore.game.rogue.RogueRoomData; 5 | import emu.lunarcore.proto.SyncRogueMapRoomScNotifyOuterClass.SyncRogueMapRoomScNotify; 6 | import emu.lunarcore.server.packet.BasePacket; 7 | import emu.lunarcore.server.packet.CmdId; 8 | 9 | public class PacketSyncRogueMapRoomScNotify extends BasePacket { 10 | 11 | public PacketSyncRogueMapRoomScNotify(RogueInstance rogue, RogueRoomData room) { 12 | super(CmdId.SyncRogueMapRoomScNotify); 13 | 14 | var data = SyncRogueMapRoomScNotify.newInstance() 15 | .setMapId(rogue.getExcel().getMapId()) 16 | .setCurRoom(room.toProto()); 17 | 18 | this.setData(data); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketSyncRogueVirtualItemInfoScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.game.player.Player; 4 | import emu.lunarcore.proto.SyncRogueVirtualItemInfoScNotifyOuterClass.SyncRogueVirtualItemInfoScNotify; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketSyncRogueVirtualItemInfoScNotify extends BasePacket { 9 | 10 | public PacketSyncRogueVirtualItemInfoScNotify(Player player) { 11 | super(CmdId.SyncRogueVirtualItemInfoScNotify); 12 | 13 | var data = SyncRogueVirtualItemInfoScNotify.newInstance(); 14 | 15 | if (player.getRogueInstance() != null) { 16 | data.setRogueVirtualItemInfo(player.getRogueInstance().toRogueVirtualItemProto()); 17 | } 18 | 19 | this.setData(data); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketUnlockChatBubbleScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.UnlockChatBubbleScNotifyOuterClass.UnlockChatBubbleScNotify; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketUnlockChatBubbleScNotify extends BasePacket { 8 | 9 | public PacketUnlockChatBubbleScNotify(int id) { 10 | super(CmdId.UnlockChatBubbleScNotify); 11 | 12 | var data = UnlockChatBubbleScNotify.newInstance() 13 | .setBubbleId(id); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketUnlockPhoneThemeScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.UnlockPhoneThemeScNotifyOuterClass.UnlockPhoneThemeScNotify; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketUnlockPhoneThemeScNotify extends BasePacket { 8 | 9 | public PacketUnlockPhoneThemeScNotify(int id) { 10 | super(CmdId.UnlockPhoneThemeScNotify); 11 | 12 | var data = UnlockPhoneThemeScNotify.newInstance() 13 | .setThemeId(id); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketUnlockSkilltreeScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.UnlockSkilltreeScRspOuterClass.UnlockSkilltreeScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketUnlockSkilltreeScRsp extends BasePacket { 8 | 9 | public PacketUnlockSkilltreeScRsp(int avatarId, int pointId, int level) { 10 | super(CmdId.UnlockSkilltreeScRsp); 11 | 12 | var data = UnlockSkilltreeScRsp.newInstance() 13 | .setPointId(pointId) 14 | .setLevel(level); 15 | 16 | this.setData(data); 17 | } 18 | 19 | public PacketUnlockSkilltreeScRsp() { 20 | super(CmdId.UnlockSkilltreeScRsp); 21 | 22 | var data = UnlockSkilltreeScRsp.newInstance().setRetcode(1); 23 | 24 | this.setData(data); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketUpdateEnergyScNotify.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.RotatorEnergyInfoOuterClass.RotatorEnergyInfo; 4 | import emu.lunarcore.proto.UpdateEnergyScNotifyOuterClass.UpdateEnergyScNotify; 5 | import emu.lunarcore.server.packet.BasePacket; 6 | import emu.lunarcore.server.packet.CmdId; 7 | 8 | public class PacketUpdateEnergyScNotify extends BasePacket { 9 | 10 | public PacketUpdateEnergyScNotify() { 11 | super(CmdId.UpdateEnergyScNotify); 12 | 13 | var temp = RotatorEnergyInfo.newInstance() 14 | .setMaxNum(100) 15 | .setCurNum(100); 16 | 17 | var data = UpdateEnergyScNotify.newInstance() 18 | .setEnergyInfo(temp); 19 | 20 | this.setData(data); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/server/packet/send/PacketUpdateServerPrefsDataScRsp.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.server.packet.send; 2 | 3 | import emu.lunarcore.proto.UpdateServerPrefsDataScRspOuterClass.UpdateServerPrefsDataScRsp; 4 | import emu.lunarcore.server.packet.BasePacket; 5 | import emu.lunarcore.server.packet.CmdId; 6 | 7 | public class PacketUpdateServerPrefsDataScRsp extends BasePacket { 8 | 9 | public PacketUpdateServerPrefsDataScRsp(int id) { 10 | super(CmdId.UpdateServerPrefsDataScRsp); 11 | 12 | var data = UpdateServerPrefsDataScRsp.newInstance() 13 | .setServerPrefsId(id); 14 | 15 | this.setData(data); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/emu/lunarcore/util/Snowflake32.java: -------------------------------------------------------------------------------- 1 | package emu.lunarcore.util; 2 | 3 | public class Snowflake32 { 4 | private static final long EPOCH = 1672531200000L; // Sunday, January 1, 2023 12:00:00 AM (GMT) 5 | private static int cachedTimestamp; 6 | private static byte sequence; 7 | 8 | public synchronized static int newUid() { 9 | int timestamp = (int) ((System.currentTimeMillis() - EPOCH) / 1000); 10 | 11 | if (cachedTimestamp != timestamp) { 12 | sequence = 0; 13 | cachedTimestamp = timestamp; 14 | } else { 15 | sequence++; 16 | } 17 | 18 | return (cachedTimestamp << 4) + sequence; 19 | } 20 | 21 | public synchronized static int toTimestamp(int snowflake) { 22 | return (snowflake >> 4) + (int) (EPOCH / 1000); 23 | } 24 | 25 | } 26 | --------------------------------------------------------------------------------