mirror of
https://github.com/Walter-Sparrow/lunar-tear.git
synced 2026-07-02 05:43:41 +03:00
Initial commit
This commit is contained in:
@@ -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;
|
||||
}
|
||||
Reference in New Issue
Block a user