From b9ef093b1814a37fe06a83e6ee910f1e32325750 Mon Sep 17 00:00:00 2001 From: by <123456@qq.com> Date: Thu, 27 Jun 2024 11:34:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A0=E7=89=A9=E6=8A=80=E8=83=BD=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/DB_GiftCard.dat | Bin 57 -> 57 bytes data/DB_PetSkill.dat | Bin 88 -> 890 bytes data/DB_PetSkill.json | 121 ++- data/DB_PetSkillDes.dat | 13 - data/DB_PetSkillDes.json | 82 -- data/DB_PropExchange.dat | Bin 384 -> 384 bytes data/DB_Task.dat | Bin 2161 -> 2161 bytes protocol/server/pbdata.pb.go | 1414 +++++++++++++++------------------- protocol/server/pbdata.proto | 34 +- srvdata/db_petskilldes.go | 77 -- xlsx/DB_PetSkill.xlsx | Bin 12417 -> 11082 bytes xlsx/DB_PetSkillDes.xlsx | Bin 10809 -> 0 bytes 12 files changed, 751 insertions(+), 990 deletions(-) delete mode 100644 data/DB_PetSkillDes.dat delete mode 100644 data/DB_PetSkillDes.json delete mode 100644 srvdata/db_petskilldes.go delete mode 100644 xlsx/DB_PetSkillDes.xlsx diff --git a/data/DB_GiftCard.dat b/data/DB_GiftCard.dat index 15600367ff42a73b75826e6378f02a3bde3a8661..96640b07f274cbbbda035ee3e52503c8356a73cb 100644 GIT binary patch delta 38 pcmcDtoFJjd$+57PP2j+^jZ8{x92eV|1-P_0AVMv+2JBXh3;@YB39kSE delta 38 pcmcDtoFJjd#&NNYS%6E4lVf2oo4|o-8=15?Aj}q919mG$1^~Z739kSE diff --git a/data/DB_PetSkill.dat b/data/DB_PetSkill.dat index fd8655f3c2ef47d4eb892759a94a70f51c21c941..622f190fb9ebbcfe904fd70c0d1e11f3239762e5 100644 GIT binary patch literal 890 zcmb8sy$XU*7=Yo_w4*dMG&D9hd9*)+mM)+%x|e8)#D)}tsD_prB9I)zu%(MRns-q{ zUmW5iI5+SN?`w>RR9Ovck9of?HOjfS%Hsoz7R(PVlkLyXW0=iicE6>&AUj0qI$>Ut zZm*NpG(F9-z+=&pxo773*(U5st${`^zE-IkBO-$b38JUIoHMk5ItvC%0 L3=9m7b&L!EKbsL@ diff --git a/data/DB_PetSkill.json b/data/DB_PetSkill.json index c47b15c..06f6923 100644 --- a/data/DB_PetSkill.json +++ b/data/DB_PetSkill.json @@ -1,13 +1,124 @@ { "Arr": [ { - "Id": 10001, + "Id": 1, + "SkillId": 10001, "PetId": 1000001, + "SkillLevel": 1, "SkillName": "金鸡守卫", - "SKillDes": "在被炸弹明确攻击时{0}概率完全免疫", - "SKillLevel": 10, - "SKillUnlockType": 1, - "SKillUnlockTakes": "100013,20" + "SkillDes": "在被炸弹明确攻击时{5}概率完全免疫", + "SKillValue": "5", + "ItemConsum": { + "100013": 20 + } + }, + { + "Id": 2, + "SkillId": 10001, + "PetId": 1000001, + "SkillLevel": 2, + "SkillName": "金鸡守卫", + "SkillDes": "在被炸弹明确攻击时{6}概率完全免疫", + "SKillValue": "6", + "ItemConsum": { + "100013": 20 + } + }, + { + "Id": 3, + "SkillId": 10001, + "PetId": 1000001, + "SkillLevel": 3, + "SkillName": "金鸡守卫", + "SkillDes": "在被炸弹明确攻击时{7}概率完全免疫", + "SKillValue": "7", + "ItemConsum": { + "100013": 20 + } + }, + { + "Id": 4, + "SkillId": 10001, + "PetId": 1000001, + "SkillLevel": 4, + "SkillName": "金鸡守卫", + "SkillDes": "在被炸弹明确攻击时{8}概率完全免疫", + "SKillValue": "8", + "ItemConsum": { + "100013": 50 + } + }, + { + "Id": 5, + "SkillId": 10001, + "PetId": 1000001, + "SkillLevel": 5, + "SkillName": "金鸡守卫", + "SkillDes": "在被炸弹明确攻击时{9}概率完全免疫", + "SKillValue": "9", + "ItemConsum": { + "100013": 50 + } + }, + { + "Id": 6, + "SkillId": 10001, + "PetId": 1000001, + "SkillLevel": 6, + "SkillName": "金鸡守卫", + "SkillDes": "在被炸弹明确攻击时{10}概率完全免疫", + "SKillValue": "10", + "ItemConsum": { + "100013": 50 + } + }, + { + "Id": 7, + "SkillId": 10001, + "PetId": 1000001, + "SkillLevel": 7, + "SkillName": "金鸡守卫", + "SkillDes": "在被炸弹明确攻击时{11}概率完全免疫", + "SKillValue": "11", + "ItemConsum": { + "100013": 50 + } + }, + { + "Id": 8, + "SkillId": 10001, + "PetId": 1000001, + "SkillLevel": 8, + "SkillName": "金鸡守卫", + "SkillDes": "在被炸弹明确攻击时{12}概率完全免疫", + "SKillValue": "12", + "ItemConsum": { + "100013": 50 + } + }, + { + "Id": 9, + "SkillId": 10001, + "PetId": 1000001, + "SkillLevel": 9, + "SkillName": "金鸡守卫", + "SkillDes": "在被炸弹明确攻击时{13}概率完全免疫", + "SKillValue": "13", + "ItemConsum": { + "100013": 50 + } + }, + { + "Id": 10, + "SkillId": 10001, + "PetId": 1000001, + "SkillLevel": 10, + "SkillName": "金鸡守卫", + "SkillDes": "在被炸弹明确攻击时{14}概率完全免疫", + "SKillValue": "14", + "ItemConsum": { + "100013": 0 + } } ] } \ No newline at end of file diff --git a/data/DB_PetSkillDes.dat b/data/DB_PetSkillDes.dat deleted file mode 100644 index bf7e7e1..0000000 --- a/data/DB_PetSkillDes.dat +++ /dev/null @@ -1,13 +0,0 @@ - -N"5(0 -N"6(0 -N"7(0 -N"8(02 -N"9(02 -N"10(02 -N"11(02 -N"12(02 - N "13(02 -  -N -"14 \ No newline at end of file diff --git a/data/DB_PetSkillDes.json b/data/DB_PetSkillDes.json deleted file mode 100644 index ee6ef7a..0000000 --- a/data/DB_PetSkillDes.json +++ /dev/null @@ -1,82 +0,0 @@ -{ - "Arr": [ - { - "Id": 1, - "SkillId": 10001, - "SkillLevel": 1, - "SKillValue": "5", - "Fragment": 100013, - "Amount": 20 - }, - { - "Id": 2, - "SkillId": 10001, - "SkillLevel": 2, - "SKillValue": "6", - "Fragment": 100013, - "Amount": 20 - }, - { - "Id": 3, - "SkillId": 10001, - "SkillLevel": 3, - "SKillValue": "7", - "Fragment": 100013, - "Amount": 20 - }, - { - "Id": 4, - "SkillId": 10001, - "SkillLevel": 4, - "SKillValue": "8", - "Fragment": 100013, - "Amount": 50 - }, - { - "Id": 5, - "SkillId": 10001, - "SkillLevel": 5, - "SKillValue": "9", - "Fragment": 100013, - "Amount": 50 - }, - { - "Id": 6, - "SkillId": 10001, - "SkillLevel": 6, - "SKillValue": "10", - "Fragment": 100013, - "Amount": 50 - }, - { - "Id": 7, - "SkillId": 10001, - "SkillLevel": 7, - "SKillValue": "11", - "Fragment": 100013, - "Amount": 50 - }, - { - "Id": 8, - "SkillId": 10001, - "SkillLevel": 8, - "SKillValue": "12", - "Fragment": 100013, - "Amount": 50 - }, - { - "Id": 9, - "SkillId": 10001, - "SkillLevel": 9, - "SKillValue": "13", - "Fragment": 100013, - "Amount": 50 - }, - { - "Id": 10, - "SkillId": 10001, - "SkillLevel": 10, - "SKillValue": "14" - } - ] -} \ No newline at end of file diff --git a/data/DB_PropExchange.dat b/data/DB_PropExchange.dat index c976760ffb9665551f35bdc1e58ee98309fe75e4..953c7f1a310ad3c78769d87c71c71714a075348b 100644 GIT binary patch literal 384 zcmd-w<6snElw#w!+Qtl~uR-bSQ2H{Iz5=3^I5-yevI!h$vE|a^U;?YZ0hPZArEfv$ z+i2>;IUwevn1^I9R{cPEboYSmQ{n`>qhakM7Oq$h78Hl$auCd7m`7nA1UnRH(H*G6 SAs%JtSOoOw7iKO7+Cl(ivOF~a literal 384 zcmd-w<6snElw#w!*2WB`uS4m}Q2Gj#z6zq1I5-yevI!h$vE|a^U;?YZ4VAwErEfy% zTWIRTIUwf4>;cOI?S-j_nS<3{pgNel!1gF{g5A-u_7MwLEC&nNA-FWcEP`2Z2kJnW WLr@HcIY^0}V-e7!UzoWVXbS;lT0AuX diff --git a/data/DB_Task.dat b/data/DB_Task.dat index b9535c3ba55aeea7934070d5cbb3f1f2ace0433f..4d7971948942b5e4f09a30ebd420bbbf28a5773b 100644 GIT binary patch delta 336 zcmew;@KHd4ONoO~fKh@`fl-6efYFMLV@WTY0IL-T$3h@|p^bT?f+?dQ8^J$%~lNF^mwIEXA?{YAqL356IffEa&7QmLQ2bFmkDI zYDBWFHop$!cu;lgnAeCVR7; Xfw}?NWg6_CprQ*7$-zCR&EWjZLKo;vp1yjb!Ti8V=XEJ6B zLSzrL*aBr20c9B{KV{SxWaGHl#w@@D)jMG!|72CB>p)SE3Rb9SLub`wUglT}h$u|$ zfmu8bj9jW5ll=sEC0G@>H5yK=U!V$f21FS%RP%%7LX#IUr$dbtK{8T`WyRz)cEQP) zSqT9NS(o3Mc}NW10MrMRxLCRz9Hn1yzAk${dGwFbQx0rPwrHu*0oEa?NB# dHW8>b$d server.DB_ActSign @@ -12001,7 +11865,7 @@ var file_pbdata_proto_depIdxs = []int32{ 18, // 9: server.DB_ChessMatchRulesArray.Arr:type_name -> server.DB_ChessMatchRules 20, // 10: server.DB_ChessRankArray.Arr:type_name -> server.DB_ChessRank 22, // 11: server.DB_ClientVerArray.Arr:type_name -> server.DB_ClientVer - 136, // 12: server.DB_CollectBox.ItemID:type_name -> server.DB_CollectBox.ItemIDEntry + 134, // 12: server.DB_CollectBox.ItemID:type_name -> server.DB_CollectBox.ItemIDEntry 24, // 13: server.DB_CollectBoxArray.Arr:type_name -> server.DB_CollectBox 26, // 14: server.DB_CollectBoxGainArray.Arr:type_name -> server.DB_CollectBoxGain 28, // 15: server.DB_CrashSearchArray.Arr:type_name -> server.DB_CrashSearch @@ -12026,10 +11890,10 @@ var file_pbdata_proto_depIdxs = []int32{ 66, // 34: server.DB_Game_IntroductionArray.Arr:type_name -> server.DB_Game_Introduction 68, // 35: server.DB_Game_PetArray.Arr:type_name -> server.DB_Game_Pet 70, // 36: server.DB_Game_RoleArray.Arr:type_name -> server.DB_Game_Role - 137, // 37: server.DB_GiftBox.ItemID:type_name -> server.DB_GiftBox.ItemIDEntry + 135, // 37: server.DB_GiftBox.ItemID:type_name -> server.DB_GiftBox.ItemIDEntry 72, // 38: server.DB_GiftBoxArray.Arr:type_name -> server.DB_GiftBox - 138, // 39: server.DB_GiftCard.Rewards:type_name -> server.DB_GiftCard.RewardsEntry - 139, // 40: server.DB_GiftCard.DayRewards:type_name -> server.DB_GiftCard.DayRewardsEntry + 136, // 39: server.DB_GiftCard.Rewards:type_name -> server.DB_GiftCard.RewardsEntry + 137, // 40: server.DB_GiftCard.DayRewards:type_name -> server.DB_GiftCard.DayRewardsEntry 74, // 41: server.DB_GiftCardArray.Arr:type_name -> server.DB_GiftCard 76, // 42: server.DB_IceAgeElementRateArray.Arr:type_name -> server.DB_IceAgeElementRate 78, // 43: server.DB_Legend_OddsArray.Arr:type_name -> server.DB_Legend_Odds @@ -12041,31 +11905,31 @@ var file_pbdata_proto_depIdxs = []int32{ 90, // 49: server.DB_NameBoyArray.Arr:type_name -> server.DB_NameBoy 92, // 50: server.DB_NameGirlArray.Arr:type_name -> server.DB_NameGirl 94, // 51: server.DB_NewPlayerArray.Arr:type_name -> server.DB_NewPlayer - 96, // 52: server.DB_PetSkillArray.Arr:type_name -> server.DB_PetSkill - 98, // 53: server.DB_PetSkillDesArray.Arr:type_name -> server.DB_PetSkillDes - 100, // 54: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery - 102, // 55: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond - 104, // 56: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop - 106, // 57: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp - 108, // 58: server.DB_PlayerInfoArray.Arr:type_name -> server.DB_PlayerInfo - 110, // 59: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType - 112, // 60: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd - 140, // 61: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry - 141, // 62: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry - 114, // 63: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange - 116, // 64: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle - 118, // 65: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel - 120, // 66: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward - 122, // 67: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words - 124, // 68: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight - 126, // 69: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance - 142, // 70: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry - 128, // 71: server.DB_TaskArray.Arr:type_name -> server.DB_Task - 130, // 72: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping - 132, // 73: server.DB_TipsArray.Arr:type_name -> server.DB_Tips - 143, // 74: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry - 144, // 75: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry - 134, // 76: server.DB_VIPArray.Arr:type_name -> server.DB_VIP + 138, // 52: server.DB_PetSkill.ItemConsum:type_name -> server.DB_PetSkill.ItemConsumEntry + 96, // 53: server.DB_PetSkillArray.Arr:type_name -> server.DB_PetSkill + 98, // 54: server.DB_PhoneLotteryArray.Arr:type_name -> server.DB_PhoneLottery + 100, // 55: server.DB_PigBank_DiamondArray.Arr:type_name -> server.DB_PigBank_Diamond + 102, // 56: server.DB_Pigbank_PropArray.Arr:type_name -> server.DB_Pigbank_Prop + 104, // 57: server.DB_PlayerExpArray.Arr:type_name -> server.DB_PlayerExp + 106, // 58: server.DB_PlayerInfoArray.Arr:type_name -> server.DB_PlayerInfo + 108, // 59: server.DB_PlayerTypeArray.Arr:type_name -> server.DB_PlayerType + 110, // 60: server.DB_PotOddArray.Arr:type_name -> server.DB_PotOdd + 139, // 61: server.DB_PropExchange.Cost:type_name -> server.DB_PropExchange.CostEntry + 140, // 62: server.DB_PropExchange.Gain:type_name -> server.DB_PropExchange.GainEntry + 112, // 63: server.DB_PropExchangeArray.Arr:type_name -> server.DB_PropExchange + 114, // 64: server.DB_RankCycleArray.Arr:type_name -> server.DB_RankCycle + 116, // 65: server.DB_RankLevelArray.Arr:type_name -> server.DB_RankLevel + 118, // 66: server.DB_RankRewardArray.Arr:type_name -> server.DB_RankReward + 120, // 67: server.DB_Sensitive_WordsArray.Arr:type_name -> server.DB_Sensitive_Words + 122, // 68: server.DB_SlotRateWeightArray.Arr:type_name -> server.DB_SlotRateWeight + 124, // 69: server.DB_SystemChanceArray.Arr:type_name -> server.DB_SystemChance + 141, // 70: server.DB_Task.Award:type_name -> server.DB_Task.AwardEntry + 126, // 71: server.DB_TaskArray.Arr:type_name -> server.DB_Task + 128, // 72: server.DB_ThirdPlatformGameMappingArray.Arr:type_name -> server.DB_ThirdPlatformGameMapping + 130, // 73: server.DB_TipsArray.Arr:type_name -> server.DB_Tips + 142, // 74: server.DB_VIP.Privilege7:type_name -> server.DB_VIP.Privilege7Entry + 143, // 75: server.DB_VIP.Award:type_name -> server.DB_VIP.AwardEntry + 132, // 76: server.DB_VIPArray.Arr:type_name -> server.DB_VIP 77, // [77:77] is the sub-list for method output_type 77, // [77:77] is the sub-list for method input_type 77, // [77:77] is the sub-list for extension type_name @@ -13256,30 +13120,6 @@ func file_pbdata_proto_init() { } } file_pbdata_proto_msgTypes[98].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PetSkillDes); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pbdata_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DB_PetSkillDesArray); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_pbdata_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PhoneLottery); i { case 0: return &v.state @@ -13291,7 +13131,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[99].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PhoneLotteryArray); i { case 0: return &v.state @@ -13303,7 +13143,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[100].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PigBank_Diamond); i { case 0: return &v.state @@ -13315,7 +13155,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[101].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PigBank_DiamondArray); i { case 0: return &v.state @@ -13327,7 +13167,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[102].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Pigbank_Prop); i { case 0: return &v.state @@ -13339,7 +13179,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[103].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Pigbank_PropArray); i { case 0: return &v.state @@ -13351,7 +13191,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[104].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerExp); i { case 0: return &v.state @@ -13363,7 +13203,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[105].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerExpArray); i { case 0: return &v.state @@ -13375,7 +13215,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[106].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerInfo); i { case 0: return &v.state @@ -13387,7 +13227,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[107].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerInfoArray); i { case 0: return &v.state @@ -13399,7 +13239,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[108].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerType); i { case 0: return &v.state @@ -13411,7 +13251,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[109].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PlayerTypeArray); i { case 0: return &v.state @@ -13423,7 +13263,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[110].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PotOdd); i { case 0: return &v.state @@ -13435,7 +13275,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[111].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PotOddArray); i { case 0: return &v.state @@ -13447,7 +13287,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[112].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PropExchange); i { case 0: return &v.state @@ -13459,7 +13299,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[113].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_PropExchangeArray); i { case 0: return &v.state @@ -13471,7 +13311,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[114].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankCycle); i { case 0: return &v.state @@ -13483,7 +13323,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[115].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankCycleArray); i { case 0: return &v.state @@ -13495,7 +13335,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[116].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankLevel); i { case 0: return &v.state @@ -13507,7 +13347,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[117].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankLevelArray); i { case 0: return &v.state @@ -13519,7 +13359,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[118].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankReward); i { case 0: return &v.state @@ -13531,7 +13371,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[119].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_RankRewardArray); i { case 0: return &v.state @@ -13543,7 +13383,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[120].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Sensitive_Words); i { case 0: return &v.state @@ -13555,7 +13395,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[121].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Sensitive_WordsArray); i { case 0: return &v.state @@ -13567,7 +13407,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[122].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SlotRateWeight); i { case 0: return &v.state @@ -13579,7 +13419,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[123].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SlotRateWeightArray); i { case 0: return &v.state @@ -13591,7 +13431,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[124].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SystemChance); i { case 0: return &v.state @@ -13603,7 +13443,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[125].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_SystemChanceArray); i { case 0: return &v.state @@ -13615,7 +13455,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[126].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Task); i { case 0: return &v.state @@ -13627,7 +13467,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[127].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_TaskArray); i { case 0: return &v.state @@ -13639,7 +13479,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[128].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ThirdPlatformGameMapping); i { case 0: return &v.state @@ -13651,7 +13491,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[129].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_ThirdPlatformGameMappingArray); i { case 0: return &v.state @@ -13663,7 +13503,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[130].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_Tips); i { case 0: return &v.state @@ -13675,7 +13515,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[131].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_TipsArray); i { case 0: return &v.state @@ -13687,7 +13527,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[134].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[132].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_VIP); i { case 0: return &v.state @@ -13699,7 +13539,7 @@ func file_pbdata_proto_init() { return nil } } - file_pbdata_proto_msgTypes[135].Exporter = func(v interface{}, i int) interface{} { + file_pbdata_proto_msgTypes[133].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*DB_VIPArray); i { case 0: return &v.state @@ -13718,7 +13558,7 @@ func file_pbdata_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_pbdata_proto_rawDesc, NumEnums: 0, - NumMessages: 145, + NumMessages: 144, NumExtensions: 0, NumServices: 0, }, diff --git a/protocol/server/pbdata.proto b/protocol/server/pbdata.proto index 915bff5..ac4ed32 100644 --- a/protocol/server/pbdata.proto +++ b/protocol/server/pbdata.proto @@ -1241,17 +1241,19 @@ message DB_PetSkill { int32 Id = 1; - int32 PetId = 2; + int32 SkillId = 2; - string SkillName = 3; + int32 PetId = 3; - string SKillDes = 4; + int32 SkillLevel = 4; - int32 SKillLevel = 5; + string SkillName = 5; - int32 SKillUnlockType = 6; + string SkillDes = 6; - string SKillUnlockTakes = 7; + string SKillValue = 7; + + map ItemConsum = 8; } @@ -1259,26 +1261,6 @@ message DB_PetSkillArray { repeated DB_PetSkill Arr = 1; } -message DB_PetSkillDes { - - int32 Id = 1; - - int32 SkillId = 2; - - int32 SkillLevel = 3; - - string SKillValue = 4; - - int32 Fragment = 5; - - int32 Amount = 6; - -} - -message DB_PetSkillDesArray { - repeated DB_PetSkillDes Arr = 1; -} - message DB_PhoneLottery { int32 Id = 1; diff --git a/srvdata/db_petskilldes.go b/srvdata/db_petskilldes.go deleted file mode 100644 index 928996b..0000000 --- a/srvdata/db_petskilldes.go +++ /dev/null @@ -1,77 +0,0 @@ - -// Code generated by xlsx2proto. -// DO NOT EDIT! - -package srvdata - -import ( - "google.golang.org/protobuf/proto" - - "mongo.games.com/game/protocol/server" -) - -var PBDB_PetSkillDesMgr = &DB_PetSkillDesMgr{ - Datas: &server.DB_PetSkillDesArray{}, - pool: make(map[int32]*server.DB_PetSkillDes), - -} - -type DB_PetSkillDesMgr struct { - Datas *server.DB_PetSkillDesArray - pool map[int32]*server.DB_PetSkillDes - -} - -func (this *DB_PetSkillDesMgr) unmarshal(data []byte) error { - err := proto.Unmarshal(data, this.Datas) - if err == nil { - this.arrangeData() - } - return err -} - -func (this *DB_PetSkillDesMgr) reunmarshal(data []byte) error { - newDatas := &server.DB_PetSkillDesArray{} - err := proto.Unmarshal(data, newDatas) - if err == nil { - for _, item := range newDatas.Arr { - existItem := this.GetData(item.GetId()) - if existItem == nil { - this.pool[item.GetId()] = item - this.Datas.Arr = append(this.Datas.Arr, item) - - } else { - *existItem = *item - } - } - } - return err -} - -func (this *DB_PetSkillDesMgr) arrangeData() { - if this.Datas == nil { - return - } - - dataArr := this.Datas.GetArr() - if dataArr == nil { - return - } - - for _, data := range dataArr { - this.pool[data.GetId()] = data - - } -} - -func (this *DB_PetSkillDesMgr) GetData(id int32) *server.DB_PetSkillDes { - if data, ok := this.pool[id]; ok { - return data - } - return nil -} - - -func init() { - DataMgr.register("DB_PetSkillDes.dat", &ProtobufDataLoader{dh: PBDB_PetSkillDesMgr}) -} diff --git a/xlsx/DB_PetSkill.xlsx b/xlsx/DB_PetSkill.xlsx index 10fa4775d79803d8c2fbf3a980fb919b31a27ca7..b842985b17b4a37480c01b2debac225c73baf757 100644 GIT binary patch delta 6773 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 delta 8048 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 F{2v$)by5HT diff --git a/xlsx/DB_PetSkillDes.xlsx b/xlsx/DB_PetSkillDes.xlsx deleted file mode 100644 index 2cfdd7e46a0eeeb46db7da2189753843eb41056e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10809 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 HXYKz3fP&N3