back_recharge
zhangshanxue 2019-12-19 10:36:47 +08:00
commit 23b617fcde
24 changed files with 2105 additions and 2914 deletions

View File

@ -4942,6 +4942,24 @@ public final class PlayerInfoProto {
* </pre>
*/
int getVipDaily();
// optional int32 missingRefreshCount = 28;
/**
* <code>optional int32 missingRefreshCount = 28;</code>
*
* <pre>
*
* </pre>
*/
boolean hasMissingRefreshCount();
/**
* <code>optional int32 missingRefreshCount = 28;</code>
*
* <pre>
*
* </pre>
*/
int getMissingRefreshCount();
}
/**
* Protobuf type {@code com.ljsd.jieling.protocols.GetPlayerInfoResponse}
@ -5293,6 +5311,11 @@ public final class PlayerInfoProto {
vipDaily_ = input.readInt32();
break;
}
case 224: {
bitField0_ |= 0x00010000;
missingRefreshCount_ = input.readInt32();
break;
}
}
}
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
@ -6173,6 +6196,30 @@ public final class PlayerInfoProto {
return vipDaily_;
}
// optional int32 missingRefreshCount = 28;
public static final int MISSINGREFRESHCOUNT_FIELD_NUMBER = 28;
private int missingRefreshCount_;
/**
* <code>optional int32 missingRefreshCount = 28;</code>
*
* <pre>
*
* </pre>
*/
public boolean hasMissingRefreshCount() {
return ((bitField0_ & 0x00010000) == 0x00010000);
}
/**
* <code>optional int32 missingRefreshCount = 28;</code>
*
* <pre>
*
* </pre>
*/
public int getMissingRefreshCount() {
return missingRefreshCount_;
}
private void initFields() {
player_ = com.ljsd.jieling.protocols.CommonProto.Player.getDefaultInstance();
newPlayerGuidePoint_ = java.util.Collections.emptyList();
@ -6201,6 +6248,7 @@ public final class PlayerInfoProto {
playedMapTypes_ = java.util.Collections.emptyList();
amount_ = 0;
vipDaily_ = 0;
missingRefreshCount_ = 0;
}
private byte memoizedIsInitialized = -1;
public final boolean isInitialized() {
@ -6295,6 +6343,9 @@ public final class PlayerInfoProto {
if (((bitField0_ & 0x00008000) == 0x00008000)) {
output.writeInt32(27, vipDaily_);
}
if (((bitField0_ & 0x00010000) == 0x00010000)) {
output.writeInt32(28, missingRefreshCount_);
}
getUnknownFields().writeTo(output);
}
@ -6447,6 +6498,10 @@ public final class PlayerInfoProto {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(27, vipDaily_);
}
if (((bitField0_ & 0x00010000) == 0x00010000)) {
size += com.google.protobuf.CodedOutputStream
.computeInt32Size(28, missingRefreshCount_);
}
size += getUnknownFields().getSerializedSize();
memoizedSerializedSize = size;
return size;
@ -6662,6 +6717,8 @@ public final class PlayerInfoProto {
bitField0_ = (bitField0_ & ~0x02000000);
vipDaily_ = 0;
bitField0_ = (bitField0_ & ~0x04000000);
missingRefreshCount_ = 0;
bitField0_ = (bitField0_ & ~0x08000000);
return this;
}
@ -6845,6 +6902,10 @@ public final class PlayerInfoProto {
to_bitField0_ |= 0x00008000;
}
result.vipDaily_ = vipDaily_;
if (((from_bitField0_ & 0x08000000) == 0x08000000)) {
to_bitField0_ |= 0x00010000;
}
result.missingRefreshCount_ = missingRefreshCount_;
result.bitField0_ = to_bitField0_;
onBuilt();
return result;
@ -7083,6 +7144,9 @@ public final class PlayerInfoProto {
if (other.hasVipDaily()) {
setVipDaily(other.getVipDaily());
}
if (other.hasMissingRefreshCount()) {
setMissingRefreshCount(other.getMissingRefreshCount());
}
this.mergeUnknownFields(other.getUnknownFields());
return this;
}
@ -10012,6 +10076,55 @@ public final class PlayerInfoProto {
return this;
}
// optional int32 missingRefreshCount = 28;
private int missingRefreshCount_ ;
/**
* <code>optional int32 missingRefreshCount = 28;</code>
*
* <pre>
*
* </pre>
*/
public boolean hasMissingRefreshCount() {
return ((bitField0_ & 0x08000000) == 0x08000000);
}
/**
* <code>optional int32 missingRefreshCount = 28;</code>
*
* <pre>
*
* </pre>
*/
public int getMissingRefreshCount() {
return missingRefreshCount_;
}
/**
* <code>optional int32 missingRefreshCount = 28;</code>
*
* <pre>
*
* </pre>
*/
public Builder setMissingRefreshCount(int value) {
bitField0_ |= 0x08000000;
missingRefreshCount_ = value;
onChanged();
return this;
}
/**
* <code>optional int32 missingRefreshCount = 28;</code>
*
* <pre>
*
* </pre>
*/
public Builder clearMissingRefreshCount() {
bitField0_ = (bitField0_ & ~0x08000000);
missingRefreshCount_ = 0;
onChanged();
return this;
}
// @@protoc_insertion_point(builder_scope:com.ljsd.jieling.protocols.GetPlayerInfoResponse)
}
@ -92915,7 +93028,7 @@ public final class PlayerInfoProto {
"el_s\030\013 \001(\t\022\022\n\nplatform_s\030\014 \001(\t\"5\n\rLoginR" +
"esponse\022\022\n\nresultCode\030\001 \001(\005\022\020\n\010newToken\030",
"\002 \001(\t\"0\n\024GetPlayerInfoRequest\022\013\n\003num\030\001 \001" +
"(\005\022\013\n\003str\030\002 \001(\t\"\354\007\n\025GetPlayerInfoRespons" +
"(\005\022\013\n\003str\030\002 \001(\t\"\211\010\n\025GetPlayerInfoRespons" +
"e\0222\n\006player\030\001 \001(\0132\".com.ljsd.jieling.pro" +
"tocols.Player\022L\n\023newPlayerGuidePoint\030\002 \003" +
"(\0132/.com.ljsd.jieling.protocols.NewPlaye" +
@ -92940,261 +93053,262 @@ public final class PlayerInfoProto {
"ljsd.jieling.protocols.PlayerBindPhone\022\025" +
"\n\rQuestionState\030\027 \001(\005\022\025\n\rSoulEquipPool\030\030" +
" \001(\005\022\026\n\016playedMapTypes\030\031 \003(\005\022\016\n\006amount\030\032" +
" \001(\005\022\020\n\010vipDaily\030\033 \001(\005\"#\n\022GetItemInfoReq" +
"uest\022\r\n\005index\030\001 \001(\005\"_\n\023GetItemInfoRespon" +
"se\0222\n\010itemlist\030\001 \003(\0132 .com.ljsd.jieling." +
"protocols.Item\022\024\n\014isSendFinish\030\002 \001(\010\"L\n\026",
"GetAllMailInfoResponse\0222\n\010mialList\030\001 \003(\013" +
"2 .com.ljsd.jieling.protocols.Mail\"\212\001\n\026U" +
"seAndPriceItemRequest\022\014\n\004type\030\001 \001(\005\022\016\n\006i" +
"temId\030\002 \001(\005\022/\n\005items\030\003 \003(\0132 .com.ljsd.ji" +
"eling.protocols.Item\022\020\n\010equipIds\030\004 \003(\t\022\017" +
"\n\007heroIds\030\005 \003(\t\"I\n\027UseAndPriceItemRespon" +
"se\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jieling.prot" +
"ocols.Drop\"!\n\017MailReadRequest\022\016\n\006mailId\030" +
"\001 \001(\t\"\"\n\017TakeMailRequest\022\017\n\007mailIds\030\001 \003(" +
"\t\"B\n\020TakeMailResponse\022.\n\004drop\030\001 \001(\0132 .co",
"m.ljsd.jieling.protocols.Drop\"=\n\031WorkSho" +
"pFoundationRequest\022\022\n\nmaterialId\030\001 \001(\005\022\014" +
"\n\004nums\030\002 \001(\005\"N\n\032WorkShopEquipCreateReque" +
"st\022\020\n\010equipTid\030\001 \001(\005\022\020\n\010runneIds\030\002 \003(\005\022\014" +
"\n\004nums\030\003 \001(\005\"[\n\033WorkShopEquipCreateRespo" +
"nse\022\014\n\004type\030\001 \001(\005\022.\n\004drop\030\002 \001(\0132 .com.lj" +
"sd.jieling.protocols.Drop\"B\n\026WorkShopReb" +
"uildRequest\022\017\n\007equipId\030\001 \001(\t\022\027\n\017consumeE" +
"quipIds\030\002 \003(\t\"L\n\030WorkShopRebuildRespoons" +
"e\0220\n\005equip\030\001 \001(\0132!.com.ljsd.jieling.prot",
"ocols.Equip\"=\n\032WorkTechnologyLevelReques" +
"t\022\n\n\002id\030\001 \001(\005\022\023\n\013targetLevel\030\002 \001(\005\">\n\033Wo" +
"rkTechnologyLevelResponse\022\n\n\002id\030\001 \001(\005\022\023\n" +
"\013targetLevel\030\002 \001(\005\"2\n\032WorkTechnologyRese" +
"tRequest\022\024\n\014professionId\030\001 \001(\005\"M\n\033WorkTe" +
"chnologyResetResponse\022.\n\004drop\030\001 \001(\0132 .co" +
"m.ljsd.jieling.protocols.Drop\";\n\027Activit" +
"eWorkShopReqeust\022\014\n\004type\030\001 \001(\005\022\022\n\nactivi" +
"teId\030\002 \001(\005\"\252\002\n\027GetWorkShopInfoResponse\022J" +
"\n\022workShopUnLockInfo\030\001 \003(\0132..com.ljsd.ji",
"eling.protocols.WorkShopUnLockInfo\022F\n\020wo" +
"rkShopBaseInfo\030\002 \003(\0132,.com.ljsd.jieling." +
"protocols.WorkShopBaseInfo\0227\n\014unDetermin" +
"ed\030\003 \001(\0132!.com.ljsd.jieling.protocols.Eq" +
"uip\022B\n\016technologyInfo\030\004 \003(\0132*.com.ljsd.j" +
"ieling.protocols.TechnologyInfo\"3\n\017CookF" +
"oodRequest\022\022\n\nmaterialId\030\001 \003(\005\022\014\n\004nums\030\002" +
" \001(\005\"\212\001\n\020CookFoodResponse\022F\n\020workShopBas" +
"eInfo\030\001 \001(\0132,.com.ljsd.jieling.protocols" +
".WorkShopBaseInfo\022.\n\004drop\030\002 \001(\0132 .com.lj",
"sd.jieling.protocols.Drop\"\034\n\014RedPointInf" +
"o\022\014\n\004type\030\001 \001(\005\"i\n\031SaveNewPlayerPointReq" +
"uest\022L\n\023newPlayerGuidePoint\030\001 \001(\0132/.com." +
"ljsd.jieling.protocols.NewPlayerGuidePoi" +
"nt\"B\n\031TakeActivityRewardRequest\022\021\n\tmissi" +
"onId\030\001 \001(\005\022\022\n\nactivityId\030\002 \001(\005\"L\n\032TakeAc" +
"tivityRewardResponse\022.\n\004drop\030\001 \001(\0132 .com" +
".ljsd.jieling.protocols.Drop\"X\n\026GetAllAc" +
"tivityResponse\022>\n\014activityInfo\030\001 \003(\0132(.c" +
"om.ljsd.jieling.protocols.ActivityInfo\"(",
"\n\022RandomNameResponse\022\022\n\nrandomName\030\001 \001(\t" +
"\">\n\rReNameRequest\022\014\n\004type\030\001 \001(\005\022\014\n\004name\030" +
"\002 \001(\t\022\021\n\tteamPosId\030\003 \001(\005\".\n\035WorkShopRebu" +
"ildConfirmRequest\022\r\n\005state\030\001 \001(\005\"9\n\030GetS" +
"ecretBoxInfoResponse\022\016\n\006season\030\001 \001(\005\022\r\n\005" +
"count\030\002 \001(\005\"(\n\026SecretBoxRandomRequest\022\016\n" +
"\006typeId\030\001 \001(\005\"\201\001\n\027SecretBoxRandomRespons" +
" \001(\005\022\020\n\010vipDaily\030\033 \001(\005\022\033\n\023missingRefresh" +
"Count\030\034 \001(\005\"#\n\022GetItemInfoRequest\022\r\n\005ind" +
"ex\030\001 \001(\005\"_\n\023GetItemInfoResponse\0222\n\010iteml" +
"ist\030\001 \003(\0132 .com.ljsd.jieling.protocols.I",
"tem\022\024\n\014isSendFinish\030\002 \001(\010\"L\n\026GetAllMailI" +
"nfoResponse\0222\n\010mialList\030\001 \003(\0132 .com.ljsd" +
".jieling.protocols.Mail\"\212\001\n\026UseAndPriceI" +
"temRequest\022\014\n\004type\030\001 \001(\005\022\016\n\006itemId\030\002 \001(\005" +
"\022/\n\005items\030\003 \003(\0132 .com.ljsd.jieling.proto" +
"cols.Item\022\020\n\010equipIds\030\004 \003(\t\022\017\n\007heroIds\030\005" +
" \003(\t\"I\n\027UseAndPriceItemResponse\022.\n\004drop\030" +
"\001 \001(\0132 .com.ljsd.jieling.protocols.Drop\"" +
"!\n\017MailReadRequest\022\016\n\006mailId\030\001 \001(\t\"\"\n\017Ta" +
"keMailRequest\022\017\n\007mailIds\030\001 \003(\t\"B\n\020TakeMa",
"ilResponse\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jiel" +
"ing.protocols.Drop\"=\n\031WorkShopFoundation" +
"Request\022\022\n\nmaterialId\030\001 \001(\005\022\014\n\004nums\030\002 \001(" +
"\005\"N\n\032WorkShopEquipCreateRequest\022\020\n\010equip" +
"Tid\030\001 \001(\005\022\020\n\010runneIds\030\002 \003(\005\022\014\n\004nums\030\003 \001(" +
"\005\"[\n\033WorkShopEquipCreateResponse\022\014\n\004type" +
"\030\001 \001(\005\022.\n\004drop\030\002 \001(\0132 .com.ljsd.jieling." +
"protocols.Drop\"B\n\026WorkShopRebuildRequest" +
"\022\017\n\007equipId\030\001 \001(\t\022\027\n\017consumeEquipIds\030\002 \003" +
"(\t\"L\n\030WorkShopRebuildRespoonse\0220\n\005equip\030",
"\001 \001(\0132!.com.ljsd.jieling.protocols.Equip" +
"\"=\n\032WorkTechnologyLevelRequest\022\n\n\002id\030\001 \001" +
"(\005\022\023\n\013targetLevel\030\002 \001(\005\">\n\033WorkTechnolog" +
"yLevelResponse\022\n\n\002id\030\001 \001(\005\022\023\n\013targetLeve" +
"l\030\002 \001(\005\"2\n\032WorkTechnologyResetRequest\022\024\n" +
"\014professionId\030\001 \001(\005\"M\n\033WorkTechnologyRes" +
"etResponse\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jiel" +
"ing.protocols.Drop\";\n\027ActiviteWorkShopRe" +
"qeust\022\014\n\004type\030\001 \001(\005\022\022\n\nactiviteId\030\002 \001(\005\"" +
"\252\002\n\027GetWorkShopInfoResponse\022J\n\022workShopU",
"nLockInfo\030\001 \003(\0132..com.ljsd.jieling.proto" +
"cols.WorkShopUnLockInfo\022F\n\020workShopBaseI" +
"nfo\030\002 \003(\0132,.com.ljsd.jieling.protocols.W" +
"orkShopBaseInfo\0227\n\014unDetermined\030\003 \001(\0132!." +
"com.ljsd.jieling.protocols.Equip\022B\n\016tech" +
"nologyInfo\030\004 \003(\0132*.com.ljsd.jieling.prot" +
"ocols.TechnologyInfo\"3\n\017CookFoodRequest\022" +
"\022\n\nmaterialId\030\001 \003(\005\022\014\n\004nums\030\002 \001(\005\"\212\001\n\020Co" +
"okFoodResponse\022F\n\020workShopBaseInfo\030\001 \001(\013" +
"2,.com.ljsd.jieling.protocols.WorkShopBa",
"seInfo\022.\n\004drop\030\002 \001(\0132 .com.ljsd.jieling." +
"protocols.Drop\"\034\n\014RedPointInfo\022\014\n\004type\030\001" +
" \001(\005\"i\n\031SaveNewPlayerPointRequest\022L\n\023new" +
"PlayerGuidePoint\030\001 \001(\0132/.com.ljsd.jielin" +
"g.protocols.NewPlayerGuidePoint\"B\n\031TakeA" +
"ctivityRewardRequest\022\021\n\tmissionId\030\001 \001(\005\022" +
"\022\n\nactivityId\030\002 \001(\005\"L\n\032TakeActivityRewar" +
"dResponse\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jieli" +
"ng.protocols.Drop\"X\n\026GetAllActivityRespo" +
"nse\022>\n\014activityInfo\030\001 \003(\0132(.com.ljsd.jie",
"ling.protocols.ActivityInfo\"(\n\022RandomNam" +
"eResponse\022\022\n\nrandomName\030\001 \001(\t\">\n\rReNameR" +
"equest\022\014\n\004type\030\001 \001(\005\022\014\n\004name\030\002 \001(\t\022\021\n\tte" +
"amPosId\030\003 \001(\005\".\n\035WorkShopRebuildConfirmR" +
"equest\022\r\n\005state\030\001 \001(\005\"9\n\030GetSecretBoxInf" +
"oResponse\022\016\n\006season\030\001 \001(\005\022\r\n\005count\030\002 \001(\005" +
"\"(\n\026SecretBoxRandomRequest\022\016\n\006typeId\030\001 \001" +
"(\005\"\201\001\n\027SecretBoxRandomResponse\022.\n\004drop\030\001" +
" \001(\0132 .com.ljsd.jieling.protocols.Drop\0226" +
"\n\014extrarReward\030\002 \001(\0132 .com.ljsd.jieling.",
"protocols.Drop\"Q\n\025GetStoreInfosResponse\022" +
"8\n\tstoreInfo\030\001 \003(\0132%.com.ljsd.jieling.pr" +
"otocols.StoreInfo\"G\n\023BuyStoreItemRequest" +
"\022\017\n\007storeId\030\001 \001(\005\022\016\n\006itemId\030\002 \001(\005\022\017\n\007ite" +
"mNum\030\003 \001(\005\"F\n\024BuyStoreItemResponse\022.\n\004dr" +
"op\030\001 \001(\0132 .com.ljsd.jieling.protocols.Dr" +
"op\"9\n\030StoreGoodsRefreshRequest\022\014\n\004type\030\001" +
" \001(\005\022\017\n\007storeId\030\002 \001(\005\"U\n\031StoreGoodsRefre" +
"shResponse\0228\n\tstoreInfo\030\001 \001(\0132%.com.ljsd" +
".jieling.protocols.StoreInfo\"_\n\031GetFunct",
"ionOfTimeResponse\022B\n\016functionOfTime\030\001 \003(" +
"\0132*.com.ljsd.jieling.protocols.FunctionO" +
"fTime\"\230\001\n\022VipLevelUpResponse\022<\n\013vipBaseI" +
"nfo\030\001 \001(\0132\'.com.ljsd.jieling.protocols.V" +
"ipBaseInfo\022D\n\017userMissionInfo\030\002 \003(\0132+.co" +
"m.ljsd.jieling.protocols.UserMissionInfo" +
"\"c\n\033MissionUpdateListIndication\022D\n\017userM" +
"issionInfo\030\002 \003(\0132+.com.ljsd.jieling.prot" +
"ocols.UserMissionInfo\";\n\030TakeMissionRewa" +
"rdRequest\022\014\n\004type\030\001 \001(\005\022\021\n\tmissionId\030\002 \001",
"(\005\"b\n\031TakeMissionRewardResponse\022.\n\004drop\030" +
"\001 \001(\0132 .com.ljsd.jieling.protocols.Drop\022" +
"\025\n\rtreasureScore\030\002 \001(\005\"(\n\026UserForceChang" +
"eRequest\022\016\n\006teamId\030\001 \001(\005\"!\n\021VipTakeBoxRe" +
"quest\022\014\n\004type\030\001 \001(\005\"D\n\022VipTakeBoxRespons" +
"e\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jieling.proto" +
"cols.Drop\0226\n\014extrarReward\030\002 \001(\0132 .com.lj" +
"sd.jieling.protocols.Drop\"Q\n\025GetStoreInf",
"osResponse\0228\n\tstoreInfo\030\001 \003(\0132%.com.ljsd" +
".jieling.protocols.StoreInfo\"G\n\023BuyStore" +
"ItemRequest\022\017\n\007storeId\030\001 \001(\005\022\016\n\006itemId\030\002" +
" \001(\005\022\017\n\007itemNum\030\003 \001(\005\"F\n\024BuyStoreItemRes" +
"ponse\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jieling.p" +
"rotocols.Drop\"9\n\030StoreGoodsRefreshReques" +
"t\022\014\n\004type\030\001 \001(\005\022\017\n\007storeId\030\002 \001(\005\"U\n\031Stor" +
"eGoodsRefreshResponse\0228\n\tstoreInfo\030\001 \001(\013" +
"2%.com.ljsd.jieling.protocols.StoreInfo\"" +
"_\n\031GetFunctionOfTimeResponse\022B\n\016function",
"OfTime\030\001 \003(\0132*.com.ljsd.jieling.protocol" +
"s.FunctionOfTime\"\230\001\n\022VipLevelUpResponse\022" +
"<\n\013vipBaseInfo\030\001 \001(\0132\'.com.ljsd.jieling." +
"protocols.VipBaseInfo\022D\n\017userMissionInfo" +
"\030\002 \003(\0132+.com.ljsd.jieling.protocols.User" +
"MissionInfo\"c\n\033MissionUpdateListIndicati" +
"on\022D\n\017userMissionInfo\030\002 \003(\0132+.com.ljsd.j" +
"ieling.protocols.UserMissionInfo\";\n\030Take" +
"MissionRewardRequest\022\014\n\004type\030\001 \001(\005\022\021\n\tmi" +
"ssionId\030\002 \001(\005\"b\n\031TakeMissionRewardRespon",
"se\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jieling.prot" +
"ocols.Drop\022\025\n\rtreasureScore\030\002 \001(\005\"(\n\026Use" +
"rForceChangeRequest\022\016\n\006teamId\030\001 \001(\005\"!\n\021V" +
"ipTakeBoxRequest\022\014\n\004type\030\001 \001(\005\"D\n\022VipTak" +
"eBoxResponse\022.\n\004drop\030\001 \001(\0132 .com.ljsd.ji" +
"eling.protocols.Drop\"$\n\023RechargeInfoRequ" +
"est\022\r\n\005money\030\001 \001(\005\"F\n\024RechargeInfoRespon" +
"se\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jieling.prot" +
"ocols.Drop\"$\n\024GetFriendInfoRequest\022\014\n\004ty" +
"pe\030\001 \001(\005\"L\n\025GetFriendInfoResponse\0223\n\007Fri",
"ends\030\001 \003(\0132\".com.ljsd.jieling.protocols." +
"Friend\"*\n\027TestBuyGiftGoodsRequest\022\017\n\007goo" +
"dsId\030\001 \001(\005\"H\n\026BuyGoodsDropIndication\022.\n\004" +
"drop\030\001 \001(\0132 .com.ljsd.jieling.protocols." +
"Drop\"Z\n\026AllGiftGoodsIndication\022@\n\rGiftGo" +
"odsInfo\030\001 \003(\0132).com.ljsd.jieling.protoco" +
"ls.GiftGoodsInfo\")\n\023InviteFriendRequest\022" +
"\022\n\ninviteUids\030\001 \003(\005\">\n\034FriendInviteOpera" +
"tionRequest\022\014\n\004type\030\001 \001(\005\022\020\n\010friendId\030\002 " +
"\001(\005\"]\n\030sendFriendInfoIndication\022\014\n\004type\030",
"\001 \001(\005\0223\n\007Friends\030\002 \001(\0132\".com.ljsd.jielin" +
"g.protocols.Friend\":\n\030FriendGivePresentR" +
"equest\022\014\n\004type\030\001 \001(\005\022\020\n\010friendId\030\002 \001(\005\"$" +
"\n\020DelFriendRequest\022\020\n\010friendId\030\001 \001(\005\"8\n\026" +
"FriendTakeHeartRequest\022\014\n\004type\030\001 \001(\005\022\020\n\010" +
"friendId\030\002 \001(\005\"[\n\027FriendTakeHeartRespons" +
"e\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jieling.proto" +
"cols.Drop\022\020\n\010friendId\030\002 \003(\005\"#\n\023FriendSea" +
"rchRequest\022\014\n\004name\030\001 \001(\t\"Y\n\024FriendSearch" +
"Response\022\014\n\004type\030\001 \001(\005\0223\n\007Friends\030\002 \001(\0132",
"\".com.ljsd.jieling.protocols.Friend\";\n\031S" +
"endFriendStateIndication\022\014\n\004type\030\001 \001(\005\022\020" +
"\n\010friendId\030\002 \001(\005\"/\n\032RefreshFriendStateRe" +
"sponse\022\021\n\tfriendIds\030\001 \003(\005\"7\n\025FriendBlack" +
"OptRequest\022\014\n\004type\030\001 \001(\005\022\020\n\010blackUid\030\002 \001" +
"(\005\"\326\004\n\032FivePlayerUpdateIndication\022\027\n\017had" +
"TakeDailyBox\030\001 \001(\005\0228\n\tprivilege\030\002 \003(\0132%." +
"com.ljsd.jieling.protocols.Privilege\022>\n\014" +
"activityInfo\030\003 \003(\0132(.com.ljsd.jieling.pr" +
"otocols.ActivityInfo\022D\n\017userMissionInfo\030",
"\004 \003(\0132+.com.ljsd.jieling.protocols.UserM" +
"issionInfo\022J\n\022fiveResetTowerInfo\030\005 \001(\0132." +
".com.ljsd.jieling.protocols.fiveResetTow" +
"erInfo\022:\n\nSignInInfo\030\006 \001(\0132&.com.ljsd.ji" +
"eling.protocols.SignInInfo\022D\n\017playerBind" +
"Phone\030\007 \001(\0132+.com.ljsd.jieling.protocols" +
".PlayerBindPhone\022D\n\010posInfos\030\010 \003(\01322.com" +
".ljsd.jieling.protocols.LuckWheelRewardP" +
"osInfo\022K\n\017posInfosAdvance\030\t \003(\01322.com.lj" +
"sd.jieling.protocols.LuckWheelRewardPosI",
"nfo\"Z\n\022GetMissionResponse\022D\n\017userMission" +
"Info\030\001 \003(\0132+.com.ljsd.jieling.protocols." +
"UserMissionInfo\"\'\n\025RefreshItemNumRequest" +
"\022\016\n\006itemId\030\001 \003(\005\"P\n\026RefreshItemNumRespon" +
"se\0226\n\010itemInfo\030\001 \003(\0132$.com.ljsd.jieling." +
"protocols.ItemInfo\"S\n\023UpdateBagIndicatio" +
"n\022\014\n\004type\030\001 \001(\005\022.\n\004item\030\002 \003(\0132 .com.ljsd" +
".jieling.protocols.Item\"=\n\027ModifyDecorat" +
"ionRequest\022\024\n\014decorationId\030\001 \001(\005\022\014\n\004type" +
"\030\002 \001(\005\"\336\002\n\rblessResponse\022:\n\tfixReward\030\001 ",
"\003(\0132\'.com.ljsd.jieling.protocols.blessRe" +
"ward\022=\n\014legendReward\030\002 \003(\0132\'.com.ljsd.ji" +
"eling.protocols.blessReward\022>\n\rsupremeRe" +
"ward\030\003 \003(\0132\'.com.ljsd.jieling.protocols." +
"blessReward\022<\n\013countReward\030\004 \003(\0132\'.com.l" +
"jsd.jieling.protocols.blessReward\022;\n\nrew" +
"ardView\030\005 \003(\0132\'.com.ljsd.jieling.protoco" +
"ls.blessReward\022\027\n\017lastRefreshTime\030\006 \001(\005\"" +
"%\n\020blessSaveRequest\022\021\n\trewardIds\030\001 \003(\005\"(" +
"\n\022blessChooseRequest\022\022\n\nlocationId\030\001 \001(\005",
"\"_\n\023blessChooseResponse\0220\n\006reward\030\001 \001(\0132" +
" .com.ljsd.jieling.protocols.Drop\022\026\n\016cho" +
"oseRewardId\030\002 \001(\005\"I\n\014blessRefresh\0229\n\006rew" +
"ard\030\001 \001(\0132).com.ljsd.jieling.protocols.b" +
"lessResponse\"Q\n\025storeUpdateIndication\0228\n" +
"\tstoreInfo\030\001 \003(\0132%.com.ljsd.jieling.prot" +
"ocols.StoreInfo\"%\n\tLockEquip\022\n\n\002id\030\001 \003(\t" +
"\022\014\n\004type\030\002 \001(\005\"r\n\027ActivityUpateIndicatio" +
"n\022>\n\014activityInfo\030\001 \003(\0132(.com.ljsd.jieli" +
"ng.protocols.ActivityInfo\022\027\n\017closeActivi",
"tyId\030\002 \003(\005\";\n\027GetForceRankInfoRequest\022\014\n" +
"\004page\030\001 \001(\005\022\022\n\nactiviteId\030\002 \001(\005\"{\n\030GetFo" +
"rceRankInfoResponse\022>\n\014useForceInfo\030\001 \003(" +
"\0132(.com.ljsd.jieling.protocols.UseForceI" +
"nfo\022\017\n\007myForce\030\002 \001(\005\022\016\n\006myRank\030\003 \001(\005\"a\n\037" +
"ActivityUpateProgressIndication\022>\n\014activ" +
"ityInfo\030\001 \002(\0132(.com.ljsd.jieling.protoco" +
"ls.ActivityInfo\"*\n\024GetExpertInfoRequest\022" +
"\022\n\nactiviteId\030\001 \001(\005\"p\n\025GetExpertInfoResp" +
"onse\0226\n\006expert\030\001 \003(\0132&.com.ljsd.jieling.",
"protocols.ExpertInfo\022\017\n\007myScore\030\002 \001(\005\022\016\n" +
"\006myRank\030\003 \001(\005\"!\n\rSignInRequest\022\020\n\010dayInd" +
"ex\030\001 \001(\005\"@\n\016SignInResponse\022.\n\004drop\030\001 \001(\013" +
"2 .com.ljsd.jieling.protocols.Drop\"?\n\033Ge" +
"tPlayerOneTeamInfoRequest\022\020\n\010playerId\030\001 " +
"\001(\005\022\016\n\006teamId\030\002 \001(\005\"Y\n\034GetPlayerOneTeamI" +
"nfoResponse\0229\n\010teamInfo\030\001 \001(\0132\'.com.ljsd" +
".jieling.protocols.TeamOneInfo\"O\n\035TakeSe" +
"nvenScoreRewardResponse\022.\n\004drop\030\001 \001(\0132 ." +
"com.ljsd.jieling.protocols.Drop\"\"\n\022Updat",
"eStateRequest\022\014\n\004type\030\001 \001(\005\"5\n\027UpdateUse" +
"rExpIndicaiton\022\r\n\005level\030\001 \001(\005\022\013\n\003exp\030\002 \001" +
"(\005\"6\n\037UpdateSecretBoxSeasonIndication\022\023\n" +
"\013newSeasonId\030\001 \001(\005\"\033\n\031GetMonsterRankInfo" +
"Request\"{\n\032GetMonsterRankInfoResponse\022<\n" +
"\007monster\030\001 \003(\0132+.com.ljsd.jieling.protoc" +
"ols.MonsterRankInfo\022\017\n\007myScore\030\002 \001(\005\022\016\n\006" +
"myRank\030\003 \001(\005\"-\n\031PlayerBackCInfoIndicatio" +
"n\022\020\n\010nickName\030\001 \001(\t\"*\n\026UpdatePhoneinfoRe" +
"quest\022\020\n\010phoneNum\030\001 \001(\t\"(\n\027UpdatePhonein",
"foResponse\022\r\n\005state\030\001 \001(\005\"\027\n\025GetPhoneRew" +
"ardRequest\"H\n\026GetPhoneRewardResponse\022.\n\004" +
"drop\030\001 \001(\0132 .com.ljsd.jieling.protocols." +
"Drop\"#\n\022QuestionIndication\022\r\n\005state\030\001 \001(" +
"\005\"\024\n\022GetQuestionRequest\"\226\001\n\023GetQuestionR" +
"esponse\022\n\n\002id\030\001 \001(\t\022\020\n\010questDes\030\002 \001(\t\022\r\n" +
"\005start\030\003 \001(\t\022\017\n\007endtime\030\004 \001(\t\022A\n\014questOp" +
"tions\030\005 \003(\0132+.com.ljsd.jieling.protocols" +
".QuestionOptions\"(\n\025upDataQuestionReques" +
"t\022\017\n\007options\030\001 \003(\t\"(\n\026upDataQuestionResp",
"onse\022\016\n\006result\030\001 \001(\005\"\013\n\tBloodRank\"!\n\022Exc" +
"hangeCdkRequest\022\013\n\003key\030\001 \001(\t\"0\n\035NotifyPa" +
"ySuccessfulIndicaiton\022\017\n\007goodsId\030\001 \001(\005\"V" +
"\n\023DirectBuyIndication\022\017\n\007goodsId\030\001 \001(\005\022." +
"\n\004drop\030\002 \001(\0132 .com.ljsd.jieling.protocol" +
"s.Drop\"=\n\027RefreshLuckWheelRequest\022\022\n\nact" +
"ivityId\030\001 \001(\005\022\016\n\006isFree\030\002 \001(\010\"`\n\030Refresh" +
"LuckWheelResponse\022D\n\010posInfos\030\001 \003(\01322.co" +
"m.ljsd.jieling.protocols.LuckWheelReward" +
"PosInfo\"E\n\035GetLuckWheelRandRewardRequest",
"\022\022\n\nactivityId\030\001 \001(\005\022\020\n\010repeated\030\002 \001(\010\"\252" +
"\001\n\036GetLuckWheelRandRewardResponse\022\022\n\nact" +
"ivityId\030\001 \001(\005\022D\n\010posInfos\030\002 \003(\01322.com.lj" +
"sd.jieling.protocols.LuckWheelRewardPosI" +
"nfo\022.\n\004drop\030\003 \001(\0132 .com.ljsd.jieling.pro" +
"tocols.Drop\"\250\001\n\023LuckWheelIndication\022D\n\010p" +
"osInfos\030\001 \003(\01322.com.ljsd.jieling.protoco" +
"ls.LuckWheelRewardPosInfo\022K\n\017posInfosAdv" +
"ance\030\002 \003(\01322.com.ljsd.jieling.protocols." +
"LuckWheelRewardPosInfo\"\246\001\n\030GetMainLevelI",
"nfoResponse\022\017\n\007fightId\030\001 \001(\005\022\r\n\005state\030\002 " +
"\001(\005\022\020\n\010duration\030\003 \001(\005\022H\n\021adventureBossIn" +
"fo\030\004 \003(\0132-.com.ljsd.jieling.protocols.Ad" +
"ventureBossInfo\022\016\n\006reward\030\005 \001(\t\"-\n\034Quick" +
"BuyTreasureLevelRequest\022\r\n\005level\030\001 \001(\005\"S" +
"\n\031TreasureRefreshIndication\0226\n\005tasks\030\001 \003" +
"(\0132\'.com.ljsd.jieling.protocols.RefreshT" +
"ask\"*\n\031TreasureLevelUpIndication\022\r\n\005leve" +
"l\030\001 \001(\005\" \n\016MailDelRequest\022\016\n\006mailId\030\001 \003(" +
"\t\"8\n\023ViewHeroInfoRequest\022\021\n\ttargetUid\030\001 ",
"\001(\005\022\016\n\006heroId\030\002 \001(\t\"\313\001\n\024ViewHeroInfoResp" +
"onse\022.\n\004hero\030\001 \001(\0132 .com.ljsd.jieling.pr" +
"otocols.Hero\0220\n\005equip\030\002 \003(\0132!.com.ljsd.j" +
"ieling.protocols.Equip\022B\n\016SpecialEffects" +
"\030\003 \003(\0132*.com.ljsd.jieling.protocols.Spec" +
"ialEffects\022\r\n\005force\030\004 \001(\005\"\033\n\013RankRequest" +
"\022\014\n\004type\030\001 \001(\005\"}\n\014RankResponse\0223\n\005ranks\030" +
"\001 \003(\0132$.com.ljsd.jieling.protocols.UserR" +
"ank\0228\n\nmyRankInfo\030\002 \001(\0132$.com.ljsd.jieli" +
"ng.protocols.RankInfo\")\n\023NextActivityReq",
"uest\022\022\n\nactivityId\030\001 \001(\005\"0\n\024NextActivity" +
"Response\022\n\n\002id\030\001 \001(\005\022\014\n\004time\030\002 \001(\005\"+\n\031Re" +
"freshRechargeIndication\022\016\n\006amount\030\001 \001(\005\"" +
"\024\n\022VipTakeDilyRequest\"E\n\023VipTakeDilyResp" +
"onse\022.\n\004drop\030\001 \001(\0132 .com.ljsd.jieling.pr" +
"otocols.Drop\"X\n\032MissingRoomRefreshRespon" +
"se\022:\n\005infos\030\001 \003(\0132+.com.ljsd.jieling.pro" +
"tocols.UserMissionInfo\"@\n\032MissingRoomSen" +
"dHeroRequest\022\017\n\007heroIds\030\001 \003(\t\022\021\n\tmission" +
"Id\030\002 \001(\005\"1\n\034MissingRoomAccelerateRequest",
"\022\021\n\tmissionId\030\001 \001(\005B\002H\001"
"cols.Drop\"$\n\023RechargeInfoRequest\022\r\n\005mone" +
"y\030\001 \001(\005\"F\n\024RechargeInfoResponse\022.\n\004drop\030" +
"\001 \001(\0132 .com.ljsd.jieling.protocols.Drop\"" +
"$\n\024GetFriendInfoRequest\022\014\n\004type\030\001 \001(\005\"L\n",
"\025GetFriendInfoResponse\0223\n\007Friends\030\001 \003(\0132" +
"\".com.ljsd.jieling.protocols.Friend\"*\n\027T" +
"estBuyGiftGoodsRequest\022\017\n\007goodsId\030\001 \001(\005\"" +
"H\n\026BuyGoodsDropIndication\022.\n\004drop\030\001 \001(\0132" +
" .com.ljsd.jieling.protocols.Drop\"Z\n\026All" +
"GiftGoodsIndication\022@\n\rGiftGoodsInfo\030\001 \003" +
"(\0132).com.ljsd.jieling.protocols.GiftGood" +
"sInfo\")\n\023InviteFriendRequest\022\022\n\ninviteUi" +
"ds\030\001 \003(\005\">\n\034FriendInviteOperationRequest" +
"\022\014\n\004type\030\001 \001(\005\022\020\n\010friendId\030\002 \001(\005\"]\n\030send",
"FriendInfoIndication\022\014\n\004type\030\001 \001(\005\0223\n\007Fr" +
"iends\030\002 \001(\0132\".com.ljsd.jieling.protocols" +
".Friend\":\n\030FriendGivePresentRequest\022\014\n\004t" +
"ype\030\001 \001(\005\022\020\n\010friendId\030\002 \001(\005\"$\n\020DelFriend" +
"Request\022\020\n\010friendId\030\001 \001(\005\"8\n\026FriendTakeH" +
"eartRequest\022\014\n\004type\030\001 \001(\005\022\020\n\010friendId\030\002 " +
"\001(\005\"[\n\027FriendTakeHeartResponse\022.\n\004drop\030\001" +
" \001(\0132 .com.ljsd.jieling.protocols.Drop\022\020" +
"\n\010friendId\030\002 \003(\005\"#\n\023FriendSearchRequest\022" +
"\014\n\004name\030\001 \001(\t\"Y\n\024FriendSearchResponse\022\014\n",
"\004type\030\001 \001(\005\0223\n\007Friends\030\002 \001(\0132\".com.ljsd." +
"jieling.protocols.Friend\";\n\031SendFriendSt" +
"ateIndication\022\014\n\004type\030\001 \001(\005\022\020\n\010friendId\030" +
"\002 \001(\005\"/\n\032RefreshFriendStateResponse\022\021\n\tf" +
"riendIds\030\001 \003(\005\"7\n\025FriendBlackOptRequest\022" +
"\014\n\004type\030\001 \001(\005\022\020\n\010blackUid\030\002 \001(\005\"\326\004\n\032Five" +
"PlayerUpdateIndication\022\027\n\017hadTakeDailyBo" +
"x\030\001 \001(\005\0228\n\tprivilege\030\002 \003(\0132%.com.ljsd.ji" +
"eling.protocols.Privilege\022>\n\014activityInf" +
"o\030\003 \003(\0132(.com.ljsd.jieling.protocols.Act",
"ivityInfo\022D\n\017userMissionInfo\030\004 \003(\0132+.com" +
".ljsd.jieling.protocols.UserMissionInfo\022" +
"J\n\022fiveResetTowerInfo\030\005 \001(\0132..com.ljsd.j" +
"ieling.protocols.fiveResetTowerInfo\022:\n\nS" +
"ignInInfo\030\006 \001(\0132&.com.ljsd.jieling.proto" +
"cols.SignInInfo\022D\n\017playerBindPhone\030\007 \001(\013" +
"2+.com.ljsd.jieling.protocols.PlayerBind" +
"Phone\022D\n\010posInfos\030\010 \003(\01322.com.ljsd.jieli" +
"ng.protocols.LuckWheelRewardPosInfo\022K\n\017p" +
"osInfosAdvance\030\t \003(\01322.com.ljsd.jieling.",
"protocols.LuckWheelRewardPosInfo\"Z\n\022GetM" +
"issionResponse\022D\n\017userMissionInfo\030\001 \003(\0132" +
"+.com.ljsd.jieling.protocols.UserMission" +
"Info\"\'\n\025RefreshItemNumRequest\022\016\n\006itemId\030" +
"\001 \003(\005\"P\n\026RefreshItemNumResponse\0226\n\010itemI" +
"nfo\030\001 \003(\0132$.com.ljsd.jieling.protocols.I" +
"temInfo\"S\n\023UpdateBagIndication\022\014\n\004type\030\001" +
" \001(\005\022.\n\004item\030\002 \003(\0132 .com.ljsd.jieling.pr" +
"otocols.Item\"=\n\027ModifyDecorationRequest\022" +
"\024\n\014decorationId\030\001 \001(\005\022\014\n\004type\030\002 \001(\005\"\336\002\n\r",
"blessResponse\022:\n\tfixReward\030\001 \003(\0132\'.com.l" +
"jsd.jieling.protocols.blessReward\022=\n\014leg" +
"endReward\030\002 \003(\0132\'.com.ljsd.jieling.proto" +
"cols.blessReward\022>\n\rsupremeReward\030\003 \003(\0132" +
"\'.com.ljsd.jieling.protocols.blessReward" +
"\022<\n\013countReward\030\004 \003(\0132\'.com.ljsd.jieling" +
".protocols.blessReward\022;\n\nrewardView\030\005 \003" +
"(\0132\'.com.ljsd.jieling.protocols.blessRew" +
"ard\022\027\n\017lastRefreshTime\030\006 \001(\005\"%\n\020blessSav" +
"eRequest\022\021\n\trewardIds\030\001 \003(\005\"(\n\022blessChoo",
"seRequest\022\022\n\nlocationId\030\001 \001(\005\"_\n\023blessCh" +
"ooseResponse\0220\n\006reward\030\001 \001(\0132 .com.ljsd." +
"jieling.protocols.Drop\022\026\n\016chooseRewardId" +
"\030\002 \001(\005\"I\n\014blessRefresh\0229\n\006reward\030\001 \001(\0132)" +
".com.ljsd.jieling.protocols.blessRespons" +
"e\"Q\n\025storeUpdateIndication\0228\n\tstoreInfo\030" +
"\001 \003(\0132%.com.ljsd.jieling.protocols.Store" +
"Info\"%\n\tLockEquip\022\n\n\002id\030\001 \003(\t\022\014\n\004type\030\002 " +
"\001(\005\"r\n\027ActivityUpateIndication\022>\n\014activi" +
"tyInfo\030\001 \003(\0132(.com.ljsd.jieling.protocol",
"s.ActivityInfo\022\027\n\017closeActivityId\030\002 \003(\005\"" +
";\n\027GetForceRankInfoRequest\022\014\n\004page\030\001 \001(\005" +
"\022\022\n\nactiviteId\030\002 \001(\005\"{\n\030GetForceRankInfo" +
"Response\022>\n\014useForceInfo\030\001 \003(\0132(.com.ljs" +
"d.jieling.protocols.UseForceInfo\022\017\n\007myFo" +
"rce\030\002 \001(\005\022\016\n\006myRank\030\003 \001(\005\"a\n\037ActivityUpa" +
"teProgressIndication\022>\n\014activityInfo\030\001 \002" +
"(\0132(.com.ljsd.jieling.protocols.Activity" +
"Info\"*\n\024GetExpertInfoRequest\022\022\n\nactivite" +
"Id\030\001 \001(\005\"p\n\025GetExpertInfoResponse\0226\n\006exp",
"ert\030\001 \003(\0132&.com.ljsd.jieling.protocols.E" +
"xpertInfo\022\017\n\007myScore\030\002 \001(\005\022\016\n\006myRank\030\003 \001" +
"(\005\"!\n\rSignInRequest\022\020\n\010dayIndex\030\001 \001(\005\"@\n" +
"\016SignInResponse\022.\n\004drop\030\001 \001(\0132 .com.ljsd" +
".jieling.protocols.Drop\"?\n\033GetPlayerOneT" +
"eamInfoRequest\022\020\n\010playerId\030\001 \001(\005\022\016\n\006team" +
"Id\030\002 \001(\005\"Y\n\034GetPlayerOneTeamInfoResponse" +
"\0229\n\010teamInfo\030\001 \001(\0132\'.com.ljsd.jieling.pr" +
"otocols.TeamOneInfo\"O\n\035TakeSenvenScoreRe" +
"wardResponse\022.\n\004drop\030\001 \001(\0132 .com.ljsd.ji",
"eling.protocols.Drop\"\"\n\022UpdateStateReque" +
"st\022\014\n\004type\030\001 \001(\005\"5\n\027UpdateUserExpIndicai" +
"ton\022\r\n\005level\030\001 \001(\005\022\013\n\003exp\030\002 \001(\005\"6\n\037Updat" +
"eSecretBoxSeasonIndication\022\023\n\013newSeasonI" +
"d\030\001 \001(\005\"\033\n\031GetMonsterRankInfoRequest\"{\n\032" +
"GetMonsterRankInfoResponse\022<\n\007monster\030\001 " +
"\003(\0132+.com.ljsd.jieling.protocols.Monster" +
"RankInfo\022\017\n\007myScore\030\002 \001(\005\022\016\n\006myRank\030\003 \001(" +
"\005\"-\n\031PlayerBackCInfoIndication\022\020\n\010nickNa" +
"me\030\001 \001(\t\"*\n\026UpdatePhoneinfoRequest\022\020\n\010ph",
"oneNum\030\001 \001(\t\"(\n\027UpdatePhoneinfoResponse\022" +
"\r\n\005state\030\001 \001(\005\"\027\n\025GetPhoneRewardRequest\"" +
"H\n\026GetPhoneRewardResponse\022.\n\004drop\030\001 \001(\0132" +
" .com.ljsd.jieling.protocols.Drop\"#\n\022Que" +
"stionIndication\022\r\n\005state\030\001 \001(\005\"\024\n\022GetQue" +
"stionRequest\"\226\001\n\023GetQuestionResponse\022\n\n\002" +
"id\030\001 \001(\t\022\020\n\010questDes\030\002 \001(\t\022\r\n\005start\030\003 \001(" +
"\t\022\017\n\007endtime\030\004 \001(\t\022A\n\014questOptions\030\005 \003(\013" +
"2+.com.ljsd.jieling.protocols.QuestionOp" +
"tions\"(\n\025upDataQuestionRequest\022\017\n\007option",
"s\030\001 \003(\t\"(\n\026upDataQuestionResponse\022\016\n\006res" +
"ult\030\001 \001(\005\"\013\n\tBloodRank\"!\n\022ExchangeCdkReq" +
"uest\022\013\n\003key\030\001 \001(\t\"0\n\035NotifyPaySuccessful" +
"Indicaiton\022\017\n\007goodsId\030\001 \001(\005\"V\n\023DirectBuy" +
"Indication\022\017\n\007goodsId\030\001 \001(\005\022.\n\004drop\030\002 \001(" +
"\0132 .com.ljsd.jieling.protocols.Drop\"=\n\027R" +
"efreshLuckWheelRequest\022\022\n\nactivityId\030\001 \001" +
"(\005\022\016\n\006isFree\030\002 \001(\010\"`\n\030RefreshLuckWheelRe" +
"sponse\022D\n\010posInfos\030\001 \003(\01322.com.ljsd.jiel" +
"ing.protocols.LuckWheelRewardPosInfo\"E\n\035",
"GetLuckWheelRandRewardRequest\022\022\n\nactivit" +
"yId\030\001 \001(\005\022\020\n\010repeated\030\002 \001(\010\"\252\001\n\036GetLuckW" +
"heelRandRewardResponse\022\022\n\nactivityId\030\001 \001" +
"(\005\022D\n\010posInfos\030\002 \003(\01322.com.ljsd.jieling." +
"protocols.LuckWheelRewardPosInfo\022.\n\004drop" +
"\030\003 \001(\0132 .com.ljsd.jieling.protocols.Drop" +
"\"\250\001\n\023LuckWheelIndication\022D\n\010posInfos\030\001 \003" +
"(\01322.com.ljsd.jieling.protocols.LuckWhee" +
"lRewardPosInfo\022K\n\017posInfosAdvance\030\002 \003(\0132" +
"2.com.ljsd.jieling.protocols.LuckWheelRe",
"wardPosInfo\"\246\001\n\030GetMainLevelInfoResponse" +
"\022\017\n\007fightId\030\001 \001(\005\022\r\n\005state\030\002 \001(\005\022\020\n\010dura" +
"tion\030\003 \001(\005\022H\n\021adventureBossInfo\030\004 \003(\0132-." +
"com.ljsd.jieling.protocols.AdventureBoss" +
"Info\022\016\n\006reward\030\005 \001(\t\"-\n\034QuickBuyTreasure" +
"LevelRequest\022\r\n\005level\030\001 \001(\005\"S\n\031TreasureR" +
"efreshIndication\0226\n\005tasks\030\001 \003(\0132\'.com.lj" +
"sd.jieling.protocols.RefreshTask\"*\n\031Trea" +
"sureLevelUpIndication\022\r\n\005level\030\001 \001(\005\" \n\016" +
"MailDelRequest\022\016\n\006mailId\030\001 \003(\t\"8\n\023ViewHe",
"roInfoRequest\022\021\n\ttargetUid\030\001 \001(\005\022\016\n\006hero" +
"Id\030\002 \001(\t\"\313\001\n\024ViewHeroInfoResponse\022.\n\004her" +
"o\030\001 \001(\0132 .com.ljsd.jieling.protocols.Her" +
"o\0220\n\005equip\030\002 \003(\0132!.com.ljsd.jieling.prot" +
"ocols.Equip\022B\n\016SpecialEffects\030\003 \003(\0132*.co" +
"m.ljsd.jieling.protocols.SpecialEffects\022" +
"\r\n\005force\030\004 \001(\005\"\033\n\013RankRequest\022\014\n\004type\030\001 " +
"\001(\005\"}\n\014RankResponse\0223\n\005ranks\030\001 \003(\0132$.com" +
".ljsd.jieling.protocols.UserRank\0228\n\nmyRa" +
"nkInfo\030\002 \001(\0132$.com.ljsd.jieling.protocol",
"s.RankInfo\")\n\023NextActivityRequest\022\022\n\nact" +
"ivityId\030\001 \001(\005\"0\n\024NextActivityResponse\022\n\n" +
"\002id\030\001 \001(\005\022\014\n\004time\030\002 \001(\005\"+\n\031RefreshRechar" +
"geIndication\022\016\n\006amount\030\001 \001(\005\"\024\n\022VipTakeD" +
"ilyRequest\"E\n\023VipTakeDilyResponse\022.\n\004dro" +
"p\030\001 \001(\0132 .com.ljsd.jieling.protocols.Dro" +
"p\"X\n\032MissingRoomRefreshResponse\022:\n\005infos" +
"\030\001 \003(\0132+.com.ljsd.jieling.protocols.User" +
"MissionInfo\"@\n\032MissingRoomSendHeroReques" +
"t\022\017\n\007heroIds\030\001 \003(\t\022\021\n\tmissionId\030\002 \001(\005\"1\n",
"\034MissingRoomAccelerateRequest\022\021\n\tmission" +
"Id\030\001 \001(\005B\002H\001"
};
com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
@ -93230,7 +93344,7 @@ public final class PlayerInfoProto {
internal_static_com_ljsd_jieling_protocols_GetPlayerInfoResponse_fieldAccessorTable = new
com.google.protobuf.GeneratedMessage.FieldAccessorTable(
internal_static_com_ljsd_jieling_protocols_GetPlayerInfoResponse_descriptor,
new java.lang.String[] { "Player", "NewPlayerGuidePoint", "Privilege", "GiftGoodsInfo", "BuyGoodsId", "SuddenlyBossInfo", "VipLeveTake", "UserCreateTime", "RedType", "RandCount", "HeroHandBook", "EquipHandBook", "TowerReceivedReward", "GoodsTypeDuration", "TreasureLevel", "HadBuyTreasure", "SignInInfo", "FirstTenth", "MonsterAttackTime", "IsDayFirst", "EndInfo", "PlayerBindPhone", "QuestionState", "SoulEquipPool", "PlayedMapTypes", "Amount", "VipDaily", });
new java.lang.String[] { "Player", "NewPlayerGuidePoint", "Privilege", "GiftGoodsInfo", "BuyGoodsId", "SuddenlyBossInfo", "VipLeveTake", "UserCreateTime", "RedType", "RandCount", "HeroHandBook", "EquipHandBook", "TowerReceivedReward", "GoodsTypeDuration", "TreasureLevel", "HadBuyTreasure", "SignInInfo", "FirstTenth", "MonsterAttackTime", "IsDayFirst", "EndInfo", "PlayerBindPhone", "QuestionState", "SoulEquipPool", "PlayedMapTypes", "Amount", "VipDaily", "MissingRefreshCount", });
internal_static_com_ljsd_jieling_protocols_GetItemInfoRequest_descriptor =
getDescriptor().getMessageTypes().get(5);
internal_static_com_ljsd_jieling_protocols_GetItemInfoRequest_fieldAccessorTable = new

View File

@ -192,6 +192,8 @@ public interface BIReason {
int MISSING_ROOM_SEND_CONSUME = 1048;//迷宫寻宝派遣消耗
int MISSING_ROOM_ACCELERATE_CONSUME = 1049;//迷宫寻宝加速消耗

View File

@ -17,6 +17,7 @@ public interface Global {
int EXP = 17;//经验
int TREASURE_SCORE = 68;//孙龙宝藏积分
int MISSING_ROOM_ITEM = 79;
int SEND_CARD_COUNT = 20; // 每页发送卡牌个数
int SEND_ITEM_COUNT = 200; // 每页发送道具个数
int SEND_EQUIP_COUNT = 20; // 每页发送装备个数

View File

@ -26,6 +26,7 @@ import com.ljsd.jieling.thread.task.RPCServerTask;
import com.ljsd.jieling.util.CBean2Proto;
import com.ljsd.jieling.util.MessageUtil;
import config.SChallengeConfig;
import config.SMazeTreasureSetting;
import config.SRechargeCommodityConfig;
import manager.STableManager;
import org.slf4j.Logger;
@ -136,6 +137,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
endless.setBloodScore(RedisUtil.getInstence().getZSetScore(RedisKey.BLOODY_RANK,Integer.toString(1), Integer.toString(userId)).intValue());
List<CommonProto.GiftGoodsInfo> goodsBagInfo = new ArrayList<>(SRechargeCommodityConfig.rechargeCommodityConfigMap.size());
BuyGoodsLogic.getGoodsBagInfo(userId,goodsBagInfo,true);
int vipPrivilageValue = user.getPlayerInfoManager().getVipPrivilageValue(SMazeTreasureSetting.sMazeTreasureSetting.getRefreshVIP());
PlayerInfoProto.GetPlayerInfoResponse getPlayerInfoResponse
= PlayerInfoProto.GetPlayerInfoResponse.newBuilder()
.setPlayer(player)
@ -164,7 +166,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
.addAllPlayedMapTypes(mapManager.getPlayedMapType())
.setAmount(rechargeInfo.getSaveAmt())
.setVipDaily(playerInfoManager.getHadTakeDailyBoxVip())
.setMissingRefreshCount(user.getUserMissionManager().getMissingRoomMissionType().getCoinRefreshCount())
.setMissingRefreshCount(vipPrivilageValue)
.build();
try {
MessageUtil.sendMessage(iSession, 1, MessageTypeProto.MessageType.GET_PLAYERINFO_RESPONSE_VALUE, getPlayerInfoResponse, true);

View File

@ -1,19 +0,0 @@
package com.ljsd.jieling.handler.champion;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.logic.championship.ChampionshipLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.MessageTypeProto;
public class ChampionGetTeamInfoHandler extends BaseHandler {
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.CHAMPION_GET_MYTEAM_REQUESST;
}
@Override
public void process(ISession iSession, PacketNetData netData) throws Exception {
ChampionshipLogic.getMyTeamInfo(iSession);
}
}

View File

@ -14,6 +14,6 @@ public class ChampionGetWorldRankHandler extends BaseHandler<ArenaInfoProto.Cham
@Override
public void processWithProto(ISession iSession, ArenaInfoProto.ChampionGetWorldRankRequest proto) throws Exception {
ChampionshipLogic.getWorldRankByPage(iSession,proto.getPage());
ChampionshipLogic.getWorldRankByPage(iSession,proto.getType(),proto.getPage());
}
}

View File

@ -287,12 +287,7 @@ public class ArenaLogic {
.build();
builder.setFightData(build);
//数据互换
byte[] snapRecord = CommonProto.FightData.newBuilder()
.setFightMaxTime(SArenaSetting.getSArenaSetting().getMostTime())
.setFightSeed(seed)
.setHeroFightInfos(deffightTeamInfo)
.addMonsterList(fightTeamInfo)
.build().toByteArray();
byte[] snapRecord = build.toByteArray();
arenaRecord.setFightData(snapRecord);
return fightResult.getCheckResult()[0];
}

View File

@ -2,10 +2,12 @@ package com.ljsd.jieling.logic.championship;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.googlecode.protobuf.format.JsonFormat;
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
import com.ljsd.jieling.core.FunctionIdEnum;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.core.HandlerLogicThread;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.exception.ErrorCode;
@ -80,6 +82,7 @@ public class ChampionshipLogic {
}else{
arenaRecodeds = RedisUtil.getInstence().lGet(RedisKey.CHAMPION_FINAL4_JOIN_IDS, "", 0, -1);
}
SChampionshipSetting sChampionshipSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getsChampionshipSetting();
List<Object> arenaIds = new ArrayList<>(arenaRecodeds);
List<ArenaRecord> arenaRecords = RedisUtil.getInstence().getMapEntrys(RedisKey.CHAMPION_ARENA_RECORD, "", arenaIds, ArenaRecord.class);
Map<Integer, SArenaRobotConfig> config = STableManager.getConfig(SArenaRobotConfig.class);
@ -91,13 +94,17 @@ public class ChampionshipLogic {
String attackName = getRoleNameById(attackId, config);
String defName = getRoleNameById(defUid, config);
int fightResult = arenaRecord.getFightResult();
if (curArenaRecordIds.contains(arenaRecord.getId()) && progress % 10 % 4 != 0) {
if (arenaRecord.getRoundTims() == roundTimes && progress % 10 % 4 != 3) {
fightResult = -1;
}
if(fightResult == -2){
fightResult = -1;
}
int teamId=1;
if(type == 1){
teamId = memberPerOfTeam.get(attackId) +1;
}
builder.addChampionBattlePairInfo(CommonProto.ChampionBattlePairInfo.newBuilder()
.setAttackName(attackName)
.setDefName(defName)
@ -105,6 +112,7 @@ public class ChampionshipLogic {
.setRoundTImes(arenaRecord.getRoundTims())
.setTeamId(teamId)
.setId(arenaRecord.getId())
.setPosition(arenaRecord.getNums()+1)
);
}
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.CHAMPION_VIEW_FINAL_RESPONSE_VALUE,builder.build(),true);
@ -248,6 +256,17 @@ public class ChampionshipLogic {
*/
public static void start() {
LOGGER.info("the champion start...");
Set<ZSetOperations.TypedTuple<String>> arenaRankInfoInRedis = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.CHAMPION_RANK,"", 0, -1);
Map<Integer, SArenaRobotConfig> robotConfigMap = STableManager.getConfig(SArenaRobotConfig.class);
Set<Integer> joinUids = new HashSet<>(128);
for(ZSetOperations.TypedTuple<String> item : arenaRankInfoInRedis){
String uidStr = item.getValue();
int uid = Integer.parseInt(uidStr);
if(!robotConfigMap.containsKey(uid)){
joinUids.add(uid);
}
}
clearReidsWhenEnd(joinUids);
SChampionshipSetting sChampionshipSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getsChampionshipSetting();
int championshipPlayer = sChampionshipSetting.getChampionshipPlayer();
int curSeason = ArenaLogic.getInstance().getCurSeason();
@ -297,7 +316,7 @@ public class ChampionshipLogic {
}
int trialsGroup = sChampionshipSetting.getTrialsGroup();
int nums = championshipPlayer / trialsGroup;
List<List<Integer>> memberOfTeamOfGroup = getMemberOfTeamOfGroup(memberInfos, nums);
List<List<Integer>> memberOfTeamOfGroup = getMemberOfTeamOfGroup(memberInfos, nums,false);
String key = RedisUtil.getInstence().getKey(RedisKey.CHAMPION_JOIN, "");
RedisUtil.getInstence().del(key, RedisUtil.getInstence().getKey(RedisKey.CHAMPION_RANK, ""));
RedisUtil.getInstence().updateZsetScores(RedisKey.CHAMPION_RANK,"",arenaRankInfoForChampion);
@ -325,9 +344,10 @@ public class ChampionshipLogic {
});
int rank=1;
Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.CHAMPION_RANK, Integer.toString(1), 0, -1);
Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.CHAMPION_RANK,"", 0, -1);
Map<Integer, SArenaRobotConfig> robotConfigMap = STableManager.getConfig(SArenaRobotConfig.class);
int nowTime = (int)(TimeUtils.now()/1000);
Set<Integer> joinUids = new HashSet<>(128);
for(ZSetOperations.TypedTuple<String> item : arenaRankInfo){
String uidStr = item.getValue();
int uid = Integer.parseInt(uidStr);
@ -335,51 +355,43 @@ public class ChampionshipLogic {
rank++;
continue;
}
joinUids.add(uid);
User user = UserManager.getUser(uid);
SChampionshipReward sChampionshipReward = rewardsMap.get(rank);
String title = SErrorCodeEerverConfig.getI18NMessage("champion_reward_title");
String content = SErrorCodeEerverConfig.getI18NMessage("champion_reward_txt",new Object[]{rank++});
MailLogic.getInstance().sendMail(user.getId(),title,content,ItemUtil.getMailReward(sChampionshipReward.getSeasonReward()),nowTime, Global.MAIL_EFFECTIVE_TIME);
}
clearReidsWhenEnd(joinUids);
}
/**
*
* 1.
* 2.
* 使
*/
public static void whenStart() throws Exception {
/* TimeControllerOfFunction timeControllerOfFunction = GlobalDataManaager.getInstance().getTimeControllerOfFunctionByFunctinoType(FunctionIdEnum.TopBattle);
if( null == timeControllerOfFunction){
progress = -1;
return;
}
String key = RedisUtil.getInstence().getKey(RedisKey.CHAMPION_JOIN, "");
Type type = new TypeToken<Map<Integer, byte[]>>() {
}.getType();
Object championJoins = RedisUtil.getInstence().get(key);*/
// start();
/* for(int i=1;i<8;i++){
start();
for(int i=1;i<8;i++){
roundTimes=i;
selectToBattle();
switchBet();
switchBet(47);
scoreToRedis();
}
selectToJoinFinal();
schedule=2;
for(int i=8;i<12;i++){
for(int i=8;i<13;i++){
roundTimes=i;
selectToBattle();
switchBet();
switchBet(47);
scoreToRedis();
}*/
}
close();
}
@ -391,7 +403,7 @@ public class ChampionshipLogic {
* @param groupNums
* @return
*/
private static List<List<Integer>> getMemberOfTeamOfGroup(List<MemberInfo> memberInfoList,int groupNums){
private static List<List<Integer>> getMemberOfTeamOfGroup(List<MemberInfo> memberInfoList,int groupNums,boolean teamUpdate){
Collections.shuffle(memberInfoList);
int index=0;
List<List<Integer>> memberOfTeamTmp = new ArrayList<>();
@ -402,7 +414,9 @@ public class ChampionshipLogic {
for(MemberInfo memberInfo : memberInfoList){
int teamId = (index++ % groupNums);
memberOfTeamTmp.get(teamId).add(memberInfo.getUid());
if(schedule == 1){
if(teamUpdate){
memberInfo.setTeamId(teamId*100);
}else{
memberInfo.setTeamId(teamId);
}
}
@ -422,25 +436,21 @@ public class ChampionshipLogic {
int uid = session.getUid();
//组装数据
int myRank = RedisUtil.getInstence().getZSetreverseRank(RedisKey.CHAMPION_RANK, "", Integer.toString(uid)).intValue();
String myCurJoinBattleId = getMyCurJoinBattleId(uid);
ArenaInfoProto.ChampionGetInfoResponse.Builder builder = ArenaInfoProto.ChampionGetInfoResponse.newBuilder().setProgress(progress).setEndTime(endTime).setMyrank(myRank);
if(myRank!=-1){
MemberInfo memberInfo = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_JOIN, "", Integer.toString(uid), MemberInfo.class);
builder.setMyscore(memberInfo.getScore());
}
if(!StringUtil.isEmpty(myCurJoinBattleId)){
builder.setJoinState(1);
ArenaRecord arenaRecord =RedisUtil.getInstence().getMapValue(RedisKey.CHAMPION_ARENA_RECORD,"",myCurJoinBattleId,ArenaRecord.class);
String key = RedisUtil.getInstence().getKey(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(uid));
Object latestKey = RedisUtil.getInstence().lGetIndex(key, -1);
ArenaRecord arenaRecord = RedisUtil.getInstence().getMapValue(RedisKey.CHAMPION_ARENA_RECORD, "", latestKey.toString(), ArenaRecord.class);
int enemyId = arenaRecord.getDefUid();
int fightResult = arenaRecord.getFightResult();
if(uid == enemyId){
enemyId = arenaRecord.getAttackId();
fightResult=1^fightResult;
}
CommonProto.ChampionBattleInfo.Builder builder1 = CommonProto.ChampionBattleInfo.newBuilder();
if(progress%10%4 != 0){
if(roundTimes == arenaRecord.getRoundTims() && (progress%10%4 != 3 || fightResult==-2)){
fightResult =-1;
}else{
}
if(fightResult!=-1){
builder1.setFightData( CommonProto.FightData.parseFrom(arenaRecord.getFightData()));
}
builder.setChampionBattleInfo(builder1
@ -466,9 +476,12 @@ public class ChampionshipLogic {
ArenaRecord arenaRecord = RedisUtil.getInstence().getMapValue(RedisKey.CHAMPION_ARENA_RECORD, "", selectIdForRedis, ArenaRecord.class);
if(type == 0){
int fightResult=arenaRecord.getFightResult();
if(progress%10%4 != 0){
if(arenaRecord.getRoundTims() == roundTimes && progress%10%4 != 3){
fightResult =-1;
}
if(fightResult == -2){
fightResult=-1;
}
int myGuessID = 0;
String guessUidStr = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_BET_MINE, Integer.toString(uid), selectIdForRedis, String.class);
if(!StringUtil.isEmpty(guessUidStr)) {
@ -544,83 +557,69 @@ public class ChampionshipLogic {
* @param session
* @throws ErrorCodeException
*/
public static void getMyTeamInfo(ISession session) throws ErrorCodeException {
public static void getMyTeamInfo(ISession session) throws Exception {
int uid = session.getUid();
MemberInfo memberInfo = getJoinMemberInfo(uid);
if(memberInfo == null){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
List<Integer> memberIds = getMermberTeam().get(memberInfo.getTeamId());
Map<Integer, SArenaRobotConfig> robotConfigMap = STableManager.getConfig(SArenaRobotConfig.class);
List<CommonProto.ChampionTeamPersonInfo> championTeamPersonInfoList = new ArrayList<>(memberIds.size());
memberIds.forEach(uidTmp -> {
List<Integer> memberIds = getMermberTeam().get(memberInfo.getTeamId()%100);
ArenaInfoProto.ChampionGetWorldRankResponse.Builder builder = ArenaInfoProto.ChampionGetWorldRankResponse.newBuilder();
List<CommonProto.ArenaEnemy> arenaRankMemberInfo = new ArrayList<>(8);
Map<Integer,Integer> uidRankMap = new HashMap<>();
for(int uidTmp : memberIds){
int score = getJoinMemberInfo(uidTmp).getScore();
String name=null;
if(robotConfigMap.containsKey(uidTmp)){
SArenaRobotConfig sArenaRobotConfig = robotConfigMap.get(uidTmp);
name = sArenaRobotConfig.getRobotName();
}else{
try {
User user = UserManager.getUser(uidTmp);
name = user.getPlayerInfoManager().getNickName();
} catch (Exception e) {
e.printStackTrace();
}
}
championTeamPersonInfoList.add( CommonProto.ChampionTeamPersonInfo.newBuilder()
.setUid(uidTmp)
.setScore(score)
.setName(name)
.build());
});
Collections.sort(championTeamPersonInfoList, new Comparator<CommonProto.ChampionTeamPersonInfo>() {
@Override
public int compare(CommonProto.ChampionTeamPersonInfo o1, CommonProto.ChampionTeamPersonInfo o2) {
return o2.getScore() - o1.getScore();
}
});
ArenaInfoProto.ChampionGetMyTeamInfoResponse build = ArenaInfoProto.ChampionGetMyTeamInfoResponse.newBuilder().addAllChampionTeamPersonInfo(championTeamPersonInfoList).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.CHAMPION_GET_MYTEAM_RESPONSE_VALUE,build,true);
uidRankMap.put(uidTmp,score);
}
//这里将map.entrySet()转换成list
List<Map.Entry<Integer,Integer>> list = new ArrayList<Map.Entry<Integer,Integer>>(uidRankMap.entrySet());
//然后通过比较器来实现排序
Collections.sort(list, (o1,o2)-> o2.getValue().compareTo(o1.getValue()));
int rank=1;
for(Map.Entry<Integer,Integer> mapping:list){
CommonProto.ArenaEnemy enemyInfo = getEnemyInfo(mapping.getKey(), rank++, mapping.getValue(),1);
if( uid == mapping.getKey()){
builder.setMyInfo(enemyInfo);
}
builder.addRankInfos(enemyInfo);
}
ArenaInfoProto.ChampionGetWorldRankResponse buildResponse = builder.addAllRankInfos(arenaRankMemberInfo).build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.CHAMPION_GET_RANK_RESPONSE_VALUE,buildResponse,true);
}
//查看我的战斗记录
public static void viewAllMyBattleInfo(ISession session) throws Exception {
int uid = session.getUid();
Map<String, Integer> mapValues = RedisUtil.getInstence().getMapValues(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(uid), String.class, Integer.class);
List<Object> ids = new ArrayList<>(mapValues.keySet());
List<ArenaRecord> myArenaRecordInfos = RedisUtil.getInstence().getMapEntrys(RedisKey.CHAMPION_ARENA_RECORD, "", ids, ArenaRecord.class);
List<String> myArenaIds = RedisUtil.getInstence().lGet(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(uid), 0, -1);
ArenaInfoProto.ChanpionGetAllMyBattleHistoryResponse.Builder builder = ArenaInfoProto.ChanpionGetAllMyBattleHistoryResponse.newBuilder();
Map<Integer, SArenaRobotConfig> robotConfigMap = STableManager.getConfig(SArenaRobotConfig.class);
for(ArenaRecord arenaRecord : myArenaRecordInfos){
int enemyId = arenaRecord.getDefUid();
if(arenaRecord.getDefUid() == uid){
enemyId = arenaRecord.getAttackId();
}
int fightResult = arenaRecord.getFightResult();
if(roundTimes == arenaRecord.getRoundTims()){
if(progress%10%4 != 0){
if(myArenaIds!=null){
List<Object> ids = new ArrayList<>(myArenaIds);
List<ArenaRecord> myArenaRecordInfos = RedisUtil.getInstence().getMapEntrys(RedisKey.CHAMPION_ARENA_RECORD, "", ids, ArenaRecord.class);
Map<Integer, SArenaRobotConfig> robotConfigMap = STableManager.getConfig(SArenaRobotConfig.class);
for(ArenaRecord arenaRecord : myArenaRecordInfos){
int enemyId = arenaRecord.getDefUid();
int fightResult = arenaRecord.getFightResult();
if(roundTimes == arenaRecord.getRoundTims()){
if(progress%10%4 != 0 || fightResult==-2){
fightResult =-1;
}
}
if(fightResult == -2){
fightResult =-1;
}
int enemyType = robotConfigMap.containsKey(enemyId)?0:1;
CommonProto.ArenaEnemy arenaEnemy = ArenaLogic.getInstance().getArenaEnemy(enemyId, enemyType);
ArenaInfoProto.ChampionTwoEnemInfo build = ArenaInfoProto.ChampionTwoEnemInfo.newBuilder().setBlueEnemy(arenaEnemy).setRoundTimes(arenaRecord.getRoundTims())
.setFightResult(fightResult)
.setId(arenaRecord.getId())
.build();
builder.addEnemyPairInfo(build);
}
if(fightResult == -2){
fightResult =-1;
}
if(fightResult!=-1 && enemyId!=arenaRecord.getDefUid()){
fightResult = 1^0;
}
int enemyType = robotConfigMap.containsKey(enemyId)?0:1;
CommonProto.ArenaEnemy arenaEnemy = ArenaLogic.getInstance().getArenaEnemy(enemyId, enemyType);
ArenaInfoProto.ChampionTwoEnemInfo build = ArenaInfoProto.ChampionTwoEnemInfo.newBuilder().setBlueEnemy(arenaEnemy).setRoundTimes(arenaRecord.getRoundTims())
.setFightResult(fightResult)
.setId(arenaRecord.getId())
.build();
builder.addEnemyPairInfo(build);
}
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.CHAMPION_GET_MYHISTORY_RESPONSE_VALUE,builder.build(),true);
}
@ -667,8 +666,6 @@ public class ChampionshipLogic {
Map<Integer, SArenaRobotConfig> config = STableManager.getConfig(SArenaRobotConfig.class);
if(config.containsKey(uid)){
SArenaRobotConfig sArenaRobotConfig = config.get(uid);
return;
}
MemberInfo memberInfo = joinMembers.get(uid);
@ -778,7 +775,7 @@ public class ChampionshipLogic {
}
ArenaRecord arenaRecord = RedisUtil.getInstence().getMapValue(RedisKey.CHAMPION_ARENA_RECORD, "", selectUid, ArenaRecord.class);
if(arenaRecord.getAttackId()!=winUid && arenaRecord.getDefUid()!=winUid){
LOGGER.error("the uid={} guess winner={} is not exists",uid,winUid);
LOGGER.error("the uid={} guess winner={} is not exists,recordId={}",uid,winUid,arenaRecord.getId());
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
User user = UserManager.getUser(uid);
@ -802,14 +799,35 @@ public class ChampionshipLogic {
/**
*
*/
public static void clearReidsWhenEnd(){
public static void clearReidsWhenEnd( Set<Integer> joinUids){
List<String> delKeys = new ArrayList<>();
String betAllKey = RedisUtil.getInstence().getKey(RedisKey.CHAMPION_BET_ALL, "");
Set<String> betDetails = RedisUtil.getInstence().getZset(betAllKey, 0, -1);
for(String betInfo : betDetails){
Map<Integer, Integer> userDeatails = RedisUtil.getInstence().getMapValues(RedisKey.CHAMPION_BET_DETAIL, betInfo, Integer.class, Integer.class);
userDeatails.keySet().forEach(uid->{
delKeys.add(RedisUtil.getInstence().getKey(RedisKey.CHAMPION_BET_MINE,Integer.toString(uid)));
});
delKeys.add(RedisUtil.getInstence().getKey(RedisKey.CHAMPION_BET_DETAIL, betInfo));
}
delKeys.add(betAllKey);
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_ARENA_RECORD, ""));
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_CHOSE_TEAM_INFO, ""));
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_CUR_JOIN_IDS, ""));
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_JOIN, ""));
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_CUR_BETID, ""));
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_FINAL32_JOIN_IDS, ""));
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_FINAL4_JOIN_IDS, ""));
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_FINAL_TEAM_INFO, ""));
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_RANK, ""));
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_FINAL_RECODED_IDS, ""));
//我的历史结果
joinUids.forEach(uid->{
delKeys.add( RedisUtil.getInstence().getKey(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(uid)));
});
RedisUtil.getInstence().del(delKeys.toArray(new String[0]));
}
/**
@ -847,6 +865,7 @@ public class ChampionshipLogic {
drop[0][0] = arenaItem[0];
drop[0][1] = mineWinCoins;
ItemUtil.drop(user, drop, BIReason.CHAMPIION_BET_WIN_REWARD);
MongoUtil.getLjsdMongoTemplate().lastUpdate();
}
});
ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker);
@ -870,23 +889,22 @@ public class ChampionshipLogic {
if(!betHistorys.isEmpty()){
List<Object> ids = new ArrayList<>(betHistorys.keySet());
List<ArenaRecord> arenaRecords = RedisUtil.getInstence().getMapEntrys(RedisKey.CHAMPION_ARENA_RECORD, "", ids, ArenaRecord.class);
String selectIdForRedis = getSelectIdForRedis();
Map<Integer, SArenaRobotConfig> arenaRobotConfigMap = STableManager.getConfig(SArenaRobotConfig.class);
for(ArenaRecord arenaRecord: arenaRecords){
int attactkUidType = arenaRobotConfigMap.containsKey(arenaRecord.getAttackId())?0:1;
int defUidType = arenaRobotConfigMap.containsKey(arenaRecord.getAttackId())?0:1;
int defUidType = arenaRobotConfigMap.containsKey(arenaRecord.getDefUid())?0:1;
CommonProto.ArenaEnemy attackEnemy = ArenaLogic.getInstance().getArenaEnemy(arenaRecord.getAttackId(), attactkUidType);
CommonProto.ArenaEnemy defEnemy = ArenaLogic.getInstance().getArenaEnemy(arenaRecord.getDefUid(), defUidType);
int fightResult = arenaRecord.getFightResult();
int guessState = 3;
if(arenaRecord.getId().equals(selectIdForRedis)){
if(progress%10%4!=0){
if(arenaRecord.getRoundTims()==roundTimes){
if(progress%10%4!=3){
fightResult=-1;
}
if(progress%10%4 == 4){
if(progress%10%4 == 0){
guessState=0;
}
if(progress%10%4 == 3){
if(progress%10%4 == 1 || progress%10%4 == 2){
guessState=1;
}
}
@ -894,20 +912,31 @@ public class ChampionshipLogic {
fightResult =-1;
}
ArenaInfoProto.ChampionMyBetDetail.Builder betDetailBuilder = ArenaInfoProto.ChampionMyBetDetail.newBuilder();
String guessUid = betHistorys.get(arenaRecord.getId());
Integer mineBetCoins = RedisUtil.getInstence().getMapEntry(RedisKey.CHAMPION_BET_DETAIL, arenaRecord.getId() + ":" + guessUid, Integer.toString(uid), Integer.class);
int myWinCoins =0;
if(fightResult>=0){
int winner = arenaRecord.getAttackId();
int loseer = arenaRecord .getDefUid();
if(fightResult == 0){
winner = arenaRecord.getDefUid();
loseer = arenaRecord.getAttackId();
}
String guessUid = betHistorys.get(arenaRecord.getId());
if(!StringUtil.isEmpty(guessUid) && guessUid.equals(winner)){
guessState = 2;
Double winnerCoins = RedisUtil.getInstence().getZSetScore(RedisKey.CHAMPION_BET_ALL, "", arenaRecord.getId() + ":" + winner);
Double loseCoins = RedisUtil.getInstence().getZSetScore(RedisKey.CHAMPION_BET_ALL, "", arenaRecord.getId() + ":" + loseer);
myWinCoins = (int)(winnerCoins/(winnerCoins+loseCoins)*mineBetCoins);
}
// betDetailBuilder.setFightData(CommonProto.FightData.parseFrom(arenaRecord.getFightData()));
}
builder.addChampionMyBetDetails(betDetailBuilder.setBetResult(guessState).setEnemyPairInfo(
ArenaInfoProto.ChampionTwoEnemInfo.newBuilder().setRedEnemy(attackEnemy).setBlueEnemy(defEnemy).setFightResult(fightResult)
));
builder.addChampionMyBetDetails(betDetailBuilder.setBetResult(guessState)
.setEnemyPairInfo(ArenaInfoProto.ChampionTwoEnemInfo.newBuilder().setRedEnemy(attackEnemy).setBlueEnemy(defEnemy).setFightResult(fightResult).setId(arenaRecord.getId()).setRoundTimes(arenaRecord.getRoundTims()))
.setMyBetCoins(mineBetCoins)
.setMyWinCoins(myWinCoins)
);
}
}
@ -984,6 +1013,12 @@ public class ChampionshipLogic {
}
});
}
int times = 0;
int length = possibleJoin.size();
if(length<8){
length=8;
}
length = length / 8;
for(int i=0;i<possibleJoin.size();i=i+2){
MemberInfo memberInfoAttack = possibleJoin.get(i);
MemberInfo memberInfoDef = possibleJoin.get(i+1);
@ -1000,6 +1035,11 @@ public class ChampionshipLogic {
arenaRecord.setDefUid(defUid);
arenaRecord.setType(type);
arenaRecord.setRoundTims(roundTimes);
if(roundTimes>10){
arenaRecord.setNums(times++);
}else{
arenaRecord.setNums(times++%length);
}
arenaRecordMap.put(arenaRecord.getId(),arenaRecord);
}
@ -1010,6 +1050,7 @@ public class ChampionshipLogic {
if(schedule == 2){
if(arenaRecordIds.size()>=4){
RedisUtil.getInstence().lSet(RedisKey.CHAMPION_FINAL32_JOIN_IDS,"",arenaRecordIds);
LOGGER.info("the rountTimes={},the size={}",roundTimes,arenaRecordIds.size());
}else{
RedisUtil.getInstence().lSet(RedisKey.CHAMPION_FINAL4_JOIN_IDS,"",arenaRecordIds);
}
@ -1020,10 +1061,13 @@ public class ChampionshipLogic {
int defUid = arenaRecord.getDefUid();
int attackId = arenaRecord.getAttackId();
if(!robotConfigMap.containsKey(defUid)){
RedisUtil.getInstence().putMapEntry(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(defUid),id, 0);
String key = RedisUtil.getInstence().getKey(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(defUid));
RedisUtil.getInstence().lSet(key,id);
}
if(!robotConfigMap.containsKey(attackId)){
RedisUtil.getInstence().putMapEntry(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(attackId),id, 0);
String key = RedisUtil.getInstence().getKey(RedisKey.CHAMPION_MY_BATTLLE_IDS, Integer.toString(attackId));
RedisUtil.getInstence().lSet(key,id);
}
});
@ -1066,7 +1110,7 @@ public class ChampionshipLogic {
}
}
RedisUtil.getInstence().updateZsetScores(RedisKey.CHAMPION_RANK,"",arenaRankInfoForChampion);
List<List<Integer>> finalmemberOfTeam = getMemberOfTeamOfGroup(canJoinFinal,knockoutGroup);
List<List<Integer>> finalmemberOfTeam = getMemberOfTeamOfGroup(canJoinFinal,knockoutGroup,true);
for(int i=0;i<finalmemberOfTeam.size();i++){
RedisUtil.getInstence().putMapEntry(RedisKey.CHAMPION_FINAL_TEAM_INFO, "",Integer.toString(i),finalmemberOfTeam.get(i));
}
@ -1086,9 +1130,9 @@ public class ChampionshipLogic {
* 4广
* @throws Exception
*/
public static void switchBet() throws Exception {
public static void switchBet(int functionId) throws Exception {
int[][] itemNum = STableManager.getFigureConfig(CommonStaticConfig.class).getsChampionshipSetting().getItemNum();
InnerMessageUtil.broadcastWithRandom(user1 -> {
/* InnerMessageUtil.broadcastWithRandom(user1 -> {
if(user1==null){
return;
}
@ -1101,17 +1145,43 @@ public class ChampionshipLogic {
return;
}
MissionEventDistributor.requestStart();
ItemUtil.drop(user1,itemNum, BIReason.CHAMPIION_BET_REWARD);
CommonProto.Drop.Builder drop =
LOGGER.info("drop--->>>>>>>>> uid ={},drop={}",session.getUid(), JsonFormat.printToString(drop.build()));
MissionEventDistributor.requestEnd(session,true);
}, new LinkedList<>(OnlineUserManager.sessionMap.keySet()),1);
MongoUtil.getLjsdMongoTemplate().lastUpdate();
}, new LinkedList<>(OnlineUserManager.sessionMap.keySet()),1);*/
SGlobalSystemConfig sGlobalSystemConfig = STableManager.getConfig(SGlobalSystemConfig.class).get(functionId);
OnlineUserManager.sessionMap.values().forEach(session->{
try {
User user = UserManager.getUser(session.getUid());
AyyncWorker ayyncWorker = new AyyncWorker(user, true, new AyncWorkerRunnable() {
@Override
public void work(User user) throws Exception {
if(!HandlerLogicThread.checkOpen(user, sGlobalSystemConfig)){
return;
}
ItemUtil.drop(user, itemNum, BIReason.CHAMPIION_BET_REWARD);
MongoUtil.getLjsdMongoTemplate().lastUpdate();
}
});
ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker);
} catch (Exception e) {
e.printStackTrace();
}
});
snapPlayFightInfo();
selectBetTeam();
}
//获取排行榜信息
public static void getWorldRankByPage(ISession session,int page) throws Exception {
public static void getWorldRankByPage(ISession session,int type,int page) throws Exception {
if(type == 1){
getMyTeamInfo(session);
return;
}
if (page == 0) {
page = 1;
}
@ -1128,7 +1198,7 @@ public class ChampionshipLogic {
String value = item.getValue();
int uid = Integer.parseInt(value);
start++;
CommonProto.ArenaEnemy enemyInfo = getEnemyInfo(uid, start);
CommonProto.ArenaEnemy enemyInfo = getEnemyInfo(uid, start,0,0);
if(enemyInfo == null){
start--;
continue;
@ -1142,7 +1212,7 @@ public class ChampionshipLogic {
if(myInfo==null && end>=rankEndLine){
int myRank= RedisUtil.getInstence().getZSetreverseRank(RedisKey.CHAMPION_RANK,"",Integer.toString(myUid)).intValue();
if(myRank != -1){
myInfo=getEnemyInfo(myUid, myRank);
myInfo=getEnemyInfo(myUid, myRank,0,0);
}
}
if(myInfo!=null){
@ -1154,11 +1224,16 @@ public class ChampionshipLogic {
}
private static CommonProto.ArenaEnemy getEnemyInfo(int uid,int start) throws Exception {
private static CommonProto.ArenaEnemy getEnemyInfo(int uid,int start,int score,int type) throws Exception {
Map<Integer, SArenaRobotConfig> robotConfigMap = STableManager.getConfig(SArenaRobotConfig.class);
CommonProto.ArenaEnemy.Builder builder = CommonProto.ArenaEnemy.newBuilder();
if(robotConfigMap.containsKey(uid)){
SArenaRobotConfig sArenaRobotConfig = robotConfigMap.get(uid);
CommonProto.Team teamBuild = CommonProto.Team.newBuilder().addAllHeroTid(sArenaRobotConfig.getHeroList()).build();
if(type == 0){
CommonProto.Team teamBuild = CommonProto.Team.newBuilder().addAllHeroTid(sArenaRobotConfig.getHeroList()).build();
builder.setTeam(teamBuild);
}
CommonProto.ArenaPersonInfo personInfoBuild = CommonProto.ArenaPersonInfo.newBuilder()
.setUid(uid)
.setLevel(sArenaRobotConfig.getRobotLevel())
@ -1167,11 +1242,10 @@ public class ChampionshipLogic {
.setRank(start)
.setTotalForce(sArenaRobotConfig.getTotalForce())
.setHeadFrame(0)
.setScore(score)
.build();
return CommonProto.ArenaEnemy.newBuilder()
.setPersonInfo(personInfoBuild)
.setTeam(teamBuild)
.build();
return builder.setPersonInfo(personInfoBuild).build();
}
User user = UserManager.getUser(uid,true);
@ -1179,13 +1253,17 @@ public class ChampionshipLogic {
return null;
}
int totalForce = HeroLogic.getInstance().calTeamTotalForce(user, GlobalsDef.TEAM_ARENA_DEFENSE, false);
List<TeamPosHeroInfo> teamPosHeroInfoList = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.TEAM_ARENA_DEFENSE);
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
List<Integer> heroTids = new ArrayList<>(teamPosHeroInfoList.size());
for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfoList) {
heroTids.add(heroMap.get(teamPosHeroInfo.getHeroId()).getTemplateId());
if(type == 0){
List<TeamPosHeroInfo> teamPosHeroInfoList = user.getTeamPosManager().getTeamPosForHero().get(GlobalsDef.TEAM_ARENA_DEFENSE);
Map<String, Hero> heroMap = user.getHeroManager().getHeroMap();
List<Integer> heroTids = new ArrayList<>(teamPosHeroInfoList.size());
for (TeamPosHeroInfo teamPosHeroInfo : teamPosHeroInfoList) {
heroTids.add(heroMap.get(teamPosHeroInfo.getHeroId()).getTemplateId());
}
CommonProto.Team teamBuild = CommonProto.Team.newBuilder().addAllHeroTid(heroTids).build();
builder.setTeam(teamBuild);
}
CommonProto.Team teamBuild = CommonProto.Team.newBuilder().addAllHeroTid(heroTids).build();
PlayerManager playerInfoManager = user.getPlayerInfoManager();
CommonProto.ArenaPersonInfo personInfoBuild = CommonProto.ArenaPersonInfo.newBuilder()
.setUid(uid)
@ -1195,10 +1273,9 @@ public class ChampionshipLogic {
.setRank(start)
.setTotalForce(totalForce)
.setHeadFrame(playerInfoManager.getHeadFrame())
.setScore(score)
.build();
return CommonProto.ArenaEnemy.newBuilder()
.setPersonInfo(personInfoBuild)
.setTeam(teamBuild)
return builder.setPersonInfo(personInfoBuild)
.build();
}
@ -1223,10 +1300,25 @@ public class ChampionshipLogic {
schedule=1;
}else {//决赛
int totalWiner =sChampionshipSetting.getChampionshipPlayer()/ sChampionshipSetting.getTrialsGroup() * sChampionshipSetting.getTrialsGroupWinner();
int roundTimes = totalWiner>>diff;
if(roundTimes<2){
return;
}
if(diff>totalWiner){
if(isServerStart){
schedule=2;
progress= 253;
endTime = (int)( startTime/1000 + (round-1)*duration + getDuratimeByProgressState(3));
}
return;
}
if(Math.pow(2,diff)>=totalWiner){
if(isServerStart){
schedule=2;
progress= 253;
endTime = (int)( startTime/1000 + (round-1)*duration + getDuratimeByProgressState(3));
}
return;
}
progressTmp = 200 + (int)(diff+1)*10 + progressState;
if(schedule==1){ // 刚开始进入决赛,选拔出选手
selectToJoinFinal();
@ -1247,7 +1339,7 @@ public class ChampionshipLogic {
selectToBattle();
}
if(progress%10%4==1){ //竞猜阶段 后台自动运行战斗
switchBet();
switchBet(timeControllerOfFunction.getId());
}else if(progress%10%4==3){ //结算阶段
//等待玩家数据分数入redis
scoreToRedis();
@ -1259,7 +1351,6 @@ public class ChampionshipLogic {
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.CHAMPION_PROGRESS_UPDATE_INDICATION_VALUE,build,true);
}
}
private static int getDuratimeByProgressState(int progressState){
SChampionshipSetting sChampionshipSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getsChampionshipSetting();
if(progressState == 0){

View File

@ -24,6 +24,8 @@ public class ArenaRecord {
private int roundTims; //决赛阶段赋值 十位表示队伍id 个位表示第几轮
private int nums =1;
public ArenaRecord(){}
public int getAttackId() {
@ -105,4 +107,12 @@ public class ArenaRecord {
public void setRoundTims(int roundTims) {
this.roundTims = roundTims;
}
public int getNums() {
return nums;
}
public void setNums(int nums) {
this.nums = nums;
}
}

View File

@ -28,7 +28,7 @@ public class CumulationData {
// private Map<Integer,Integer> sHeroCountMap=new HashMap<>(); // 妖灵师数量统计
// * 获得某品质妖灵师 次数 获得需求品质妖灵师 3.4.5
private int[] heroQualityCount = new int[3];
private Map<Integer,Integer> heroQualityCount = new HashMap<>();
/**
@ -246,11 +246,11 @@ public class CumulationData {
this.recruitmentRands = recruitmentRands;
}
public void updateHeroQualityCount(int quality){
heroQualityCount[quality-3] = heroQualityCount[quality-3] +1;
heroQualityCount.put(quality,getHeroQualityCount(quality)+1);
}
public int[] getHeroQualityCount() {
return heroQualityCount;
public int getHeroQualityCount(int star) {
return heroQualityCount.get(star)==null?0:heroQualityCount.get(star);
}
public int[] getsEquipQualityCount() {

View File

@ -166,28 +166,33 @@ public class UserMissionManager extends MongoBase {
missingRoomMissionType.getFinishMissionIds().removeIf(value->missingRoomMissionType.getAllMissingTime().get(value)==-1);
missingRoomMissionType.getAllMissingTime().values().removeIf(value->value==-1);
boolean result;
SMazeTreasureSetting sMazeTreasureSetting = SMazeTreasureSetting.sMazeTreasureSettingMap.get(1);
SMazeTreasureSetting sMazeTreasureSetting = SMazeTreasureSetting.sMazeTreasureSetting;
result = ItemUtil.itemCost(user, new int[][]{sMazeTreasureSetting.getTakeOrder()}, BIReason.MISSING_ROOM_REFRESH_CONSUME, 1);
if(!result){
result = ItemUtil.itemCost(user, new int[][]{sMazeTreasureSetting.getRefreshItem()}, BIReason.MISSING_ROOM_REFRESH_CONSUME, 1);
if(!result){
int coinRefreshCount = missingRoomMissionType.getCoinRefreshCount();
int[][] refreshHighTypeNum = SMazeTreasureSetting.sMazeTreasureSettingMap.get(1).getRefreshHighTypeNum();
for(int[] refresh:refreshHighTypeNum){
if(coinRefreshCount==0||coinRefreshCount%refresh[0]!=0){
continue;
}else{
mustAppear.put(refresh[1],mustAppear.get(refresh[1])==null?1:(mustAppear.get(refresh[1])+1));
}
}
int coinRefreshCount = user.getPlayerInfoManager().getVipPrivilageValue(sMazeTreasureSetting.getRefreshVIP());
int[][] cost = sMazeTreasureSetting.getCost();
int count = (int)MathUtils.calABX(coinRefreshCount, cost[1]);
result = ItemUtil.itemCost(user, new int[][]{new int[]{cost[0][0], count}}, BIReason.MISSING_ROOM_REFRESH_CONSUME, 1);
missingRoomMissionType.setCoinRefreshCount(coinRefreshCount +1);
if(!result){
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
}
user.getPlayerInfoManager().updateVipPrivilage(sMazeTreasureSetting.getRefreshVIP(),1);
}
}
if(!result){
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
//高级特权
missingRoomMissionType.privilegeRefresh(user,sMazeTreasureSetting.getHighDailyPrivilege(),mustAppear);
//豪华特权
missingRoomMissionType.privilegeRefresh(user,sMazeTreasureSetting.getLuxuryDailyPrivilege(),mustAppear);
int[][] refreshHighTypeNum = sMazeTreasureSetting.getRefreshHighTypeNum();
for(int[] refresh:refreshHighTypeNum){
if(missingRoomMissionType.getRefreshTotalCount()==0||missingRoomMissionType.getRefreshTotalCount()%refresh[0]!=0){
continue;
}else{
mustAppear.put(refresh[1],mustAppear.get(refresh[1])==null?1:(mustAppear.get(refresh[1])+1));
}
}
missingRoomMissionType.setRefreshTotalCount(missingRoomMissionType.getRefreshTotalCount()+1);
}
missingRoomMissionType.getDoingMissionIds().clear();
}

View File

@ -41,6 +41,8 @@ import util.TimeUtils;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class HeroLogic{
private static final Logger LOGGER = LoggerFactory.getLogger(HeroLogic.class);
@ -557,7 +559,13 @@ public class HeroLogic{
throw new ErrorCodeException(ErrorCode.newDefineCode("hero null"));
}
SCHero scHero = SCHero.getsCHero().get(hero.getTemplateId());
int[] growthSwitch = scHero.getGrowthSwitch();
if(growthSwitch!=null&&growthSwitch.length>0){
Set<Integer> operateSet= Arrays.stream(growthSwitch).boxed().collect(Collectors.toSet());
if(operateSet.contains(1)){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
}
int oldLevel = hero.getLevel();
//判断需要进行升级还是进行突破
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.BREAK_TYPE,scHero.getStar());
@ -648,6 +656,13 @@ public class HeroLogic{
int oldStar = targetHero.getStar();
SCHero scHero = SCHero.getsCHero().get(targetHero.getTemplateId());
int[] growthSwitch = scHero.getGrowthSwitch();
if(growthSwitch!=null&&growthSwitch.length>0){
Set<Integer> operateSet= Arrays.stream(growthSwitch).boxed().collect(Collectors.toSet());
if(operateSet.contains(2)){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
}
Map<Integer, SCHeroRankUpConfig> scHeroRankUpConfigByType = STableManager.getFigureConfig(HeroStaticConfig.class).getScHeroRankUpConfigByShow(GlobalsDef.UP_STAR_TYPE,scHero.getStar());
SCHeroRankUpConfig scHeroRankUpConfig = scHeroRankUpConfigByType.get(oldStar);
if( targetHero.getLevel() < scHeroRankUpConfig.getLimitLevel()){
@ -2120,6 +2135,13 @@ public class HeroLogic{
}
HeroManager heroManager = user.getHeroManager();
Hero hero = user.getHeroManager().getHero(heroId);
int[] growthSwitch = SCHero.getsCHero().get(hero.getTemplateId()).getGrowthSwitch();
if(growthSwitch!=null&&growthSwitch.length>0){
Set<Integer> operateSet= Arrays.stream(growthSwitch).boxed().collect(Collectors.toSet());
if(operateSet.contains(3)){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
}
int star = hero.getStar();
int templateId = hero.getTemplateId();
Map<Integer, SHeroReturn> sHeroReturnMap = SHeroReturn.sheroReturnMap.get(templateId);

View File

@ -417,7 +417,7 @@ public class MissionLoigc {
count = cumulationData.getRecruitmentRands();
break;
case COLLECT_QUALITY_HERO:
count = cumulationData.getHeroQualityCount()[missionSubType[0]-3];
count = cumulationData.getHeroQualityCount(missionSubType[0]);
break;
case HERO_LEVLE_COUNT:
count = cumulationData.getHeroLevleCountMap().get(missionSubType[0]);
@ -707,11 +707,14 @@ public class MissionLoigc {
User user = UserManager.getUser(session.getUid());
MissingRoomMissionType missingRoomMissionType = user.getUserMissionManager().getMissingRoomMissionType();
Set<Integer> finishMissionIds = missingRoomMissionType.getFinishMissionIds();
if(finishMissionIds.contains(missionId)){
missingRoomMissionType.setMissingTime(missionId,0);
}else {
if(!finishMissionIds.contains(missionId)){
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
}
SMazeTreasure sMazeTreasure = SMazeTreasure.sMazeTreasureMap.get(missionId % 10000);
if(!ItemUtil.itemCost(user,new int[][]{sMazeTreasure.getSpeedUpTake()},BIReason.MISSING_ROOM_ACCELERATE_CONSUME,1)){
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
}
missingRoomMissionType.setMissingTime(missionId,0);
user.getUserMissionManager().updateString("missingRoomMissionType",missingRoomMissionType);
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
}

View File

@ -26,7 +26,13 @@ public class MissingRoomMissionType extends AbstractMissionType{
private int missionIndex;
private int coinRefreshCount;
private int refreshTotalCount;
// private int coinRefreshCount;
//
// private int higherDailyRefreshCount;
//
// private int especialDailyRefreshCount;
@Override
public void openMission(User user, int missionId, List<MissionStateChangeInfo> missionTypeEnumList) {
@ -57,20 +63,16 @@ public class MissingRoomMissionType extends AbstractMissionType{
MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, reward(missionId));
missionTypeEnumListMap.add(stateChangeInfo);
} else {
List<int[]> rewardAll = new ArrayList<>();
for (Integer id : getFinishMissionIds()) {
if(missingTime.get(id)==-1){
continue;
}
if (missingTime.get(id)==0||missingTime.get(id) <= TimeUtils.now() / 1000) {
for(int[] re:reward(id)){
rewardAll.add(re);
}
missingTime.put(id,-1);
MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(id, MissionState.REWARD, reward(id));
missionTypeEnumListMap.add(stateChangeInfo);
}
}
MissionStateChangeInfo stateChangeInfo = new MissionStateChangeInfo(missionId, MissionState.REWARD, rewardAll.toArray(new int[rewardAll.size()][]));
missionTypeEnumListMap.add(stateChangeInfo);
}
}
@ -129,6 +131,19 @@ public class MissingRoomMissionType extends AbstractMissionType{
heroesInfo.put(missionId,heroes);
}
public void privilegeRefresh(User user,int[][] privilege,Map<Integer,Integer> mustAppear){
if(user.getPlayerInfoManager().checkFunctionIsAllowed(privilege[0][0])&&privilege.length>1){
int especialCount = user.getPlayerInfoManager().getVipPrivilageValue(privilege[0][0]);
for(int i = 1; i< privilege.length; i++){
if(privilege[i][0]==especialCount+1){
mustAppear.put(privilege[i][1],mustAppear.get(privilege[i][1])==null?1:(mustAppear.get(privilege[i][1])+1));
}
}
user.getPlayerInfoManager().updateVipPrivilage(privilege[0][0],1);
}
}
public Map<Integer,Integer> getAllMissingTime(){
return missingTime;
}
@ -148,11 +163,12 @@ public class MissingRoomMissionType extends AbstractMissionType{
return missionIndex;
}
public int getCoinRefreshCount() {
return coinRefreshCount;
public int getRefreshTotalCount() {
return refreshTotalCount;
}
public void setCoinRefreshCount(int coinRefreshCount) {
this.coinRefreshCount = coinRefreshCount;
public void setRefreshTotalCount(int refreshTotalCount) {
this.refreshTotalCount = refreshTotalCount;
}
}

View File

@ -1,5 +1,6 @@
package com.ljsd.jieling.logic.rank.rankImpl;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.logic.dao.GuilidManager;
@ -10,6 +11,7 @@ import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import org.springframework.data.redis.core.ZSetOperations;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.function.BiConsumer;
@ -88,20 +90,19 @@ public abstract class AbstractRank implements IRank {
protected void getOptional(int index,ZSetOperations.TypedTuple<String> data,PlayerInfoProto.RankResponse.Builder builder) throws Exception {
User everyUser = UserManager.getUser(Integer.parseInt(data.getValue()), true);
CommonProto.RankInfo everyRankInfo = CommonProto.RankInfo.newBuilder()
CommonProto.RankInfo.Builder everyRankInfo = CommonProto.RankInfo.newBuilder()
.setRank(index)
.setParam1(getParam1(data.getScore()))
.setParam2(getParam2(data.getScore()))
.setParam3(getParam3(data.getScore()))
.build();
CommonProto.UserRank everyRank = CommonProto.UserRank.newBuilder()
.setParam3(getParam3(data.getScore()));
CommonProto.UserRank.Builder everyRank = CommonProto.UserRank.newBuilder()
.setUid(everyUser.getId())
.setUserName(everyUser.getPlayerInfoManager().getNickName())
.setHead(everyUser.getPlayerInfoManager().getHead())
.setHeadFrame(everyUser.getPlayerInfoManager().getHeadFrame())
.setLevel(everyUser.getPlayerInfoManager().getLevel())
.setRankInfo(everyRankInfo)
.build();
.setForce(everyUser.getPlayerInfoManager().getMaxForce());
builder.addRanks(everyRank);
}

View File

@ -1,12 +1,12 @@
package com.ljsd.jieling.logic.rank.rankImpl;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import org.springframework.data.redis.core.ZSetOperations;
import util.TimeUtils;
import java.util.Comparator;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@ -22,24 +22,37 @@ public class MainLevelRank extends AbstractRank {
@Override
public int[] getDataByScore(double score) {
return new int[]{Double.valueOf(score).intValue()};
int i = Double.valueOf(score).intValue();
return new int[]{i%10_000_000};
}
@Override
protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores, int start) throws Exception {
return super.getAllUserResponse(zsetreverseRangeWithScores, start);
PlayerInfoProto.RankResponse.Builder allUserResponse = super.getAllUserResponse(zsetreverseRangeWithScores, start);
List<CommonProto.UserRank> ranksBuilderList = allUserResponse.getRanksList();
if(ranksBuilderList.size()<2){
return allUserResponse;
}
List<CommonProto.UserRank> builders = new ArrayList<>(ranksBuilderList);
Collections.sort(builders,(o1, o2) -> {
if(o1.getRankInfo().getParam1()==o2.getRankInfo().getParam1()){
if(o1.getForce()>o2.getForce() &&o1.getRankInfo().getRank()>o2.getRankInfo().getRank()){
CommonProto.UserRank rankInfo1 = o1 ;
o1 = o2;
o2 = rankInfo1;
}
}
return o1.getRankInfo().getRank()-o2.getRankInfo().getRank();
});
PlayerInfoProto.RankResponse.Builder response = PlayerInfoProto.RankResponse.newBuilder();
response.setMyRankInfo(allUserResponse.getMyRankInfo()).addAllRanks(builders);
return response;
}
@Override
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(int start, int end) {
Set<ZSetOperations.TypedTuple<String>> rankByKey = super.getRankByKey(start, end);
// return rankByKey.stream().sorted(Comparator.comparing(v-> {
// try {
// return UserManager.getUser(Integer.parseInt(v.getValue())).getPlayerInfoManager().getMaxForce();
// } catch (Exception e) {
// e.printStackTrace();
// }
// })).collect(Collectors.toSet());
return rankByKey;
}

View File

@ -402,7 +402,7 @@ public class BuyGoodsLogic {
}
if(endTime!=0 && now > endTime){
boolean isNew = rechargeInfo.addNewSendId(goodsId);
if(!isNew){
if(isNew){
needChange = true;
}
continue;

View File

@ -27,7 +27,7 @@ public class RetrySendIndicationThread extends Thread{
try {
doWork();
Thread.sleep(20);
} catch (InterruptedException e) {
} catch (Exception e) {
e.printStackTrace();
}
}

View File

@ -509,6 +509,7 @@ public class ItemUtil {
List<CommonProto.Item> sendToFront = new CopyOnWriteArrayList<>();
for (Map.Entry<Integer, Integer> entry : itemMap.entrySet()) {
SItem sItem = SItem.getsItemMap().get (entry.getKey());
int itemNumlimit = sItem.getItemNumlimit();
if (sItem == null){
continue;
}
@ -516,21 +517,29 @@ public class ItemUtil {
if(itemNum <= 0){
continue;
}
if (itemNum >= sItem.getItemNumlimit()){
itemNum = sItem.getItemNumlimit();
if (itemNum >= itemNumlimit){
itemNum = itemNumlimit;
}
Item item = itemManager.getItem(entry.getKey());
if (item == null) {
item = itemManager.newItem(entry.getKey(), itemNum);
} else {
if(item.getItemNum()>= sItem.getItemNumlimit()){
if(item.getItemNum()>= itemNumlimit){
continue;
}
if (item.getItemNum() + entry.getValue() >= sItem.getItemNumlimit()){
itemNum = sItem.getItemNumlimit() -item.getItemNum();
item.setItemNum(sItem.getItemNumlimit());
if(sItem.getId()==Global.MISSING_ROOM_ITEM&&reason==BIReason.ADVENTURE_BASE_REWARD){
itemNumlimit = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getMazeTreasureMax()[1];
}
if (item.getItemNum() + entry.getValue() >= itemNumlimit){
if(sItem.getId()!=Global.MISSING_ROOM_ITEM||reason!=BIReason.ADVENTURE_BASE_REWARD){
itemNum = itemNumlimit -item.getItemNum();
item.setItemNum(itemNumlimit);
}else{
continue;
}
}else{
item.setItemNum(item.getItemNum() + entry.getValue());
}
}
if(itemNum>=0){

View File

@ -53,7 +53,7 @@ public class SCHero implements BaseConfig{
private int natural;
private int[][] growthSwitch;
private int[] growthSwitch;
private Map<Integer,Integer> secondaryFactorMap;
@ -273,7 +273,7 @@ public class SCHero implements BaseConfig{
this.skillListByStar = skillListByStar;
}
public int[][] getGrowthSwitch() {
public int[] getGrowthSwitch() {
return growthSwitch;
}
}

View File

@ -11,8 +11,6 @@ public class SMazeTreasureSetting implements BaseConfig {
private int refreshType;
private int needItem;
private int refreshNum;
private int[] takeOrder;
@ -23,14 +21,18 @@ public class SMazeTreasureSetting implements BaseConfig {
private int[][] refreshHighTypeNum;
private int[][] dailyPrivilege;
private int[][] highDailyPrivilege;
public static Map<Integer,SMazeTreasureSetting> sMazeTreasureSettingMap;
private int[][] luxuryDailyPrivilege;
private int refreshVIP;
public static SMazeTreasureSetting sMazeTreasureSetting;
@Override
public void init() throws Exception {
sMazeTreasureSettingMap = STableManager.getConfig(SMazeTreasureSetting.class);
sMazeTreasureSetting = STableManager.getConfig(SMazeTreasureSetting.class).get(1);
}
@ -38,10 +40,6 @@ public class SMazeTreasureSetting implements BaseConfig {
return refreshType;
}
public int getNeedItem() {
return needItem;
}
public int getRefreshNum() {
return refreshNum;
}
@ -58,11 +56,19 @@ public class SMazeTreasureSetting implements BaseConfig {
return refreshHighTypeNum;
}
public int[][] getDailyPrivilege() {
return dailyPrivilege;
}
public int[] getTakeOrder() {
return takeOrder;
}
public int[][] getHighDailyPrivilege() {
return highDailyPrivilege;
}
public int[][] getLuxuryDailyPrivilege() {
return luxuryDailyPrivilege;
}
public int getRefreshVIP() {
return refreshVIP;
}
}