Initial commit

This commit is contained in:
Ilya Groshev
2026-04-14 09:28:26 +03:00
commit 02f511f40c
161 changed files with 21541 additions and 0 deletions
+29
View File
@@ -0,0 +1,29 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/mission.proto";
import "proto/data.proto";
package apb.api.banner;
service BannerService {
rpc GetMamaBanner (GetMamaBannerRequest) returns (GetMamaBannerResponse);
}
message GetMamaBannerRequest {
apb.api.mission.CageMeasurableValues cageMeasurableValues = 50;
}
message GetMamaBannerResponse {
repeated GachaBanner termLimitedGacha = 2;
GachaBanner latestChapterGacha = 3;
bool isExistUnreadPop = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GachaBanner {
int32 gachaLabelType = 1;
string gachaAssetName = 2;
int32 gachaId = 3;
}
+138
View File
@@ -0,0 +1,138 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.battle;
service BattleService {
rpc StartWave (StartWaveRequest) returns (StartWaveResponse);
rpc FinishWave (FinishWaveRequest) returns (FinishWaveResponse);
}
message BattleReportRandomDisplay {
int32 randomDisplayValueType = 1;
int64 randomDisplayValue = 2;
}
message CostumeBattleInfo {
int32 deckCharacterNumber = 1;
int64 totalDamage = 2;
bool isAlive = 4;
int32 hitCount = 5;
int64 maxHp = 6;
int64 remainingHp = 7;
int32 userDeckNumber = 30;
BattleReportRandomDisplay battleReportRandomDisplay = 50;
}
message StartWaveRequest {
repeated UserPartyInitialInfo userPartyInitialInfoList = 1;
repeated NpcPartyInitialInfo npcPartyInitialInfoList = 2;
}
message UserPartyInitialInfo {
int64 userId = 1;
int32 deckType = 2;
int64 userDeckNumber = 3;
int64 totalHp = 4;
string vt = 200;
}
message NpcPartyInitialInfo {
int64 npcId = 1;
int32 deckType = 2;
int32 battleNpcDeckNumber = 3;
int64 totalHp = 4;
}
message StartWaveResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishWaveRequest {
bytes battleBinary = 1;
BattleDetail battleDetail = 2;
repeated UserPartyResultInfo userPartyResultInfoList = 3;
repeated NpcPartyResultInfo npcPartyResultInfoList = 4;
int64 elapsedFrameCount = 5;
string vt = 200;
}
message BattleDetail {
int32 characterDeathCount = 1;
int32 maxDamage = 2;
int32 playerCostumeActiveSkillUsedCount = 3;
int32 playerWeaponActiveSkillUsedCount = 4;
int32 playerCompanionSkillUsedCount = 5;
int32 criticalCount = 6;
int32 comboCount = 7;
int32 comboMaxDamage = 8;
repeated CostumeBattleInfo costumeBattleInfo = 9;
int64 totalRecoverPoint = 10;
}
message UserPartyResultInfo {
int64 userId = 1;
int32 deckType = 2;
int32 userDeckNumber = 3;
repeated AddUserDamageInfo addDamageInfoList = 4;
repeated UserRecoverInfo userRecoverInfo = 5;
repeated SkillUseInfo skillUseInfo = 6;
int32 characterDeathCount = 7;
int32 characterReviveCount = 8;
int32 characterHpDepletedCount = 9;
}
message AddUserDamageInfo {
int64 userId = 1;
int32 deckType = 2;
int32 deckNumber = 3;
int64 totalDamage = 4;
int64 totalUnclampedDamage = 5;
}
message UserRecoverInfo {
int64 userId = 1;
int32 deckType = 2;
int32 deckNumber = 3;
int64 totalRecoverPoint = 4;
}
message SkillUseInfo {
string deckCharacterUuid = 1;
int32 skillDetailId = 2;
int32 useCount = 3;
}
message NpcPartyResultInfo {
int64 npcId = 1;
int32 deckType = 2;
int32 battleNpcDeckNumber = 3;
repeated AddNpcDamageInfo addDamageInfoList = 4;
repeated NpcRecoverInfo npcRecoverInfo = 5;
repeated SkillUseInfo skillUseInfo = 6;
int32 characterDeathCount = 7;
int32 characterReviveCount = 8;
int32 characterHpDepletedCount = 9;
}
message AddNpcDamageInfo {
int64 npcId = 1;
int32 deckType = 2;
int32 deckNumber = 3;
int64 totalDamage = 4;
int64 totalUnclampedDamage = 5;
}
message NpcRecoverInfo {
int64 npcId = 1;
int32 deckType = 2;
int32 deckNumber = 3;
int64 totalRecoverPoint = 4;
}
message FinishWaveResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+142
View File
@@ -0,0 +1,142 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "proto/battle.proto";
package apb.api.bighunt;
service BigHuntService {
rpc StartBigHuntQuest (StartBigHuntQuestRequest) returns (StartBigHuntQuestResponse);
rpc UpdateBigHuntQuestSceneProgress (UpdateBigHuntQuestSceneProgressRequest) returns (UpdateBigHuntQuestSceneProgressResponse);
rpc FinishBigHuntQuest (FinishBigHuntQuestRequest) returns (FinishBigHuntQuestResponse);
rpc RestartBigHuntQuest (RestartBigHuntQuestRequest) returns (RestartBigHuntQuestResponse);
rpc SkipBigHuntQuest (SkipBigHuntQuestRequest) returns (SkipBigHuntQuestResponse);
rpc SaveBigHuntBattleInfo (SaveBigHuntBattleInfoRequest) returns (SaveBigHuntBattleInfoResponse);
rpc GetBigHuntTopData (google.protobuf.Empty) returns (GetBigHuntTopDataResponse);
}
message WeeklyScoreResult {
int32 attributeType = 1;
int64 beforeMaxScore = 2;
int64 currentMaxScore = 3;
int32 beforeAssetGradeIconId = 4;
int32 currentAssetGradeIconId = 5;
int64 afterMaxScore = 6;
int32 afterAssetGradeIconId = 7;
}
message BigHuntReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message StartBigHuntQuestRequest {
int32 bigHuntBossQuestId = 1;
int32 bigHuntQuestId = 2;
int32 userDeckNumber = 3;
bool isDryRun = 4;
}
message StartBigHuntQuestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateBigHuntQuestSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateBigHuntQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishBigHuntQuestRequest {
int32 bigHuntBossQuestId = 1;
int32 bigHuntQuestId = 2;
bool isRetired = 3;
string vt = 200;
}
message FinishBigHuntQuestResponse {
BigHuntScoreInfo scoreInfo = 1;
repeated BigHuntReward scoreReward = 2;
BigHuntBattleReport battleReport = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BigHuntScoreInfo {
int64 userScore = 1;
bool isHighScore = 2;
int64 totalDamage = 3;
int64 baseScore = 4;
int32 difficultyBonusPermil = 5;
int32 aliveBonusPermil = 6;
int32 maxComboBonusPermil = 7;
int32 assetGradeIconId = 8;
}
message BigHuntBattleReport {
repeated BigHuntBattleReportWave battleReportWave = 1;
}
message BigHuntBattleReportWave {
repeated BigHuntBattleReportCostume battleReportCostume = 1;
}
message BigHuntBattleReportCostume {
int32 costumeId = 1;
int64 totalDamage = 2;
int32 hitCount = 3;
apb.api.battle.BattleReportRandomDisplay battleReportRandomDisplay = 4;
}
message RestartBigHuntQuestRequest {
int32 bigHuntBossQuestId = 1;
int32 bigHuntQuestId = 2;
}
message RestartBigHuntQuestResponse {
bytes battleBinary = 1;
int32 deckNumber = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SkipBigHuntQuestRequest {
int32 bigHuntBossQuestId = 1;
int32 skipCount = 2;
}
message SkipBigHuntQuestResponse {
repeated BigHuntReward scoreReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SaveBigHuntBattleInfoRequest {
bytes battleBinary = 1;
BigHuntBattleDetail bigHuntBattleDetail = 2;
int64 elapsedFrameCount = 3;
string vt = 200;
}
message BigHuntBattleDetail {
int32 deckType = 1;
int32 userTripleDeckNumber = 2;
int32 bossKnockDownCount = 3;
int32 maxComboCount = 4;
repeated apb.api.battle.CostumeBattleInfo costumeBattleInfo = 9;
}
message SaveBigHuntBattleInfoResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetBigHuntTopDataResponse {
repeated WeeklyScoreResult weeklyScoreResult = 1;
repeated BigHuntReward weeklyScoreReward = 2;
bool isReceivedWeeklyScoreReward = 3;
repeated BigHuntReward lastWeekWeeklyScoreReward = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+35
View File
@@ -0,0 +1,35 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.cageornament;
service CageOrnamentService {
rpc ReceiveReward (ReceiveRewardRequest) returns (ReceiveRewardResponse);
rpc RecordAccess (RecordAccessRequest) returns (RecordAccessResponse);
}
message ReceiveRewardRequest {
int32 cageOrnamentId = 1;
}
message ReceiveRewardResponse {
repeated CageOrnamentReward cageOrnamentReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CageOrnamentReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message RecordAccessRequest {
int32 cageOrnamentId = 1;
}
message RecordAccessResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+20
View File
@@ -0,0 +1,20 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.character;
service CharacterService {
rpc Rebirth (RebirthRequest) returns (RebirthResponse);
}
message RebirthRequest {
int32 characterId = 1;
int32 rebirthCount = 2;
}
message RebirthResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+19
View File
@@ -0,0 +1,19 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.characterboard;
service CharacterBoardService {
rpc ReleasePanel (ReleasePanelRequest) returns (ReleasePanelResponse);
}
message ReleasePanelRequest {
repeated int32 characterBoardPanelId = 1;
}
message ReleasePanelResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+17
View File
@@ -0,0 +1,17 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.characterviewer;
service CharacterViewerService {
rpc CharacterViewerTop (google.protobuf.Empty) returns (CharacterViewerTopResponse);
}
message CharacterViewerTopResponse {
repeated int32 releaseCharacterViewerFieldId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+20
View File
@@ -0,0 +1,20 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.companion;
service CompanionService {
rpc Enhance (CompanionEnhanceRequest) returns (CompanionEnhanceResponse);
}
message CompanionEnhanceRequest {
string userCompanionUuid = 1;
int32 addLevelCount = 2;
}
message CompanionEnhanceResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+41
View File
@@ -0,0 +1,41 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.config;
service ConfigService {
rpc GetReviewServerConfig (google.protobuf.Empty) returns (GetReviewServerConfigResponse);
}
message GetReviewServerConfigResponse {
ApiConfig api = 1;
OctoConfig octo = 2;
WebViewConfig webView = 3;
MasterDataConfig masterData = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ApiConfig {
string hostname = 1;
int32 port = 2;
}
message OctoConfig {
int32 version = 1;
int32 appId = 2;
string clientSecretKey = 3;
string aesKey = 4;
string url = 5;
}
message WebViewConfig {
string baseUrl = 1;
}
message MasterDataConfig {
string urlFormat = 1;
}
+34
View File
@@ -0,0 +1,34 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.consumableitem;
service ConsumableitemService {
rpc UseEffectItem (UseEffectItemRequest) returns (UseEffectItemResponse);
rpc Sell (SellRequest) returns (SellResponse);
}
message UseEffectItemRequest {
int32 consumableItemId = 1;
int32 count = 2;
}
message UseEffectItemResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SellRequest {
repeated SellPossession consumableItemPossession = 1;
}
message SellPossession {
int32 consumableItemId = 1;
int32 count = 2;
}
message SellResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+19
View File
@@ -0,0 +1,19 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.contentsstory;
service ContentsStoryService {
rpc RegisterPlayed (ContentsStoryRegisterPlayedRequest) returns (ContentsStoryRegisterPlayedResponse);
}
message ContentsStoryRegisterPlayedRequest {
int32 contentsStoryId = 1;
}
message ContentsStoryRegisterPlayedResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+92
View File
@@ -0,0 +1,92 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.costume;
service CostumeService {
rpc Enhance (EnhanceRequest) returns (EnhanceResponse);
rpc LimitBreak (LimitBreakRequest) returns (LimitBreakResponse);
rpc Awaken (AwakenRequest) returns (AwakenResponse);
rpc EnhanceActiveSkill (EnhanceActiveSkillRequest) returns (EnhanceActiveSkillResponse);
rpc RegisterLevelBonusConfirmed (RegisterLevelBonusConfirmedRequest) returns (RegisterLevelBonusConfirmedResponse);
rpc UnlockLotteryEffectSlot (UnlockLotteryEffectSlotRequest) returns (UnlockLotteryEffectSlotResponse);
rpc DrawLotteryEffect (DrawLotteryEffectRequest) returns (DrawLotteryEffectResponse);
rpc ConfirmLotteryEffect (ConfirmLotteryEffectRequest) returns (ConfirmLotteryEffectResponse);
}
message EnhanceRequest {
string userCostumeUuid = 1;
map<int32, int32> materials = 2;
}
message EnhanceResponse {
bool isGreatSuccess = 1;
map<int32, int32> surplusEnhanceMaterial = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message LimitBreakRequest {
string userCostumeUuid = 1;
map<int32, int32> materials = 2;
}
message LimitBreakResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message AwakenRequest {
string userCostumeUuid = 1;
map<int32, int32> materials = 2;
}
message AwakenResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceActiveSkillRequest {
string userCostumeUuid = 1;
int32 addLevelCount = 2;
}
message EnhanceActiveSkillResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RegisterLevelBonusConfirmedRequest {
int32 costumeId = 1;
int32 level = 2;
}
message RegisterLevelBonusConfirmedResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UnlockLotteryEffectSlotRequest {
string userCostumeUuid = 1;
int32 slotNumber = 2;
}
message UnlockLotteryEffectSlotResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DrawLotteryEffectRequest {
string userCostumeUuid = 1;
int32 slotNumber = 2;
}
message DrawLotteryEffectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ConfirmLotteryEffectRequest {
string userCostumeUuid = 1;
bool isAccept = 2;
}
message ConfirmLotteryEffectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+38
View File
@@ -0,0 +1,38 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
package apb.api.data;
service DataService {
rpc GetLatestMasterDataVersion (google.protobuf.Empty) returns (MasterDataGetLatestVersionResponse);
rpc GetUserDataNameV2 (google.protobuf.Empty) returns (UserDataGetNameResponseV2);
rpc GetUserData (UserDataGetRequest) returns (UserDataGetResponse);
}
message DiffData {
string updateRecordsJson = 1;
string deleteKeysJson = 2;
}
message MasterDataGetLatestVersionResponse {
string latestMasterDataVersion = 1;
}
message UserDataGetNameResponseV2 {
repeated TableNameList tableNameList = 1;
}
message TableNameList {
repeated string tableName = 1;
}
message UserDataGetRequest {
repeated string tableName = 1;
}
message UserDataGetResponse {
map<string, string> userDataJson = 1;
}
+158
View File
@@ -0,0 +1,158 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.deck;
service DeckService {
rpc UpdateName (UpdateNameRequest) returns (UpdateNameResponse);
rpc ReplaceDeck (ReplaceDeckRequest) returns (ReplaceDeckResponse);
rpc SetPvpDefenseDeck (SetPvpDefenseDeckRequest) returns (SetPvpDefenseDeckResponse);
rpc CopyDeck (CopyDeckRequest) returns (CopyDeckResponse);
rpc RemoveDeck (RemoveDeckRequest) returns (RemoveDeckResponse);
rpc RefreshDeckPower (RefreshDeckPowerRequest) returns (RefreshDeckPowerResponse);
rpc UpdateTripleDeckName (UpdateTripleDeckNameRequest) returns (UpdateTripleDeckNameResponse);
rpc ReplaceTripleDeck (ReplaceTripleDeckRequest) returns (ReplaceTripleDeckResponse);
rpc ReplaceMultiDeck (ReplaceMultiDeckRequest) returns (ReplaceMultiDeckResponse);
rpc RefreshMultiDeckPower (RefreshMultiDeckPowerRequest) returns (RefreshMultiDeckPowerResponse);
}
message Deck {
DeckCharacter character01 = 1;
DeckCharacter character02 = 2;
DeckCharacter character03 = 3;
}
message DeckCharacter {
string userCostumeUuid = 1;
string mainUserWeaponUuid = 2;
repeated string subUserWeaponUuid = 3;
string userCompanionUuid = 4;
repeated string userPartsUuid = 5;
int32 dressupCostumeId = 6;
string userThoughtUuid = 7;
}
message UpdateNameRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
string name = 3;
}
message UpdateNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReplaceDeckRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
Deck deck = 3;
}
message ReplaceDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetPvpDefenseDeckRequest {
int32 userDeckNumber = 1;
DeckPower deckPower = 2;
}
message DeckPower {
int32 power = 1;
DeckCharacterPower deckCharacterPower01 = 2;
DeckCharacterPower deckCharacterPower02 = 3;
DeckCharacterPower deckCharacterPower03 = 4;
}
message DeckCharacterPower {
string userDeckCharacterUuid = 1;
int32 power = 2;
}
message SetPvpDefenseDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CopyDeckRequest {
int32 fromDeckType = 1;
int32 fromUserDeckNumber = 2;
int32 toDeckType = 3;
int32 toUserDeckNumber = 4;
}
message CopyDeckResponse {
int32 resultType = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RemoveDeckRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
}
message RemoveDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RefreshDeckPowerRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
DeckPower deckPower = 3;
}
message RefreshDeckPowerResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateTripleDeckNameRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
string name = 3;
}
message UpdateTripleDeckNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReplaceTripleDeckRequest {
int32 deckType = 1;
int32 userDeckNumber = 2;
DeckDetail deckDetail01 = 3;
DeckDetail deckDetail02 = 4;
DeckDetail deckDetail03 = 5;
}
message DeckDetail {
int32 deckType = 1;
int32 userDeckNumber = 2;
Deck deck = 3;
}
message ReplaceTripleDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReplaceMultiDeckRequest {
repeated DeckDetail deckDetail = 1;
}
message ReplaceMultiDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RefreshMultiDeckPowerRequest {
repeated DeckPowerInfo deckPowerInfo = 1;
}
message DeckPowerInfo {
int32 deckType = 1;
int32 userDeckNumber = 2;
DeckPower deckPower = 3;
}
message RefreshMultiDeckPowerResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+19
View File
@@ -0,0 +1,19 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.dokan;
service DokanService {
rpc RegisterDokanConfirmed (RegisterDokanConfirmedRequest) returns (RegisterDokanConfirmedResponse);
}
message RegisterDokanConfirmedRequest {
repeated int32 dokanId = 1;
}
message RegisterDokanConfirmedResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+49
View File
@@ -0,0 +1,49 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.explore;
service ExploreService {
rpc StartExplore (StartExploreRequest) returns (StartExploreResponse);
rpc FinishExplore (FinishExploreRequest) returns (FinishExploreResponse);
rpc RetireExplore (RetireExploreRequest) returns (RetireExploreResponse);
}
message StartExploreRequest {
int32 exploreId = 1;
int32 useConsumableItemId = 2;
}
message StartExploreResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishExploreRequest {
int32 exploreId = 1;
int32 score = 2;
string vt = 200;
}
message FinishExploreResponse {
int32 acquireStaminaCount = 1;
repeated ExploreReward exploreReward = 2;
int32 assetGradeIconId = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ExploreReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message RetireExploreRequest {
int32 exploreId = 1;
}
message RetireExploreResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+135
View File
@@ -0,0 +1,135 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "google/protobuf/timestamp.proto";
import "proto/mission.proto";
package apb.api.friend;
service FriendService {
rpc GetUser (GetUserRequest) returns (GetUserResponse);
rpc SearchRecommendedUsers (google.protobuf.Empty) returns (SearchRecommendedUsersResponse);
rpc GetFriendList (GetFriendListRequest) returns (GetFriendListResponse);
rpc GetFriendRequestList (google.protobuf.Empty) returns (GetFriendRequestListResponse);
rpc SendFriendRequest (SendFriendRequestRequest) returns (SendFriendRequestResponse);
rpc AcceptFriendRequest (AcceptFriendRequestRequest) returns (AcceptFriendRequestResponse);
rpc DeclineFriendRequest (DeclineFriendRequestRequest) returns (DeclineFriendRequestResponse);
rpc DeleteFriend (DeleteFriendRequest) returns (DeleteFriendResponse);
rpc CheerFriend (CheerFriendRequest) returns (CheerFriendResponse);
rpc BulkCheerFriend (google.protobuf.Empty) returns (BulkCheerFriendResponse);
rpc ReceiveCheer (ReceiveCheerRequest) returns (ReceiveCheerResponse);
rpc BulkReceiveCheer (google.protobuf.Empty) returns (BulkReceiveCheerResponse);
}
message GetUserRequest {
int64 playerId = 1;
}
message GetUserResponse {
User user = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message User {
int64 playerId = 1;
string userName = 2;
google.protobuf.Timestamp lastLoginDatetime = 3;
int32 maxDeckPower = 4;
int32 favoriteCostumeId = 5;
int32 level = 6;
}
message SearchRecommendedUsersResponse {
repeated User users = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetFriendListRequest {
apb.api.mission.CageMeasurableValues cageMeasurableValues = 50;
}
message GetFriendListResponse {
repeated FriendUser friendUser = 1;
int32 sendCheerCount = 2;
int32 receivedCheerCount = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FriendUser {
int64 playerId = 1;
string userName = 2;
google.protobuf.Timestamp lastLoginDatetime = 3;
int32 maxDeckPower = 4;
int32 favoriteCostumeId = 5;
int32 level = 6;
bool cheerReceived = 7;
bool cheerSent = 8;
bool staminaReceived = 9;
}
message GetFriendRequestListResponse {
repeated User user = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SendFriendRequestRequest {
int64 playerId = 1;
}
message SendFriendRequestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message AcceptFriendRequestRequest {
int64 playerId = 1;
}
message AcceptFriendRequestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DeclineFriendRequestRequest {
int64 playerIdOld = 1;
repeated int64 playerId = 2;
}
message DeclineFriendRequestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DeleteFriendRequest {
int64 playerId = 1;
}
message DeleteFriendResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CheerFriendRequest {
int64 playerId = 1;
}
message CheerFriendResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BulkCheerFriendResponse {
repeated int64 playerId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveCheerRequest {
int64 playerId = 1;
}
message ReceiveCheerResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BulkReceiveCheerResponse {
repeated int64 playerId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+218
View File
@@ -0,0 +1,218 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "google/protobuf/timestamp.proto";
import "proto/data.proto";
package apb.api.gacha;
service GachaService {
rpc GetGachaList (GetGachaListRequest) returns (GetGachaListResponse);
rpc GetGacha (GetGachaRequest) returns (GetGachaResponse);
rpc Draw (DrawRequest) returns (DrawResponse);
rpc ResetBoxGacha (ResetBoxGachaRequest) returns (ResetBoxGachaResponse);
rpc GetRewardGacha (google.protobuf.Empty) returns (GetRewardGachaResponse);
rpc RewardDraw (RewardDrawRequest) returns (RewardDrawResponse);
}
message MenuGachaBadgeInfo {
google.protobuf.Timestamp displayStartDatetime = 1;
google.protobuf.Timestamp displayEndDatetime = 2;
}
message GetGachaListRequest {
repeated int32 gachaLabelType = 1;
}
message GetGachaListResponse {
repeated Gacha gacha = 1;
ConvertedGachaMedal convertedGachaMedal = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message Gacha {
int32 gachaId = 1;
int32 gachaLabelType = 2;
int32 gachaModeType = 4;
int32 gachaAutoResetType = 5;
int32 gachaAutoResetPeriod = 6;
google.protobuf.Timestamp nextAutoResetDatetime = 7;
repeated GachaUnlockCondition gachaUnlockCondition = 8;
bool isUserGachaUnlock = 9;
repeated GachaPricePhase gachaPricePhase = 10;
google.protobuf.Timestamp startDatetime = 13;
google.protobuf.Timestamp endDatetime = 14;
oneof gacha_mode {
GachaModeBasic gachaModeBasic = 16;
GachaModeStepupComposition gachaModeStepupComposition = 17;
GachaModeBoxComposition gachaModeBoxComposition = 18;
}
int32 relatedMainQuestChapterId = 19;
int32 promotionMovieAssetId = 20;
int32 relatedEventQuestChapterId = 21;
int32 gachaMedalId = 22;
int32 gachaDecorationType = 23;
int32 sortOrder = 24;
bool isInactive = 25;
int32 informationId = 26;
}
message GachaModeBasic {
string naviCharacterCommentAssetName = 1;
string gachaAssetName = 2;
repeated GachaOddsItem promotionGachaOddsItem = 3;
}
message GachaOddsItem {
GachaItem gachaItem = 1;
GachaItem gachaItemBonus = 2;
int32 maxDrawableCount = 3;
int32 drewCount = 4;
bool isTarget = 5;
}
message GachaModeStepupComposition {
int32 gachaStepGroupId = 1;
int32 stepNumber = 2;
int32 currentStepNumber = 3;
string naviCharacterCommentAssetName = 4;
string gachaAssetName = 5;
repeated GachaOddsItem promotionGachaOddsItem = 6;
int32 currentLoopCount = 7;
}
message GachaModeBoxComposition {
int32 gachaBoxGroupId = 1;
int32 boxNumber = 2;
int32 currentBoxNumber = 3;
bool isCurrentBoxResettable = 4;
string naviCharacterCommentAssetName = 5;
string gachaAssetName = 6;
repeated GachaOddsItem promotionGachaOddsItem = 7;
int32 gachaPricePhaseId = 8;
bool isAlreadyDrawn = 9;
bool isResettableByDrawingAllTargets = 10;
bool isInvalidReset = 11;
bool isHideMultipleDrawButton = 12;
int32 gachaDescriptionTextId = 13;
}
message GachaUnlockCondition {
int32 gachaUnlockConditionType = 1;
int32 conditionValue = 2;
}
message GachaPricePhase {
int32 gachaPricePhaseId = 1;
google.protobuf.Timestamp endDatetime = 2;
int32 limitExecCount = 3;
int32 userExecCount = 4;
int32 priceType = 5;
int32 priceId = 6;
int32 price = 7;
int32 regularPrice = 8;
int32 drawCount = 9;
int32 eachMaxExecCount = 10;
repeated GachaBonus gachaBonus = 11;
GachaOddsFixedRarity gachaOddsFixedRarity = 12;
bool isEnabled = 13;
int32 gachaBadgeType = 14;
}
message GachaBonus {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message GachaOddsFixedRarity {
int32 fixedRarityTypeLowerLimit = 1;
int32 fixedCount = 2;
}
message ConvertedGachaMedal {
repeated ConsumableItemPossession convertedMedalPossession = 1;
ConsumableItemPossession obtainPossession = 2;
}
message ConsumableItemPossession {
int32 consumableItemId = 1;
int32 count = 2;
}
message GetGachaRequest {
repeated int32 gachaId = 1;
}
message GetGachaResponse {
map<int32, Gacha> gacha = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DrawRequest {
int32 gachaId = 1;
int32 gachaPricePhaseId = 2;
int32 execCount = 3;
string consumeUserWeaponUuid = 4;
}
message DrawResponse {
Gacha nextGacha = 1;
repeated DrawGachaOddsItem gachaResult = 2;
repeated GachaBonus gachaBonus = 3;
repeated MenuGachaBadgeInfo menuGachaBadgeInfo = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message DrawGachaOddsItem {
GachaItem gachaItem = 1;
GachaItem gachaItemBonus = 2;
int32 duplicationBonusGrade = 3;
repeated GachaBonus duplicationBonus = 4;
GachaBonus medalBonus = 5;
bool isTarget = 6;
}
message GachaItem {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
int32 promotionOrder = 4;
bool isNew = 5;
}
message ResetBoxGachaRequest {
int32 gachaId = 1;
}
message ResetBoxGachaResponse {
Gacha gacha = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetRewardGachaResponse {
bool available = 1;
int32 todaysCurrentDrawCount = 2;
int32 dailyMaxCount = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RewardDrawRequest {
string placementName = 1;
string rewardName = 2;
string rewardAmount = 3;
}
message RewardDrawResponse {
repeated RewardGachaItem rewardGachaResult = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RewardGachaItem {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
bool isNew = 4;
}
+24
View File
@@ -0,0 +1,24 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/gacha.proto";
import "proto/data.proto";
package apb.api.gameplay;
service GamePlayService {
rpc CheckBeforeGamePlay (CheckBeforeGamePlayRequest) returns (CheckBeforeGamePlayResponse);
}
message CheckBeforeGamePlayRequest {
string tr = 1;
int32 voiceClientSystemLanguageTypeId = 2;
int32 textClientSystemLanguageTypeId = 3;
}
message CheckBeforeGamePlayResponse {
bool isExistUnreadPop = 1;
repeated apb.api.gacha.MenuGachaBadgeInfo menuGachaBadgeInfo = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+68
View File
@@ -0,0 +1,68 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "google/protobuf/timestamp.proto";
package apb.api.gift;
service GiftService {
rpc ReceiveGift (ReceiveGiftRequest) returns (ReceiveGiftResponse);
rpc GetGiftList (GetGiftListRequest) returns (GetGiftListResponse);
rpc GetGiftReceiveHistoryList (google.protobuf.Empty) returns (GetGiftReceiveHistoryListResponse);
}
message ReceiveGiftRequest {
repeated string userGiftUuid = 1;
}
message ReceiveGiftResponse {
repeated string receivedGiftUuid = 1;
repeated string expiredGiftUuid = 2;
repeated string overflowGiftUuid = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetGiftListRequest {
repeated int32 rewardKindType = 1;
int32 expirationType = 2;
bool isAscendingSort = 3;
int64 nextCursor = 4;
int64 previousCursor = 5;
int32 getCount = 6;
}
message GetGiftListResponse {
repeated NotReceivedGift gift = 1;
int32 totalPageCount = 2;
int64 nextCursor = 3;
int64 previousCursor = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message NotReceivedGift {
GiftCommon giftCommon = 1;
google.protobuf.Timestamp expirationDatetime = 2;
string userGiftUuid = 3;
}
message GiftCommon {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
google.protobuf.Timestamp grantDatetime = 4;
int32 descriptionGiftTextId = 5;
bytes equipmentData = 6;
}
message GetGiftReceiveHistoryListResponse {
repeated ReceivedGift gift = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceivedGift {
GiftCommon giftCommon = 1;
google.protobuf.Timestamp receivedDatetime = 2;
}
+64
View File
@@ -0,0 +1,64 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.gimmick;
service GimmickService {
rpc UpdateSequence (UpdateSequenceRequest) returns (UpdateSequenceResponse);
rpc UpdateGimmickProgress (UpdateGimmickProgressRequest) returns (UpdateGimmickProgressResponse);
rpc InitSequenceSchedule (google.protobuf.Empty) returns (InitSequenceScheduleResponse);
rpc Unlock (UnlockRequest) returns (UnlockResponse);
}
message UpdateSequenceRequest {
int32 gimmickSequenceScheduleId = 1;
int32 gimmickSequenceId = 2;
}
message UpdateSequenceResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateGimmickProgressRequest {
int32 gimmickSequenceScheduleId = 1;
int32 gimmickSequenceId = 2;
int32 gimmickId = 3;
int32 gimmickOrnamentIndex = 4;
int32 progressValueBit = 5;
int32 flowType = 6;
}
message UpdateGimmickProgressResponse {
repeated GimmickReward gimmickOrnamentReward = 1;
bool isSequenceCleared = 2;
repeated GimmickReward gimmickSequenceClearReward = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GimmickReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message InitSequenceScheduleResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UnlockRequest {
repeated GimmickKey gimmickKey = 1;
}
message GimmickKey {
int32 gimmickSequenceScheduleId = 1;
int32 gimmickSequenceId = 2;
int32 gimmickId = 3;
}
message UnlockResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+17
View File
@@ -0,0 +1,17 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.individualpop;
service IndividualpopService {
rpc GetUnreadPop (google.protobuf.Empty) returns (GetUnreadPopResponse);
}
message GetUnreadPopResponse {
repeated string unreadPop = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+54
View File
@@ -0,0 +1,54 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.labyrinth;
service LabyrinthService {
rpc UpdateSeasonData (UpdateSeasonDataRequest) returns (UpdateSeasonDataResponse);
rpc ReceiveStageClearReward (ReceiveStageClearRewardRequest) returns (ReceiveStageClearRewardResponse);
rpc ReceiveStageAccumulationReward (ReceiveStageAccumulationRewardRequest) returns (ReceiveStageAccumulationRewardResponse);
}
message LabyrinthSeasonResult {
int32 eventQuestChapterId = 1;
int32 headQuestId = 2;
repeated LabyrinthReward seasonReward = 3;
int32 headStageOrder = 4;
}
message LabyrinthReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message UpdateSeasonDataRequest {
int32 eventQuestChapterId = 1;
}
message UpdateSeasonDataResponse {
repeated LabyrinthSeasonResult seasonResult = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveStageClearRewardRequest {
int32 eventQuestChapterId = 1;
int32 stageOrder = 2;
}
message ReceiveStageClearRewardResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveStageAccumulationRewardRequest {
int32 eventQuestChapterId = 1;
int32 stageOrder = 2;
int32 questMissionClearCount = 3;
}
message ReceiveStageAccumulationRewardResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+16
View File
@@ -0,0 +1,16 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.loginBonus;
service LoginBonusService {
rpc ReceiveStamp (google.protobuf.Empty) returns (ReceiveStampResponse);
}
message ReceiveStampResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+24
View File
@@ -0,0 +1,24 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.material;
service MaterialService {
rpc Sell (MaterialSellRequest) returns (MaterialSellResponse);
}
message MaterialSellRequest {
repeated MaterialSellPossession materialPossession = 1;
}
message MaterialSellPossession {
int32 materialId = 1;
int32 count = 2;
}
message MaterialSellResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+70
View File
@@ -0,0 +1,70 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.mission;
service MissionService {
rpc ReceiveMissionRewardsById (ReceiveMissionRewardsByIdRequest) returns (ReceiveMissionRewardsResponse);
rpc UpdateMissionProgress (UpdateMissionProgressRequest) returns (UpdateMissionProgressResponse);
rpc ReceiveMissionPassRewards (ReceiveMissionPassRewardsRequest) returns (ReceiveMissionPassRewardsResponse);
}
message CageMeasurableValues {
int32 runningDistanceMeters = 1;
int32 mamaTappedCount = 2;
}
message ReceiveMissionRewardsByIdRequest {
repeated int32 missionId = 1;
}
message ReceiveMissionRewardsResponse {
repeated MissionReward receivedPossession = 1;
repeated MissionReward expiredPossession = 2;
repeated MissionReward overflowPossession = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message MissionReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message UpdateMissionProgressRequest {
CageMeasurableValues cageMeasurableValues = 50;
PictureBookMeasurableValues pictureBookMeasurableValues = 51;
}
message PictureBookMeasurableValues {
int32 defeatWizardCount = 1;
RhythmInteractionMeasurableValues rhythmInteractionMeasurableValues = 2;
}
message RhythmInteractionMeasurableValues {
int32 liveTypeId = 1;
int32 tapCount = 2;
}
message UpdateMissionProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveMissionPassRewardsRequest {
int32 missionPassId = 1;
}
message ReceiveMissionPassRewardsResponse {
repeated MissionPassReward receivedPossession = 1;
repeated MissionPassReward overflowPossession = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message MissionPassReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
+19
View File
@@ -0,0 +1,19 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.movie;
service MovieService {
rpc SaveViewedMovie (SaveViewedMovieRequest) returns (SaveViewedMovieResponse);
}
message SaveViewedMovieRequest {
repeated int32 movieId = 1;
}
message SaveViewedMovieResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+19
View File
@@ -0,0 +1,19 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.navicutin;
service NaviCutInService {
rpc RegisterPlayed (RegisterPlayedRequest) returns (RegisterPlayedResponse);
}
message RegisterPlayedRequest {
int32 naviCutId = 1;
}
message RegisterPlayedResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+19
View File
@@ -0,0 +1,19 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.notification;
service NotificationService {
rpc GetHeaderNotification (google.protobuf.Empty) returns (GetHeaderNotificationResponse);
}
message GetHeaderNotificationResponse {
int32 giftNotReceiveCount = 1;
int32 friendRequestReceiveCount = 2;
bool isExistUnreadInformation = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+27
View File
@@ -0,0 +1,27 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.omikuji;
service OmikujiService {
rpc OmikujiDraw (OmikujiDrawRequest) returns (OmikujiDrawResponse);
}
message OmikujiDrawRequest {
int32 omikujiId = 1;
}
message OmikujiDrawResponse {
int32 omikujiResultAssetId = 1;
repeated OmikujiItem omikujiItem = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message OmikujiItem {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
+108
View File
@@ -0,0 +1,108 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.parts;
service PartsService {
rpc Sell (PartsSellRequest) returns (PartsSellResponse);
rpc Protect (PartsProtectRequest) returns (PartsProtectResponse);
rpc Unprotect (PartsUnprotectRequest) returns (PartsUnprotectResponse);
rpc Enhance (PartsEnhanceRequest) returns (PartsEnhanceResponse);
rpc UpdatePresetName (PartsUpdatePresetNameRequest) returns (PartsUpdatePresetNameResponse);
rpc UpdatePresetTagNumber (PartsUpdatePresetTagNumberRequest) returns (PartsUpdatePresetTagNumberResponse);
rpc UpdatePresetTagName (PartsUpdatePresetTagNameRequest) returns (PartsUpdatePresetTagNameResponse);
rpc ReplacePreset (PartsReplacePresetRequest) returns (PartsReplacePresetResponse);
rpc CopyPreset (PartsCopyPresetRequest) returns (PartsCopyPresetResponse);
rpc RemovePreset (PartsRemovePresetRequest) returns (PartsRemovePresetResponse);
}
message PartsSellRequest {
repeated string userPartsUuid = 1;
}
message PartsSellResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PartsProtectRequest {
repeated string userPartsUuid = 1;
}
message PartsProtectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PartsUnprotectRequest {
repeated string userPartsUuid = 1;
}
message PartsUnprotectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PartsEnhanceRequest {
string userPartsUuid = 1;
}
message PartsEnhanceResponse {
bool isSuccess = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PartsUpdatePresetNameRequest {
int32 userPartsPresetNumber = 1;
string name = 2;
}
message PartsUpdatePresetNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PartsUpdatePresetTagNumberRequest {
int32 userPartsPresetNumber = 1;
int32 userPartsPresetTagNumber = 2;
}
message PartsUpdatePresetTagNumberResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PartsUpdatePresetTagNameRequest {
int32 userPartsPresetTagNumber = 1;
string name = 2;
}
message PartsUpdatePresetTagNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PartsReplacePresetRequest {
int32 userPartsPresetNumber = 1;
string userPartsUuid01 = 2;
string userPartsUuid02 = 3;
string userPartsUuid03 = 4;
}
message PartsReplacePresetResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PartsCopyPresetRequest {
int32 fromUserPartsPresetNumber = 1;
int32 toUserPartsPresetNumber = 2;
}
message PartsCopyPresetResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PartsRemovePresetRequest {
int32 userPartsPresetNumber = 1;
}
message PartsRemovePresetResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+32
View File
@@ -0,0 +1,32 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.portalcage;
service PortalCageService {
rpc UpdatePortalCageSceneProgress (UpdatePortalCageSceneProgressRequest) returns (UpdatePortalCageSceneProgressResponse);
rpc GetDropItem (google.protobuf.Empty) returns (GetDropItemResponse);
}
message UpdatePortalCageSceneProgressRequest {
int32 portalCageSceneId = 1;
}
message UpdatePortalCageSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetDropItemResponse {
repeated PortalCageDropItem portalCageDropItem = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PortalCageDropItem {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
+279
View File
@@ -0,0 +1,279 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "google/protobuf/timestamp.proto";
package apb.api.pvp;
service PvpService {
rpc GetTopData (google.protobuf.Empty) returns (GetTopDataResponse);
rpc GetMatchingList (google.protobuf.Empty) returns (GetMatchingListResponse);
rpc UpdateMatchingList (google.protobuf.Empty) returns (UpdateMatchingListResponse);
rpc StartBattle (StartBattleRequest) returns (StartBattleResponse);
rpc FinishBattle (FinishBattleRequest) returns (FinishBattleResponse);
rpc GetRanking (GetRankingRequest) returns (GetRankingResponse);
rpc GetSeasonResult (google.protobuf.Empty) returns (GetSeasonResultResponse);
rpc GetAttackLogList (google.protobuf.Empty) returns (GetAttackLogListResponse);
rpc GetDefenseLogList (google.protobuf.Empty) returns (GetDefenseLogListResponse);
}
message WeeklyGradeResult {
int32 targetSeasonId = 1;
int32 pvpPoint = 2;
int32 pvpGradeWeeklyRewardGroupId = 3;
}
message SeasonRankResult {
int32 targetSeasonId = 1;
int32 rank = 2;
int32 pvpSeasonRankRewardGroupId = 3;
}
message WeeklyRankResult {
int32 targetSeasonId = 1;
int32 rank = 2;
int32 pvpWeeklyRankRewardGroupId = 3;
}
message GetTopDataResponse {
int32 currentSeasonId = 1;
int32 pvpPoint = 2;
int32 rank = 3;
WeeklyGradeResult weeklyGradeResult = 4;
SeasonRankResult seasonRankResult = 5;
WeeklyRankResult weeklyRankResult = 6;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetMatchingListResponse {
repeated MatchingOpponent matching = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message MatchingOpponent {
int64 playerId = 1;
string name = 2;
int32 pvpPoint = 3;
int32 rank = 4;
int32 deckPower = 5;
repeated int32 deckMainWeaponAttributeType = 6;
int32 mostPowerfulCostumeId = 7;
}
message UpdateMatchingListResponse {
repeated MatchingOpponent matching = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message StartBattleRequest {
int64 opponentPlayerId = 1;
int32 useDeckNumber = 2;
}
message StartBattleResponse {
repeated PvpDeckCharacter opponentDeckCharacter = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PvpDeckCharacter {
CostumeInfo costume = 1;
CompanionInfo companion = 2;
WeaponInfo mainWeapon = 3;
repeated WeaponInfo subWeapon = 4;
repeated PartsInfo parts = 5;
repeated CharacterBoardAbilityInfo characterBoardAbilities = 6;
repeated CharacterBoardStatusUpInfo characterBoardStatusUps = 7;
repeated CostumeLevelBonusStatusUpInfo costumeLevelBonusStatusUps = 8;
repeated AwakenAbilityInfo awakenAbilities = 9;
repeated AwakenStatusUpInfo awakenStatusUps = 10;
ThoughtInfo thought = 11;
repeated StainedGlassStatusUpInfo stainedGlassStatusUps = 12;
repeated CostumeLotteryEffectAbilityInfo costumeLotteryEffectAbilities = 13;
repeated CostumeLotteryEffectStatusUpInfo costumeLotteryEffectStatusUps = 14;
}
message CostumeInfo {
int32 costumeId = 1;
int32 limitBreakCount = 2;
int32 level = 3;
int32 activeSkillLevel = 4;
int32 characterLevel = 5;
int32 costumeLotteryEffectUnlockedSlotCount = 6;
}
message CompanionInfo {
int32 companionId = 1;
int32 level = 2;
}
message WeaponInfo {
int32 weaponId = 1;
int32 limitBreakCount = 2;
int32 level = 3;
repeated WeaponAbilityInfo weaponAbility = 4;
repeated WeaponSkillInfo weaponSkill = 5;
AwakenAbilityInfo weaponAwakenAbility = 6;
repeated AwakenStatusUpInfo weaponAwakenStatusUps = 7;
}
message WeaponAbilityInfo {
int32 abilityId = 1;
int32 level = 2;
}
message WeaponSkillInfo {
int32 skillId = 1;
int32 level = 2;
}
message AwakenAbilityInfo {
int32 abilityId = 1;
int32 level = 2;
}
message AwakenStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message PartsInfo {
int32 partsId = 1;
int32 level = 2;
int32 partsMainStatusId = 3;
repeated PartsSubStatusInfo subPartsStatus = 4;
}
message PartsSubStatusInfo {
int32 level = 1;
int32 statusKindType = 2;
int32 statusCalculationType = 3;
int32 statusChangeValue = 4;
}
message CharacterBoardAbilityInfo {
int32 abilityId = 1;
int32 level = 2;
}
message CharacterBoardStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message CostumeLevelBonusStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message ThoughtInfo {
int32 thoughtId = 1;
}
message StainedGlassStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message CostumeLotteryEffectAbilityInfo {
int32 abilityId = 1;
int32 level = 2;
}
message CostumeLotteryEffectStatusUpInfo {
int32 statusCalculationType = 1;
int32 hp = 2;
int32 attack = 3;
int32 vitality = 4;
int32 agility = 5;
int32 criticalRatio = 6;
int32 criticalAttack = 7;
}
message FinishBattleRequest {
int64 opponentPlayerId = 1;
bool isVictory = 2;
}
message FinishBattleResponse {
int32 beforePvpPoint = 1;
int32 beforeRank = 2;
int32 afterPvpPoint = 3;
int32 afterRank = 4;
int32 pvpGradeOneMatchRewardId = 5;
int32 pvpGradeGroupId = 6;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetRankingRequest {
int32 rankFrom = 1;
}
message GetRankingResponse {
repeated RankingUser rankingUser = 1;
int32 userCount = 2;
int32 rankingPosition = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RankingUser {
int32 rank = 1;
int64 playerId = 2;
string name = 3;
int32 pvpPoint = 4;
int32 deckPower = 5;
int32 favoriteCostumeId = 6;
}
message GetSeasonResultResponse {
int32 attackWinCount = 1;
int32 attackLoseCount = 2;
int32 attackPvpPoint = 3;
int32 defenseWinRatePermil = 4;
int32 defensePvpPoint = 5;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetAttackLogListResponse {
repeated BattleLog attackLog = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BattleLog {
int64 playerId = 1;
string name = 2;
int32 pvpPoint = 3;
int32 deckPower = 4;
repeated int32 deckCostumeId = 5;
bool isVictory = 6;
google.protobuf.Timestamp battleDatetime = 7;
int32 fluctuatedPvpPoint = 8;
int32 rank = 9;
}
message GetDefenseLogListResponse {
repeated BattleLog defenseLog = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+333
View File
@@ -0,0 +1,333 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "proto/mission.proto";
package apb.api.quest;
service QuestService {
rpc UpdateMainFlowSceneProgress (UpdateMainFlowSceneProgressRequest) returns (UpdateMainFlowSceneProgressResponse);
rpc UpdateReplayFlowSceneProgress (UpdateReplayFlowSceneProgressRequest) returns (UpdateReplayFlowSceneProgressResponse);
rpc UpdateMainQuestSceneProgress (UpdateMainQuestSceneProgressRequest) returns (UpdateMainQuestSceneProgressResponse);
rpc UpdateExtraQuestSceneProgress (UpdateExtraQuestSceneProgressRequest) returns (UpdateExtraQuestSceneProgressResponse);
rpc UpdateEventQuestSceneProgress (UpdateEventQuestSceneProgressRequest) returns (UpdateEventQuestSceneProgressResponse);
rpc StartMainQuest (StartMainQuestRequest) returns (StartMainQuestResponse);
rpc RestartMainQuest (RestartMainQuestRequest) returns (RestartMainQuestResponse);
rpc FinishMainQuest (FinishMainQuestRequest) returns (FinishMainQuestResponse);
rpc StartExtraQuest (StartExtraQuestRequest) returns (StartExtraQuestResponse);
rpc RestartExtraQuest (RestartExtraQuestRequest) returns (RestartExtraQuestResponse);
rpc FinishExtraQuest (FinishExtraQuestRequest) returns (FinishExtraQuestResponse);
rpc StartEventQuest (StartEventQuestRequest) returns (StartEventQuestResponse);
rpc RestartEventQuest (RestartEventQuestRequest) returns (RestartEventQuestResponse);
rpc FinishEventQuest (FinishEventQuestRequest) returns (FinishEventQuestResponse);
rpc FinishAutoOrbit (google.protobuf.Empty) returns (FinishAutoOrbitResponse);
rpc SetRoute (SetRouteRequest) returns (SetRouteResponse);
rpc SetQuestSceneChoice (SetQuestSceneChoiceRequest) returns (SetQuestSceneChoiceResponse);
rpc ReceiveTowerAccumulationReward (ReceiveTowerAccumulationRewardRequest) returns (ReceiveTowerAccumulationRewardResponse);
rpc SkipQuest (SkipQuestRequest) returns (SkipQuestResponse);
rpc SkipQuestBulk (SkipQuestBulkRequest) returns (SkipQuestBulkResponse);
rpc SetAutoSaleSetting (SetAutoSaleSettingRequest) returns (SetAutoSaleSettingResponse);
rpc StartGuerrillaFreeOpen (google.protobuf.Empty) returns (StartGuerrillaFreeOpenResponse);
rpc ResetLimitContentQuestProgress (ResetLimitContentQuestProgressRequest) returns (ResetLimitContentQuestProgressResponse);
rpc ReceiveDailyQuestGroupCompleteReward (google.protobuf.Empty) returns (ReceiveDailyQuestGroupCompleteRewardResponse);
}
message UpdateMainFlowSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateMainFlowSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateReplayFlowSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateReplayFlowSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateMainQuestSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateMainQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateExtraQuestSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateExtraQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateEventQuestSceneProgressRequest {
int32 questSceneId = 1;
}
message UpdateEventQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message StartMainQuestRequest {
int32 questId = 1;
bool isMainFlow = 2;
int32 userDeckNumber = 3;
bool isBattleOnly = 4;
int32 maxAutoOrbitCount = 5;
bool isReplayFlow = 6;
apb.api.mission.CageMeasurableValues cageMeasurableValues = 50;
}
message StartMainQuestResponse {
repeated BattleDropReward battleDropReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message BattleDropReward {
int32 questSceneId = 1;
int32 battleDropCategoryId = 2;
int32 battleDropEffectId = 3;
}
message RestartMainQuestRequest {
int32 questId = 1;
bool isMainFlow = 2;
}
message RestartMainQuestResponse {
repeated BattleDropReward battleDropReward = 1;
bytes battleBinary = 2;
int32 deckNumber = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishMainQuestRequest {
int32 questId = 1;
bool isRetired = 2;
bool isMainFlow = 3;
bool isAnnihilated = 4;
bool isAutoOrbit = 5;
int32 storySkipType = 6;
bool isReplayFlow = 7;
string vt = 200;
}
message FinishMainQuestResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward firstClearReward = 2;
repeated QuestReward missionClearReward = 3;
repeated QuestReward missionClearCompleteReward = 4;
repeated QuestReward autoOrbitResult = 5;
bool isBigWin = 6;
repeated int32 bigWinClearedQuestMissionIdList = 7;
repeated QuestReward replayFlowFirstClearReward = 8;
repeated QuestReward userStatusCampaignReward = 9;
QuestAutoOrbitResult autoOrbitReward = 10;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message QuestReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
int32 rewardEffectId = 4;
bool isAutoSale = 5;
bytes equipmentData = 6;
}
message QuestAutoOrbitResult {
repeated QuestReward dropReward = 1;
repeated QuestReward userStatusCampaignReward = 2;
}
message StartExtraQuestRequest {
int32 questId = 1;
int32 userDeckNumber = 2;
}
message StartExtraQuestResponse {
repeated BattleDropReward battleDropReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RestartExtraQuestRequest {
int32 questId = 1;
}
message RestartExtraQuestResponse {
repeated BattleDropReward battleDropReward = 1;
bytes battleBinary = 2;
int32 deckNumber = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishExtraQuestRequest {
int32 questId = 1;
bool isRetired = 2;
bool isAnnihilated = 3;
int32 storySkipType = 4;
string vt = 200;
}
message FinishExtraQuestResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward firstClearReward = 2;
repeated QuestReward missionClearReward = 3;
repeated QuestReward missionClearCompleteReward = 4;
bool isBigWin = 5;
repeated int32 bigWinClearedQuestMissionIdList = 6;
repeated QuestReward userStatusCampaignReward = 7;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message StartEventQuestRequest {
int32 eventQuestChapterId = 1;
int32 questId = 2;
int32 userDeckNumber = 3;
bool isBattleOnly = 4;
int32 maxAutoOrbitCount = 5;
}
message StartEventQuestResponse {
repeated BattleDropReward battleDropReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message RestartEventQuestRequest {
int32 eventQuestChapterId = 1;
int32 questId = 2;
}
message RestartEventQuestResponse {
repeated BattleDropReward battleDropReward = 1;
bytes battleBinary = 2;
int32 deckNumber = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishEventQuestRequest {
int32 eventQuestChapterId = 1;
int32 questId = 2;
bool isRetired = 3;
bool isAnnihilated = 4;
bool isAutoOrbit = 5;
int32 storySkipType = 6;
string vt = 200;
}
message FinishEventQuestResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward firstClearReward = 2;
repeated QuestReward missionClearReward = 3;
repeated QuestReward missionClearCompleteReward = 4;
repeated QuestReward autoOrbitResult = 5;
bool isBigWin = 6;
repeated int32 bigWinClearedQuestMissionIdList = 7;
repeated QuestReward userStatusCampaignReward = 8;
QuestAutoOrbitResult autoOrbitReward = 9;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message FinishAutoOrbitResponse {
repeated QuestReward autoOrbitResult = 1;
QuestAutoOrbitResult autoOrbitReward = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetRouteRequest {
int32 mainQuestRouteId = 1;
}
message SetRouteResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetQuestSceneChoiceRequest {
int32 questSceneId = 1;
int32 choiceNumber = 2;
int32 questFlowType = 3;
}
message SetQuestSceneChoiceResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveTowerAccumulationRewardRequest {
int32 eventQuestChapterId = 1;
int32 targetMissionClearCount = 2;
}
message ReceiveTowerAccumulationRewardResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SkipQuestRequest {
int32 questId = 1;
int32 questType = 2;
int32 userDeckNumber = 3;
int32 skipCount = 4;
repeated UseEffectItem useEffectItem = 5;
int32 questChapterId = 6;
}
message UseEffectItem {
int32 consumableItemId = 1;
int32 count = 2;
}
message SkipQuestResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward userStatusCampaignReward = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SkipQuestBulkRequest {
repeated SkipQuestInfo skipQuestInfo = 1;
int32 userDeckNumber = 2;
repeated UseEffectItem useEffectItem = 3;
}
message SkipQuestInfo {
int32 questId = 1;
int32 questType = 2;
int32 questChapterId = 3;
int32 skipCount = 4;
}
message SkipQuestBulkResponse {
repeated QuestReward dropReward = 1;
repeated QuestReward userStatusCampaignReward = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetAutoSaleSettingRequest {
map<int32, string> autoSaleSettingItem = 1;
}
message SetAutoSaleSettingResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message StartGuerrillaFreeOpenResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ResetLimitContentQuestProgressRequest {
int32 eventQuestChapterId = 1;
int32 questId = 2;
}
message ResetLimitContentQuestProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveDailyQuestGroupCompleteRewardResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+43
View File
@@ -0,0 +1,43 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/pvp.proto";
import "proto/data.proto";
import "proto/bighunt.proto";
import "proto/labyrinth.proto";
package apb.api.reward;
service RewardService {
rpc ReceivePvpReward (google.protobuf.Empty) returns (ReceivePvpRewardResponse);
rpc ReceiveBigHuntReward (google.protobuf.Empty) returns (ReceiveBigHuntRewardResponse);
rpc ReceiveLabyrinthSeasonReward (google.protobuf.Empty) returns (ReceiveLabyrinthSeasonRewardResponse);
rpc ReceiveMissionPassRemainingReward (google.protobuf.Empty) returns (ReceiveMissionPassRemainingRewardResponse);
}
message ReceivePvpRewardResponse {
apb.api.pvp.WeeklyGradeResult weeklyGradeResult = 1;
apb.api.pvp.SeasonRankResult seasonRankResult = 2;
apb.api.pvp.WeeklyRankResult weeklyRankResult = 3;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveBigHuntRewardResponse {
repeated apb.api.bighunt.WeeklyScoreResult weeklyScoreResult = 1;
repeated apb.api.bighunt.BigHuntReward weeklyScoreReward = 2;
bool isReceivedWeeklyScoreReward = 3;
repeated apb.api.bighunt.BigHuntReward lastWeekWeeklyScoreReward = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveLabyrinthSeasonRewardResponse {
repeated apb.api.labyrinth.LabyrinthSeasonResult seasonResult = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ReceiveMissionPassRemainingRewardResponse {
int32 rewardReceivedMissionPassId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+73
View File
@@ -0,0 +1,73 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
package apb.api.shop;
service ShopService {
rpc Buy (BuyRequest) returns (BuyResponse);
rpc RefreshUserData (RefreshRequest) returns (RefreshResponse);
rpc GetCesaLimit (google.protobuf.Empty) returns (GetCesaLimitResponse);
rpc CreatePurchaseTransaction (CreatePurchaseTransactionRequest) returns (CreatePurchaseTransactionResponse);
rpc PurchaseGooglePlayStoreProduct (PurchaseGooglePlayStoreProductRequest) returns (PurchaseGooglePlayStoreProductResponse);
}
message BuyRequest {
int32 shopId = 1;
map<int32, int32> shopItems = 2;
}
message BuyResponse {
repeated Possession overflowPossession = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message Possession {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message RefreshRequest {
bool isGemUsed = 1;
}
message RefreshResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetCesaLimitResponse {
repeated CesaLimit cesaLimit = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CesaLimit {
int32 age = 1;
int32 limit = 2;
}
message CreatePurchaseTransactionRequest {
int32 shopId = 1;
int32 shopItemId = 2;
string productId = 3;
string amazonUserId = 4;
}
message CreatePurchaseTransactionResponse {
string purchaseTransactionId = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message PurchaseGooglePlayStoreProductRequest {
string purchaseTransactionId = 1;
string purchaseData = 2;
string dataSignature = 3;
}
message PurchaseGooglePlayStoreProductResponse {
repeated Possession overflowPossession = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+29
View File
@@ -0,0 +1,29 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.sidestoryquest;
service SideStoryQuestService {
rpc MoveSideStoryQuestProgress (MoveSideStoryQuestRequest) returns (MoveSideStoryQuestResponse);
rpc UpdateSideStoryQuestSceneProgress (UpdateSideStoryQuestSceneProgressRequest) returns (UpdateSideStoryQuestSceneProgressResponse);
}
message MoveSideStoryQuestRequest {
int32 sideStoryQuestId = 1;
}
message MoveSideStoryQuestResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UpdateSideStoryQuestSceneProgressRequest {
int32 sideStoryQuestId = 1;
int32 sideStoryQuestSceneId = 2;
}
message UpdateSideStoryQuestSceneProgressResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+42
View File
@@ -0,0 +1,42 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
import "proto/deck.proto";
package apb.api.tutorial;
service TutorialService {
rpc SetTutorialProgress (SetTutorialProgressRequest) returns (SetTutorialProgressResponse);
rpc SetTutorialProgressAndReplaceDeck (SetTutorialProgressAndReplaceDeckRequest) returns (SetTutorialProgressAndReplaceDeckResponse);
}
message SetTutorialProgressRequest {
int32 tutorialType = 1;
int32 progressPhase = 2;
int32 choiceId = 3;
}
message SetTutorialProgressResponse {
repeated TutorialChoiceReward tutorialChoiceReward = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message TutorialChoiceReward {
int32 possessionType = 1;
int32 possessionId = 2;
int32 count = 3;
}
message SetTutorialProgressAndReplaceDeckRequest {
int32 tutorialType = 1;
int32 progressPhase = 2;
int32 deckType = 3;
int32 userDeckNumber = 4;
apb.api.deck.Deck deck = 5;
}
message SetTutorialProgressAndReplaceDeckResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+262
View File
@@ -0,0 +1,262 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "google/protobuf/empty.proto";
import "proto/data.proto";
import "google/protobuf/timestamp.proto";
package apb.api.user;
service UserService {
rpc RegisterUser (RegisterUserRequest) returns (RegisterUserResponse);
rpc TransferUser (TransferUserRequest) returns (TransferUserResponse);
rpc Auth (AuthUserRequest) returns (AuthUserResponse);
rpc GameStart (google.protobuf.Empty) returns (GameStartResponse);
rpc SetUserName (SetUserNameRequest) returns (SetUserNameResponse);
rpc SetUserMessage (SetUserMessageRequest) returns (SetUserMessageResponse);
rpc SetUserFavoriteCostumeId (SetUserFavoriteCostumeIdRequest) returns (SetUserFavoriteCostumeIdResponse);
rpc GetUserProfile (GetUserProfileRequest) returns (GetUserProfileResponse);
rpc SetBirthYearMonth (SetBirthYearMonthRequest) returns (SetBirthYearMonthResponse);
rpc GetBirthYearMonth (google.protobuf.Empty) returns (GetBirthYearMonthResponse);
rpc GetChargeMoney (google.protobuf.Empty) returns (GetChargeMoneyResponse);
rpc SetUserSetting (SetUserSettingRequest) returns (SetUserSettingResponse);
rpc GetAndroidArgs (GetAndroidArgsRequest) returns (GetAndroidArgsResponse);
rpc GetBackupToken (GetBackupTokenRequest) returns (GetBackupTokenResponse);
rpc CheckTransferSetting (google.protobuf.Empty) returns (CheckTransferSettingResponse);
rpc SetFacebookAccount (SetFacebookAccountRequest) returns (SetFacebookAccountResponse);
rpc UnsetFacebookAccount (google.protobuf.Empty) returns (UnsetFacebookAccountResponse);
rpc SetAppleAccount (SetAppleAccountRequest) returns (SetAppleAccountResponse);
rpc TransferUserByFacebook (TransferUserByFacebookRequest) returns (TransferUserByFacebookResponse);
rpc TransferUserByApple (TransferUserByAppleRequest) returns (TransferUserByAppleResponse);
rpc GetUserGamePlayNote (GetUserGamePlayNoteRequest) returns (GetUserGamePlayNoteResponse);
}
message RegisterUserRequest {
string uuid = 1;
string terminalId = 2;
string registerSignature = 3;
}
message RegisterUserResponse {
int64 userId = 1;
string signature = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message TransferUserRequest {
string uuid = 1;
}
message TransferUserResponse {
int64 userId = 1;
string signature = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message AuthUserRequest {
string uuid = 1;
string signature = 2;
string advertisingId = 3;
bool isTrackingEnabled = 4;
UserDeviceInherent deviceInherent = 5;
string tr = 6;
}
message UserDeviceInherent {
string identifierForVendor = 1;
string deviceToken = 2;
string macAddress = 3;
string registrationId = 4;
}
message AuthUserResponse {
string sessionKey = 1;
google.protobuf.Timestamp expireDatetime = 2;
string signature = 3;
int64 userId = 4;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GameStartResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetUserNameRequest {
string name = 1;
}
message SetUserNameResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetUserMessageRequest {
string message = 1;
}
message SetUserMessageResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetUserFavoriteCostumeIdRequest {
int32 favoriteCostumeId = 1;
}
message SetUserFavoriteCostumeIdResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetUserProfileRequest {
int64 playerId = 1;
}
message GetUserProfileResponse {
int32 level = 1;
string name = 2;
int32 favoriteCostumeId = 3;
string message = 4;
bool isFriend = 5;
ProfileDeck latestUsedDeck = 6;
ProfilePvpInfo pvpInfo = 7;
GamePlayHistory gamePlayHistory = 8;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ProfileDeck {
int32 power = 1;
repeated ProfileDeckCharacter deckCharacter = 2;
}
message ProfileDeckCharacter {
int32 costumeId = 1;
int32 mainWeaponId = 2;
int32 mainWeaponLevel = 3;
}
message ProfilePvpInfo {
int32 currentRank = 1;
int32 currentGradeId = 2;
int32 maxSeasonRank = 3;
}
message GamePlayHistory {
repeated PlayHistoryItem historyItem = 1;
repeated PlayHistoryCategoryGraphItem historyCategoryGraphItem = 2;
}
message PlayHistoryItem {
int32 historyItemId = 1;
int64 count = 2;
}
message PlayHistoryCategoryGraphItem {
int32 categoryTypeId = 1;
int32 progressPermil = 2;
}
message SetBirthYearMonthRequest {
int32 birthYear = 1;
int32 birthMonth = 2;
}
message SetBirthYearMonthResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetBirthYearMonthResponse {
int32 birthYear = 1;
int32 birthMonth = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetChargeMoneyResponse {
int64 chargeMoneyThisMonth = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetUserSettingRequest {
bool isNotifyPurchaseAlert = 1;
}
message SetUserSettingResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetAndroidArgsRequest {
string uuid = 1;
string signature = 2;
UserDeviceInherent deviceInherent = 3;
string packageName = 4;
}
message GetAndroidArgsResponse {
string nonce = 1;
string apiKey = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetBackupTokenRequest {
string uuid = 1;
}
message GetBackupTokenResponse {
string backupToken = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message CheckTransferSettingResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetFacebookAccountRequest {
string token = 1;
}
message SetFacebookAccountResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UnsetFacebookAccountResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message SetAppleAccountRequest {
string token = 1;
}
message SetAppleAccountResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message TransferUserByFacebookRequest {
string token = 1;
string uuid = 2;
string terminalId = 3;
}
message TransferUserByFacebookResponse {
int64 userId = 1;
string signature = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message TransferUserByAppleRequest {
string token = 1;
string uuid = 2;
string terminalId = 3;
}
message TransferUserByAppleResponse {
int64 userId = 1;
string signature = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message GetUserGamePlayNoteRequest {
int32 gamePlayHistoryTypeId = 1;
}
message GetUserGamePlayNoteResponse {
int32 progressValue = 1;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
+121
View File
@@ -0,0 +1,121 @@
syntax = "proto3";
option go_package = "lunar-tear/server/gen/proto;proto";
import "proto/data.proto";
package apb.api.weapon;
service WeaponService {
rpc Sell (SellRequest) returns (SellResponse);
rpc Protect (ProtectRequest) returns (ProtectResponse);
rpc Unprotect (UnprotectRequest) returns (UnprotectResponse);
rpc EnhanceByWeapon (EnhanceByWeaponRequest) returns (EnhanceByWeaponResponse);
rpc EnhanceByMaterial (EnhanceByMaterialRequest) returns (EnhanceByMaterialResponse);
rpc EnhanceSkill (EnhanceSkillRequest) returns (EnhanceSkillResponse);
rpc EnhanceAbility (EnhanceAbilityRequest) returns (EnhanceAbilityResponse);
rpc LimitBreakByWeapon (LimitBreakByWeaponRequest) returns (LimitBreakByWeaponResponse);
rpc LimitBreakByMaterial (LimitBreakByMaterialRequest) returns (LimitBreakByMaterialResponse);
rpc Evolve (EvolveRequest) returns (EvolveResponse);
rpc Awaken (WeaponAwakenRequest) returns (WeaponAwakenResponse);
}
message SellRequest {
repeated string userWeaponUuid = 1;
}
message SellResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message ProtectRequest {
repeated string userWeaponUuid = 1;
}
message ProtectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message UnprotectRequest {
repeated string userWeaponUuid = 1;
}
message UnprotectResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceByWeaponRequest {
string userWeaponUuid = 1;
repeated string materialUserWeaponUuids = 2;
}
message EnhanceByWeaponResponse {
bool isGreatSuccess = 1;
repeated string surplusEnhanceWeapon = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceByMaterialRequest {
string userWeaponUuid = 1;
map<int32, int32> materials = 2;
}
message EnhanceByMaterialResponse {
bool isGreatSuccess = 1;
map<int32, int32> surplusEnhanceMaterial = 2;
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceSkillRequest {
string userWeaponUuid = 1;
int32 skillId = 2;
int32 addLevelCount = 3;
}
message EnhanceSkillResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EnhanceAbilityRequest {
string userWeaponUuid = 1;
int32 abilityId = 2;
int32 addLevelCount = 3;
}
message EnhanceAbilityResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message LimitBreakByWeaponRequest {
string userWeaponUuid = 1;
repeated string materialUserWeaponUuids = 2;
}
message LimitBreakByWeaponResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message LimitBreakByMaterialRequest {
string userWeaponUuid = 1;
map<int32, int32> materials = 2;
}
message LimitBreakByMaterialResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message EvolveRequest {
string userWeaponUuid = 1;
}
message EvolveResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}
message WeaponAwakenRequest {
string userWeaponUuid = 1;
}
message WeaponAwakenResponse {
map<string, apb.api.data.DiffData> diffUserData = 99;
}