diff --git a/bin/json/game_equipattrlibrary.json b/bin/json/game_equipattrlibrary.json index 74a53ad8e..25d67c15d 100644 --- a/bin/json/game_equipattrlibrary.json +++ b/bin/json/game_equipattrlibrary.json @@ -6,7 +6,14 @@ "atk", "20" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 2, @@ -15,7 +22,14 @@ "atk", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 3, @@ -24,7 +38,14 @@ "def", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 4, @@ -33,7 +54,14 @@ "hp", "100" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 5, @@ -42,7 +70,14 @@ "atkpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 6, @@ -51,7 +86,14 @@ "defpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 7, @@ -60,7 +102,14 @@ "hppro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 8, @@ -69,7 +118,14 @@ "def", "20" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 9, @@ -78,7 +134,14 @@ "atk", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 10, @@ -87,7 +150,14 @@ "def", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 11, @@ -96,7 +166,14 @@ "hp", "100" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 12, @@ -105,7 +182,14 @@ "atkpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 13, @@ -114,7 +198,14 @@ "defpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 14, @@ -123,7 +214,14 @@ "hppro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 15, @@ -132,7 +230,14 @@ "hp", "100" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 16, @@ -141,7 +246,14 @@ "atk", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 17, @@ -150,7 +262,14 @@ "def", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 18, @@ -159,7 +278,14 @@ "hp", "100" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 19, @@ -168,7 +294,14 @@ "atkpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 20, @@ -177,7 +310,14 @@ "defpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 21, @@ -186,7 +326,14 @@ "hppro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 22, @@ -195,7 +342,14 @@ "atk", "26" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 23, @@ -204,7 +358,14 @@ "atk", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 24, @@ -213,7 +374,14 @@ "def", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 25, @@ -222,7 +390,14 @@ "hp", "130" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 26, @@ -231,7 +406,14 @@ "atkpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 27, @@ -240,7 +422,14 @@ "defpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 28, @@ -249,7 +438,14 @@ "hppro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 29, @@ -258,7 +454,14 @@ "def", "26" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 30, @@ -267,7 +470,14 @@ "atk", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 31, @@ -276,7 +486,14 @@ "def", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 32, @@ -285,7 +502,14 @@ "hp", "130" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 33, @@ -294,7 +518,14 @@ "atkpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 34, @@ -303,7 +534,14 @@ "defpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 35, @@ -312,7 +550,14 @@ "hppro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 36, @@ -321,7 +566,14 @@ "hp", "130" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 37, @@ -330,7 +582,14 @@ "atk", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 38, @@ -339,7 +598,14 @@ "def", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 39, @@ -348,7 +614,14 @@ "hp", "130" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 40, @@ -357,7 +630,14 @@ "atkpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 41, @@ -366,7 +646,14 @@ "defpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 42, @@ -375,7 +662,14 @@ "hppro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 43, @@ -384,7 +678,14 @@ "atk", "33" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 44, @@ -393,7 +694,14 @@ "atk", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 45, @@ -402,7 +710,14 @@ "def", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 46, @@ -411,7 +726,14 @@ "hp", "169" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 47, @@ -420,7 +742,14 @@ "atkpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 48, @@ -429,7 +758,14 @@ "defpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 49, @@ -438,7 +774,14 @@ "hppro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 50, @@ -447,7 +790,14 @@ "def", "33" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 51, @@ -456,7 +806,14 @@ "atk", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 52, @@ -465,7 +822,14 @@ "def", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 53, @@ -474,7 +838,14 @@ "hp", "169" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 54, @@ -483,7 +854,14 @@ "atkpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 55, @@ -492,7 +870,14 @@ "defpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 56, @@ -501,7 +886,14 @@ "hppro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 57, @@ -510,7 +902,14 @@ "hp", "169" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 58, @@ -519,7 +918,14 @@ "atk", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 59, @@ -528,7 +934,14 @@ "def", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 60, @@ -537,7 +950,14 @@ "hp", "169" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 61, @@ -546,7 +966,14 @@ "atkpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 62, @@ -555,7 +982,14 @@ "defpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 63, @@ -564,7 +998,14 @@ "hppro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 64, @@ -573,7 +1014,14 @@ "atk", "42" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 65, @@ -582,7 +1030,14 @@ "atk", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 66, @@ -591,7 +1046,14 @@ "def", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 67, @@ -600,7 +1062,14 @@ "hp", "219" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 68, @@ -609,7 +1078,14 @@ "atkpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 69, @@ -618,7 +1094,14 @@ "defpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 70, @@ -627,7 +1110,14 @@ "hppro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 71, @@ -636,7 +1126,14 @@ "def", "42" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 72, @@ -645,7 +1142,14 @@ "atk", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 73, @@ -654,7 +1158,14 @@ "def", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 74, @@ -663,7 +1174,14 @@ "hp", "219" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 75, @@ -672,7 +1190,14 @@ "atkpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 76, @@ -681,7 +1206,14 @@ "defpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 77, @@ -690,7 +1222,14 @@ "hppro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 78, @@ -699,7 +1238,14 @@ "hp", "219" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 79, @@ -708,7 +1254,14 @@ "atk", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 80, @@ -717,7 +1270,14 @@ "def", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 81, @@ -726,7 +1286,14 @@ "hp", "219" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 82, @@ -735,7 +1302,14 @@ "atkpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 83, @@ -744,7 +1318,14 @@ "defpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 84, @@ -753,7 +1334,14 @@ "hppro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 85, @@ -762,7 +1350,14 @@ "atk", "54" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 86, @@ -771,7 +1366,14 @@ "atk", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 87, @@ -780,7 +1382,14 @@ "def", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 88, @@ -789,7 +1398,14 @@ "hp", "284" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 89, @@ -798,7 +1414,14 @@ "atkpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 90, @@ -807,7 +1430,14 @@ "defpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 91, @@ -816,7 +1446,14 @@ "hppro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 92, @@ -825,7 +1462,14 @@ "def", "54" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 93, @@ -834,7 +1478,14 @@ "atk", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 94, @@ -843,7 +1494,14 @@ "def", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 95, @@ -852,7 +1510,14 @@ "hp", "284" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 96, @@ -861,7 +1526,14 @@ "atkpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 97, @@ -870,7 +1542,14 @@ "defpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 98, @@ -879,7 +1558,14 @@ "hppro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 99, @@ -888,7 +1574,14 @@ "hp", "284" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 100, @@ -897,7 +1590,14 @@ "atk", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 101, @@ -906,7 +1606,14 @@ "def", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 102, @@ -915,7 +1622,14 @@ "hp", "284" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 103, @@ -924,7 +1638,14 @@ "atkpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 104, @@ -933,7 +1654,14 @@ "defpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 105, @@ -942,7 +1670,14 @@ "hppro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 106, @@ -951,7 +1686,14 @@ "atk", "70" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 107, @@ -960,7 +1702,14 @@ "atk", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 108, @@ -969,7 +1718,14 @@ "def", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 109, @@ -978,7 +1734,14 @@ "hp", "369" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 110, @@ -987,7 +1750,14 @@ "atkpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 111, @@ -996,7 +1766,14 @@ "defpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 112, @@ -1005,7 +1782,14 @@ "hppro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 113, @@ -1014,7 +1798,14 @@ "def", "70" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 114, @@ -1023,7 +1814,14 @@ "atk", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 115, @@ -1032,7 +1830,14 @@ "def", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 116, @@ -1041,7 +1846,14 @@ "hp", "369" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 117, @@ -1050,7 +1862,14 @@ "atkpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 118, @@ -1059,7 +1878,14 @@ "defpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 119, @@ -1068,7 +1894,14 @@ "hppro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 120, @@ -1077,7 +1910,14 @@ "hp", "369" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 121, @@ -1086,7 +1926,14 @@ "atk", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 122, @@ -1095,7 +1942,14 @@ "def", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 123, @@ -1104,7 +1958,14 @@ "hp", "369" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 124, @@ -1113,7 +1974,14 @@ "atkpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 125, @@ -1122,7 +1990,14 @@ "defpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 126, @@ -1131,7 +2006,14 @@ "hppro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 127, @@ -1140,7 +2022,14 @@ "atk", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 128, @@ -1149,7 +2038,14 @@ "def", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 129, @@ -1158,7 +2054,14 @@ "hp", "369" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 130, @@ -1167,7 +2070,14 @@ "atkpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 131, @@ -1176,7 +2086,14 @@ "defpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 132, @@ -1185,7 +2102,14 @@ "hppro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 133, @@ -1194,7 +2118,14 @@ "atk", "20" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 134, @@ -1203,7 +2134,14 @@ "atk", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 135, @@ -1212,7 +2150,14 @@ "def", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 136, @@ -1221,7 +2166,14 @@ "hp", "100" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 137, @@ -1230,7 +2182,14 @@ "atkpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 138, @@ -1239,7 +2198,14 @@ "defpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 139, @@ -1248,7 +2214,14 @@ "hppro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 140, @@ -1257,7 +2230,14 @@ "def", "20" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 141, @@ -1266,7 +2246,14 @@ "atk", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 142, @@ -1275,7 +2262,14 @@ "def", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 143, @@ -1284,7 +2278,14 @@ "hp", "100" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 144, @@ -1293,7 +2294,14 @@ "atkpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 145, @@ -1302,7 +2310,14 @@ "defpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 146, @@ -1311,7 +2326,14 @@ "hppro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 147, @@ -1320,7 +2342,14 @@ "hp", "100" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 148, @@ -1329,7 +2358,14 @@ "atk", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 149, @@ -1338,7 +2374,14 @@ "def", "20" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 150, @@ -1347,7 +2390,14 @@ "hp", "100" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 151, @@ -1356,7 +2406,14 @@ "atkpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 152, @@ -1365,7 +2422,14 @@ "defpro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 153, @@ -1374,7 +2438,14 @@ "hppro", "20" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 154, @@ -1383,7 +2454,14 @@ "atk", "26" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 155, @@ -1392,7 +2470,14 @@ "atk", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 156, @@ -1401,7 +2486,14 @@ "def", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 157, @@ -1410,7 +2502,14 @@ "hp", "130" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 158, @@ -1419,7 +2518,14 @@ "atkpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 159, @@ -1428,7 +2534,14 @@ "defpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 160, @@ -1437,7 +2550,14 @@ "hppro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 161, @@ -1446,7 +2566,14 @@ "def", "26" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 162, @@ -1455,7 +2582,14 @@ "atk", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 163, @@ -1464,7 +2598,14 @@ "def", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 164, @@ -1473,7 +2614,14 @@ "hp", "130" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 165, @@ -1482,7 +2630,14 @@ "atkpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 166, @@ -1491,7 +2646,14 @@ "defpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 167, @@ -1500,7 +2662,14 @@ "hppro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 168, @@ -1509,7 +2678,14 @@ "hp", "130" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 169, @@ -1518,7 +2694,14 @@ "atk", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 170, @@ -1527,7 +2710,14 @@ "def", "26" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 171, @@ -1536,7 +2726,14 @@ "hp", "130" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 172, @@ -1545,7 +2742,14 @@ "atkpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 173, @@ -1554,7 +2758,14 @@ "defpro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 174, @@ -1563,7 +2774,14 @@ "hppro", "26" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 175, @@ -1572,7 +2790,14 @@ "atk", "33" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 176, @@ -1581,7 +2806,14 @@ "atk", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 177, @@ -1590,7 +2822,14 @@ "def", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 178, @@ -1599,7 +2838,14 @@ "hp", "169" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 179, @@ -1608,7 +2854,14 @@ "atkpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 180, @@ -1617,7 +2870,14 @@ "defpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 181, @@ -1626,7 +2886,14 @@ "hppro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 182, @@ -1635,7 +2902,14 @@ "def", "33" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 183, @@ -1644,7 +2918,14 @@ "atk", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 184, @@ -1653,7 +2934,14 @@ "def", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 185, @@ -1662,7 +2950,14 @@ "hp", "169" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 186, @@ -1671,7 +2966,14 @@ "atkpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 187, @@ -1680,7 +2982,14 @@ "defpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 188, @@ -1689,7 +2998,14 @@ "hppro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 189, @@ -1698,7 +3014,14 @@ "hp", "169" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 190, @@ -1707,7 +3030,14 @@ "atk", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 191, @@ -1716,7 +3046,14 @@ "def", "33" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 192, @@ -1725,7 +3062,14 @@ "hp", "169" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 193, @@ -1734,7 +3078,14 @@ "atkpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 194, @@ -1743,7 +3094,14 @@ "defpro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 195, @@ -1752,7 +3110,14 @@ "hppro", "33" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 196, @@ -1761,7 +3126,14 @@ "atk", "42" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 197, @@ -1770,7 +3142,14 @@ "atk", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 198, @@ -1779,7 +3158,14 @@ "def", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 199, @@ -1788,7 +3174,14 @@ "hp", "219" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 200, @@ -1797,7 +3190,14 @@ "atkpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 201, @@ -1806,7 +3206,14 @@ "defpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 202, @@ -1815,7 +3222,14 @@ "hppro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 203, @@ -1824,7 +3238,14 @@ "def", "42" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 204, @@ -1833,7 +3254,14 @@ "atk", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 205, @@ -1842,7 +3270,14 @@ "def", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 206, @@ -1851,7 +3286,14 @@ "hp", "219" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 207, @@ -1860,7 +3302,14 @@ "atkpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 208, @@ -1869,7 +3318,14 @@ "defpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 209, @@ -1878,7 +3334,14 @@ "hppro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 210, @@ -1887,7 +3350,14 @@ "hp", "219" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 211, @@ -1896,7 +3366,14 @@ "atk", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 212, @@ -1905,7 +3382,14 @@ "def", "42" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 213, @@ -1914,7 +3398,14 @@ "hp", "219" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 214, @@ -1923,7 +3414,14 @@ "atkpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 215, @@ -1932,7 +3430,14 @@ "defpro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 216, @@ -1941,7 +3446,14 @@ "hppro", "42" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 217, @@ -1950,7 +3462,14 @@ "atk", "54" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 218, @@ -1959,7 +3478,14 @@ "atk", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 219, @@ -1968,7 +3494,14 @@ "def", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 220, @@ -1977,7 +3510,14 @@ "hp", "284" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 221, @@ -1986,7 +3526,14 @@ "atkpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 222, @@ -1995,7 +3542,14 @@ "defpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 223, @@ -2004,7 +3558,14 @@ "hppro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 224, @@ -2013,7 +3574,14 @@ "def", "54" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 225, @@ -2022,7 +3590,14 @@ "atk", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 226, @@ -2031,7 +3606,14 @@ "def", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 227, @@ -2040,7 +3622,14 @@ "hp", "284" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 228, @@ -2049,7 +3638,14 @@ "atkpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 229, @@ -2058,7 +3654,14 @@ "defpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 230, @@ -2067,7 +3670,14 @@ "hppro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 231, @@ -2076,7 +3686,14 @@ "hp", "284" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 232, @@ -2085,7 +3702,14 @@ "atk", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 233, @@ -2094,7 +3718,14 @@ "def", "54" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 234, @@ -2103,7 +3734,14 @@ "hp", "284" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 235, @@ -2112,7 +3750,14 @@ "atkpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 236, @@ -2121,7 +3766,14 @@ "defpro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 237, @@ -2130,7 +3782,14 @@ "hppro", "54" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 238, @@ -2139,7 +3798,14 @@ "atk", "70" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 239, @@ -2148,7 +3814,14 @@ "atk", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 240, @@ -2157,7 +3830,14 @@ "def", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 241, @@ -2166,7 +3846,14 @@ "hp", "369" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 242, @@ -2175,7 +3862,14 @@ "atkpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 243, @@ -2184,7 +3878,14 @@ "defpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 244, @@ -2193,7 +3894,14 @@ "hppro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 245, @@ -2202,7 +3910,14 @@ "def", "70" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 246, @@ -2211,7 +3926,14 @@ "atk", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 247, @@ -2220,7 +3942,14 @@ "def", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 248, @@ -2229,7 +3958,14 @@ "hp", "369" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 249, @@ -2238,7 +3974,14 @@ "atkpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 250, @@ -2247,7 +3990,14 @@ "defpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 251, @@ -2256,7 +4006,14 @@ "hppro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 252, @@ -2265,7 +4022,14 @@ "hp", "369" ], - "probability": 1000 + "probability": 1000, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 253, @@ -2274,7 +4038,14 @@ "atk", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 254, @@ -2283,7 +4054,14 @@ "def", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 255, @@ -2292,7 +4070,14 @@ "hp", "369" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 256, @@ -2301,7 +4086,14 @@ "atkpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 257, @@ -2310,7 +4102,14 @@ "defpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 258, @@ -2319,7 +4118,14 @@ "hppro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 259, @@ -2328,7 +4134,14 @@ "atk", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 260, @@ -2337,7 +4150,14 @@ "def", "70" ], - "probability": 150 + "probability": 150, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 261, @@ -2346,7 +4166,14 @@ "hp", "369" ], - "probability": 400 + "probability": 400, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 262, @@ -2355,7 +4182,14 @@ "atkpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 263, @@ -2364,7 +4198,14 @@ "defpro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] }, { "key": 264, @@ -2373,6 +4214,13 @@ "hppro", "70" ], - "probability": 100 + "probability": 100, + "Addition": [ + 800, + 900, + 1000, + 1100, + 1200 + ] } ] \ No newline at end of file diff --git a/bin/json/game_equipsuit.json b/bin/json/game_equipsuit.json index 9bab661d9..e836e9203 100644 --- a/bin/json/game_equipsuit.json +++ b/bin/json/game_equipsuit.json @@ -2,86 +2,103 @@ { "suittype": 0, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 1, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 2, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 3, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 4, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 5, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 6, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 7, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 8, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 9, "suitnum": 4, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 100, "suitnum": 2, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 101, "suitnum": 2, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 102, "suitnum": 2, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 103, "suitnum": 2, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 104, "suitnum": 2, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 105, "suitnum": 2, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" }, { "suittype": 106, "suitnum": 2, - "skill": 100012000 + "skill": 100012000, + "skillintr": "" } ] \ No newline at end of file diff --git a/bin/json/game_herolevelup.json b/bin/json/game_herolevelup.json index 816313fd0..cbb4fb0b7 100644 --- a/bin/json/game_herolevelup.json +++ b/bin/json/game_herolevelup.json @@ -1,480 +1,1200 @@ [ { "level": 1, - "heroexp": 300, - "gold": 300, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 300 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 300 + } + ], "hp": 1857, "atk": 137, "def": 137 }, { "level": 2, - "heroexp": 320, - "gold": 320, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 320 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 320 + } + ], "hp": 1953, "atk": 142.7, "def": 143.7 }, { "level": 3, - "heroexp": 340, - "gold": 340, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 340 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 340 + } + ], "hp": 2049, "atk": 148.4, "def": 150.4 }, { "level": 4, - "heroexp": 360, - "gold": 360, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 360 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 360 + } + ], "hp": 2145, "atk": 154.1, "def": 157.1 }, { "level": 5, - "heroexp": 380, - "gold": 380, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 380 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 380 + } + ], "hp": 2241, "atk": 159.8, "def": 163.8 }, { "level": 6, - "heroexp": 400, - "gold": 400, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 400 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 400 + } + ], "hp": 2337, "atk": 165.5, "def": 170.5 }, { "level": 7, - "heroexp": 420, - "gold": 420, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 420 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 420 + } + ], "hp": 2433, "atk": 171.2, "def": 177.2 }, { "level": 8, - "heroexp": 440, - "gold": 440, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 440 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 440 + } + ], "hp": 2529, "atk": 176.9, "def": 183.9 }, { "level": 9, - "heroexp": 460, - "gold": 460, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 460 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 460 + } + ], "hp": 2625, "atk": 182.6, "def": 190.6 }, { "level": 10, - "heroexp": 480, - "gold": 480, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 480 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 480 + } + ], "hp": 2721, "atk": 188.3, "def": 197.3 }, { "level": 11, - "heroexp": 1100, - "gold": 1100, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 1100 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 1100 + } + ], "hp": 2817, "atk": 194, "def": 204 }, { "level": 12, - "heroexp": 1200, - "gold": 1200, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 1200 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 1200 + } + ], "hp": 2913, "atk": 199.7, "def": 210.7 }, { "level": 13, - "heroexp": 1300, - "gold": 1300, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 1300 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 1300 + } + ], "hp": 3009, "atk": 205.4, "def": 217.4 }, { "level": 14, - "heroexp": 1400, - "gold": 1400, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 1400 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 1400 + } + ], "hp": 3105, "atk": 211.1, "def": 224.1 }, { "level": 15, - "heroexp": 1500, - "gold": 1500, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 1500 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 1500 + } + ], "hp": 3201, "atk": 216.8, "def": 230.8 }, { "level": 16, - "heroexp": 1600, - "gold": 1600, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 1600 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 1600 + } + ], "hp": 3297, "atk": 222.5, "def": 237.5 }, { "level": 17, - "heroexp": 1700, - "gold": 1700, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 1700 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 1700 + } + ], "hp": 3393, "atk": 228.2, "def": 244.2 }, { "level": 18, - "heroexp": 1800, - "gold": 1800, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 1800 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 1800 + } + ], "hp": 3489, "atk": 233.9, "def": 250.9 }, { "level": 19, - "heroexp": 1900, - "gold": 1900, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 1900 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 1900 + } + ], "hp": 3585, "atk": 239.6, "def": 257.6 }, { "level": 20, - "heroexp": 2000, - "gold": 2000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 2000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 2000 + } + ], "hp": 3681, "atk": 245.3, "def": 264.3 }, { "level": 21, - "heroexp": 6300, - "gold": 6300, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 6300 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 6300 + } + ], "hp": 3777, "atk": 251, "def": 271 }, { "level": 22, - "heroexp": 6600, - "gold": 6600, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 6600 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 6600 + } + ], "hp": 3873, "atk": 256.7, "def": 277.7 }, { "level": 23, - "heroexp": 6900, - "gold": 6900, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 6900 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 6900 + } + ], "hp": 3969, "atk": 262.4, "def": 284.4 }, { "level": 24, - "heroexp": 7200, - "gold": 7200, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 7200 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 7200 + } + ], "hp": 4065, "atk": 268.1, "def": 291.1 }, { "level": 25, - "heroexp": 7500, - "gold": 7500, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 7500 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 7500 + } + ], "hp": 4161, "atk": 273.8, "def": 297.8 }, { "level": 26, - "heroexp": 7800, - "gold": 7800, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 7800 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 7800 + } + ], "hp": 4257, "atk": 279.5, "def": 304.5 }, { "level": 27, - "heroexp": 8100, - "gold": 8100, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 8100 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 8100 + } + ], "hp": 4353, "atk": 285.2, "def": 311.2 }, { "level": 28, - "heroexp": 8400, - "gold": 8400, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 8400 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 8400 + } + ], "hp": 4449, "atk": 290.9, "def": 317.9 }, { "level": 29, - "heroexp": 8700, - "gold": 8700, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 8700 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 8700 + } + ], "hp": 4545, "atk": 296.6, "def": 324.6 }, { "level": 30, - "heroexp": 9000, - "gold": 9000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 9000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 9000 + } + ], "hp": 4641, "atk": 302.3, "def": 331.3 }, { "level": 31, - "heroexp": 15500, - "gold": 15500, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 15500 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 15500 + } + ], "hp": 4737, "atk": 308, "def": 338 }, { "level": 32, - "heroexp": 16000, - "gold": 16000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 16000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 16000 + } + ], "hp": 4833, "atk": 313.7, "def": 344.7 }, { "level": 33, - "heroexp": 16500, - "gold": 16500, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 16500 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 16500 + } + ], "hp": 4929, "atk": 319.4, "def": 351.4 }, { "level": 34, - "heroexp": 17000, - "gold": 17000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 17000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 17000 + } + ], "hp": 5025, "atk": 325.1, "def": 358.1 }, { "level": 35, - "heroexp": 17500, - "gold": 17500, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 17500 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 17500 + } + ], "hp": 5121, "atk": 330.8, "def": 364.8 }, { "level": 36, - "heroexp": 18000, - "gold": 18000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 18000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 18000 + } + ], "hp": 5217, "atk": 336.5, "def": 371.5 }, { "level": 37, - "heroexp": 18500, - "gold": 18500, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 18500 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 18500 + } + ], "hp": 5313, "atk": 342.2, "def": 378.2 }, { "level": 38, - "heroexp": 19000, - "gold": 19000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 19000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 19000 + } + ], "hp": 5409, "atk": 347.9, "def": 384.9 }, { "level": 39, - "heroexp": 19500, - "gold": 19500, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 19500 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 19500 + } + ], "hp": 5505, "atk": 353.6, "def": 391.6 }, { "level": 40, - "heroexp": 20000, - "gold": 20000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 20000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 20000 + } + ], "hp": 5601, "atk": 359.3, "def": 398.3 }, { "level": 41, - "heroexp": 24600, - "gold": 24600, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 24600 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 24600 + } + ], "hp": 5697, "atk": 365, "def": 405 }, { "level": 42, - "heroexp": 25200, - "gold": 25200, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 25200 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 25200 + } + ], "hp": 5793, "atk": 370.7, "def": 411.7 }, { "level": 43, - "heroexp": 25800, - "gold": 25800, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 25800 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 25800 + } + ], "hp": 5889, "atk": 376.4, "def": 418.4 }, { "level": 44, - "heroexp": 26400, - "gold": 26400, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 26400 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 26400 + } + ], "hp": 5985, "atk": 382.1, "def": 425.1 }, { "level": 45, - "heroexp": 27000, - "gold": 27000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 27000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 27000 + } + ], "hp": 6081, "atk": 387.8, "def": 431.8 }, { "level": 46, - "heroexp": 27600, - "gold": 27600, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 27600 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 27600 + } + ], "hp": 6177, "atk": 393.5, "def": 438.5 }, { "level": 47, - "heroexp": 28200, - "gold": 28200, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 28200 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 28200 + } + ], "hp": 6273, "atk": 399.2, "def": 445.2 }, { "level": 48, - "heroexp": 28800, - "gold": 28800, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 28800 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 28800 + } + ], "hp": 6369, "atk": 404.9, "def": 451.9 }, { "level": 49, - "heroexp": 29400, - "gold": 29400, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 29400 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 29400 + } + ], "hp": 6465, "atk": 410.6, "def": 458.6 }, { "level": 50, - "heroexp": 30000, - "gold": 30000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 30000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 30000 + } + ], "hp": 6561, "atk": 416.3, "def": 465.3 }, { "level": 51, - "heroexp": 48450, - "gold": 48450, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 48450 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 48450 + } + ], "hp": 6657, "atk": 422, "def": 472 }, { "level": 52, - "heroexp": 49400, - "gold": 49400, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 49400 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 49400 + } + ], "hp": 6753, "atk": 427.7, "def": 478.7 }, { "level": 53, - "heroexp": 50350, - "gold": 50350, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 50350 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 50350 + } + ], "hp": 6849, "atk": 433.4, "def": 485.4 }, { "level": 54, - "heroexp": 51300, - "gold": 51300, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 51300 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 51300 + } + ], "hp": 6945, "atk": 439.1, "def": 492.1 }, { "level": 55, - "heroexp": 52250, - "gold": 52250, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 52250 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 52250 + } + ], "hp": 7041, "atk": 444.8, "def": 498.8 }, { "level": 56, - "heroexp": 53200, - "gold": 53200, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 53200 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 53200 + } + ], "hp": 7137, "atk": 450.5, "def": 505.5 }, { "level": 57, - "heroexp": 54150, - "gold": 54150, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 54150 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 54150 + } + ], "hp": 7233, "atk": 456.2, "def": 512.2 }, { "level": 58, - "heroexp": 55100, - "gold": 55100, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 55100 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 55100 + } + ], "hp": 7329, "atk": 461.9, "def": 518.9 }, { "level": 59, - "heroexp": 56050, - "gold": 56050, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 56050 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 56050 + } + ], "hp": 7425, "atk": 467.6, "def": 525.6 }, { "level": 60, - "heroexp": 57000, - "gold": 57000, + "heroexp": [ + { + "a": "attr", + "t": "heroexp", + "n": 57000 + } + ], + "gold": [ + { + "a": "attr", + "t": "gold", + "n": 57000 + } + ], "hp": 7521, "atk": 473.3, "def": 532.3 diff --git a/bin/json/game_skillafteratk.json b/bin/json/game_skillafteratk.json index d6228dcc2..88acf186b 100644 --- a/bin/json/game_skillafteratk.json +++ b/bin/json/game_skillafteratk.json @@ -2,11 +2,16 @@ { "Id": 200011101, "Desc": "对敌方1个目标造成攻击力80%", - "Target": "", - "EmitPR": 0, + "From": 4, + "Limit": 1, + "Where": [], + "Order": [ + "Type=rand" + ], + "EmitPR": 1000, "Type": "tongyongshanghai", "Argu": [ - "DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800," + "DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800" ], "AddEffect": false, "FollowSK": [], @@ -16,9 +21,14 @@ }, { "Id": 200012101, - "Desc": "对全体1个目标造成攻击力80%以及防御力120%的伤害", - "Target": "", - "EmitPR": 0, + "Desc": "对敌方全体造成攻击力80%以及防御力120%的伤害", + "From": 2, + "Limit": 5, + "Where": [], + "Order": [ + "Type=rand" + ], + "EmitPR": 1000, "Type": "tongyongshanghai", "Argu": [ "DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800,ProSou2=0,Pro2=Total_Def,ProPar2=1200" @@ -31,12 +41,17 @@ }, { "Id": 200013101, - "Desc": "对全体攻击小于自身的目标造成攻击力80%的伤害", - "Target": "Action=ProJudge,JudgeType=0,Key=Total_Atk,Op=0", + "Desc": "对敌方全体攻击小于自身的目标造成攻击力80%的伤害", + "From": 2, + "Limit": 5, + "Where": [ + "Type=ProJudge,JudgeType=0,Key=Total_Atk,Op=1" + ], + "Order": [], "EmitPR": 1000, "Type": "tongyongshanghai", "Argu": [ - "DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800," + "DoVal=1,ProSou1=0,Pro1=Total_Atk,ProPar1=800" ], "AddEffect": false, "FollowSK": [], diff --git a/bin/json/game_skillatk.json b/bin/json/game_skillatk.json index eacb3d6ca..c5b86e138 100644 --- a/bin/json/game_skillatk.json +++ b/bin/json/game_skillatk.json @@ -99,7 +99,7 @@ "Id": 100013000, "Name": "", "Type": 1, - "Desc": "对全体攻击小于自身的目标造成攻击力80%的伤害", + "Desc": "对敌方全体攻击小于自身的目标造成攻击力80%的伤害", "MaxLV": 6, "CD": [ 4, diff --git a/comm/const.go b/comm/const.go new file mode 100644 index 000000000..9cc2a61a5 --- /dev/null +++ b/comm/const.go @@ -0,0 +1,71 @@ +package comm + +import "go_dreamfactory/lego/core" + +type LogHandleType string + +const ( + LogHandleType_Insert LogHandleType = "insert" + LogHandleType_Update LogHandleType = "update" + LogHandleType_Delete LogHandleType = "delete" +) + +const ( + SC_ServiceGateRouteComp core.S_Comps = "SC_GateRouteComp" //s_comps.ISC_GateRouteComp +) + +const ( + Service_Gateway = "gateway" + Service_Worker = "worker" + Service_DB = "dbservice" +) + +//ERR +const ( + MainType_Notify = "notify" //通知 + SubType_ErrorNotify = "errornotify" //错误通知 +) + +//模块名定义处 +const ( + SM_GateModule core.M_Modules = "gateway" //gate模块 网关服务模块 + SM_WebModule core.M_Modules = "web" //web模块 + SM_UserModule core.M_Modules = "user" //用户模块 + SM_PackModule core.M_Modules = "pack" //背包模块 + SM_MailModule core.M_Modules = "mail" //邮件模块 + SM_FriendModule core.M_Modules = "friend" //好友模块 + SM_LogModelModule core.M_Modules = "model" //日志模块 + SM_EquipmentModule core.M_Modules = "equipment" //装备模块 + SM_HeroModule core.M_Modules = "hero" //英雄模块 + SM_ForumModule core.M_Modules = "forum" //论坛模块 + SM_ItemsModule core.M_Modules = "item" +) + +//RPC服务接口定义处 +const ( //Rpc + Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由 + Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id + Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id + Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息 + Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息 + Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息 + Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接 + Rpc_NoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线 +) + +//事件类型定义处 +const ( + Event_UserLogin core.Event_Key = "Event_UserLogin" //登录事件 + Event_CreateUser core.Event_Key = "Event_CreateUser" //创建角色事件 + Event_UserOffline core.Event_Key = "Event_UserOffline" //用户离线事件 +) + +const ( + DBService_Status string = "DBService_status" +) + +const ( + PropertyHp = 1 //生命 + PropertyAtk = 2 //攻击 + PropertyDef = 3 //防御 +) diff --git a/comm/core.go b/comm/core.go index 9331de077..b6827eac9 100644 --- a/comm/core.go +++ b/comm/core.go @@ -12,59 +12,6 @@ import ( "google.golang.org/protobuf/types/known/anypb" ) -const ( - SC_ServiceGateRouteComp core.S_Comps = "SC_GateRouteComp" //s_comps.ISC_GateRouteComp -) - -const ( - Service_Gateway = "gateway" - Service_Worker = "worker" - Service_DB = "dbservice" -) - -//ERR -const ( - MainType_Notify = "notify" //通知 - SubType_ErrorNotify = "errornotify" //错误通知 -) - -//模块名定义处 -const ( - SM_GateModule core.M_Modules = "gateway" //gate模块 网关服务模块 - SM_WebModule core.M_Modules = "web" //web模块 - SM_UserModule core.M_Modules = "user" //用户模块 - SM_ItemsModule core.M_Modules = "items" //道具模块 - SM_MailModule core.M_Modules = "mail" //邮件模块 - SM_FriendModule core.M_Modules = "friend" //好友模块 - SM_LogModelModule core.M_Modules = "model" //日志模块 - SM_EquipmentModule core.M_Modules = "equipment" //装备模块 - SM_HeroModule core.M_Modules = "hero" //英雄模块 - SM_ForumModule core.M_Modules = "forum" //论坛模块 -) - -//RPC服务接口定义处 -const ( //Rpc - Rpc_GatewayRoute core.Rpc_Key = "Rpc_GatewayRoute" //网关路由 - Rpc_GatewayAgentBind core.Rpc_Key = "Rpc_GatewayAgentBind" //代理绑定 绑定用户Id - Rpc_GatewayAgentUnBind core.Rpc_Key = "Rpc_GatewayAgentUnBind" //代理解绑 解绑用户Id - Rpc_GatewayAgentSendMsg core.Rpc_Key = "Rpc_GatewayAgentSendMsg" //代理发送消息 向用户发送消息 - Rpc_GatewaySendBatchMsg core.Rpc_Key = "Rpc_GatewaySendBatchMsg" //向多个用户发送消息 - Rpc_GatewaySendRadioMsg core.Rpc_Key = "Rpc_GatewaySendRadioMsg" //广播消息 - Rpc_GatewayAgentClose core.Rpc_Key = "Rpc_GatewayAgentClose" //代理关闭 关闭用户连接 - Rpc_NoticeUserClose core.Rpc_Key = "Rpc_NoticeUserClose" //通知用户离线 -) - -//事件类型定义处 -const ( - Event_UserLogin core.Event_Key = "Event_UserLogin" //登录事件 - Event_CreateUser core.Event_Key = "Event_CreateUser" //创建角色事件 - Event_UserOffline core.Event_Key = "Event_UserOffline" //用户离线事件 -) - -const ( - DBService_Status string = "DBService_status" -) - // 服务网关组件接口定义 type ISC_GateRouteComp interface { core.IServiceComp @@ -88,12 +35,10 @@ type Autogenerated struct { D []interface{} } -type LogHandleType string + const ( - LogHandleType_Insert LogHandleType = "insert" - LogHandleType_Update LogHandleType = "update" - LogHandleType_Delete LogHandleType = "delete" + HeroStarLvRatio int32 = 10 // 卡牌等级上限系数(星级*10) ) //Api Check 错误返回结构 diff --git a/comm/imodule.go b/comm/imodule.go index e5834e71e..12ed1b31a 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -37,11 +37,17 @@ type ( QueryCardAmount(uId string, cardId int32) (amount uint32) //添加/减少卡片 AddCard(uId string, cardId int32, add int32) (code pb.ErrorCode) + //创建一个新英雄 + CreatMultiHero(uid string, heroCfgId ...int32) error + // 获取英雄 // heroId 英雄ID - GetHero(heroId string) (*pb.DB_HeroData, pb.ErrorCode) + GetHero(uid, heroId string) (*pb.DB_HeroData, pb.ErrorCode) // 佩戴装备 UpdateEquipment(hero *pb.DB_HeroData, equip []*pb.DB_Equipment) (code pb.ErrorCode) + //获取玩家英雄列表 + GetHeroList(uid string) []*pb.DB_HeroData + } //玩家 @@ -50,9 +56,7 @@ type ( QueryAttributeValue(uid string, attr string) (value int32) //添加/减少属性值 AddAttributeValue(uid string, attr string, add int32) (code pb.ErrorCode) - //获取玩家英雄列表 - //uid 玩家ID - GetHeroList(uid string) []*pb.DB_HeroData + } //武器模块 IEquipment interface { diff --git a/go.mod b/go.mod index 12ef52565..b1b0e2fe1 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,9 @@ module go_dreamfactory go 1.18 require ( + bright v0.0.0 github.com/axgle/mahonia v0.0.0-20180208002826-3358181d7394 + github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca github.com/go-playground/validator/v10 v10.10.1 github.com/go-redis/redis/v8 v8.11.5 github.com/golang-jwt/jwt v3.2.2+incompatible @@ -29,7 +31,6 @@ require ( golang.org/x/net v0.0.0-20220407224826-aac1ed45d8e3 google.golang.org/protobuf v1.28.0 gopkg.in/yaml.v2 v2.4.0 - bright v0.0.0 ) require ( diff --git a/go.sum b/go.sum index 992ed8e23..ed2f49db8 100644 --- a/go.sum +++ b/go.sum @@ -110,6 +110,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca h1:5R7Xum+9XDxbGDYpBfeedfzbb11wG++geFn7EvMbhuA= +github.com/dengsgo/math-engine v0.0.0-20220213125415-0351c3c75eca/go.mod h1:zkR27k4K0I8FS6rkEd8qBhPeS8i3X2FKfvSPdF64OpQ= github.com/dgryski/go-jump v0.0.0-20170409065014-e1f439676b57/go.mod h1:4hKCXuwrJoYvHZxJ86+bRVTOMyJ0Ej+RqfSm8mHi6KA= github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0 h1:0wH6nO9QEa02Qx8sIQGw6ieKdz+BXjpccSOo9vXNl4U= github.com/dgryski/go-jump v0.0.0-20211018200510-ba001c3ffce0/go.mod h1:4hKCXuwrJoYvHZxJ86+bRVTOMyJ0Ej+RqfSm8mHi6KA= diff --git a/modules/configure_comp.go b/modules/configure_comp.go index 941c2ad9c..6986c981f 100644 --- a/modules/configure_comp.go +++ b/modules/configure_comp.go @@ -22,11 +22,22 @@ func (this *MComp_Configure) Init(service core.IService, module core.IModule, co return } -//加载配置文件 +//加载一个配置文件 func (this *MComp_Configure) LoadConfigure(name string, fn interface{}) (err error) { return configure.RegisterConfigure(name, fn) } +//加载多个配置文件 +func (this *MComp_Configure) LoadMultiConfigure(confs map[string]interface{}) (err error) { + for k, v := range confs { + err = configure.RegisterConfigure(k, v) + if err != nil { + break + } + } + return +} + //读取配置数据 func (this *MComp_Configure) GetConfigure(name string) (v interface{}, err error) { return configure.GetConfigure(name) diff --git a/modules/equipment/api_equip.go b/modules/equipment/api_equip.go index 78de1f481..b02cca51b 100644 --- a/modules/equipment/api_equip.go +++ b/modules/equipment/api_equip.go @@ -33,7 +33,7 @@ func (this *Api_Comp) Equip_Check(session comm.IUserSession, req *pb.Equipment_E } } - if hero, errorCode = this.module.hero.GetHero(req.HeroCardId); errorCode != pb.ErrorCode_Success { + if hero, errorCode = this.module.hero.GetHero(session.GetUserId(), req.HeroCardId); errorCode != pb.ErrorCode_Success { code.Code = errorCode return } diff --git a/modules/equipment/api_upgrade.go b/modules/equipment/api_upgrade.go index efc41fca5..055c645c7 100644 --- a/modules/equipment/api_upgrade.go +++ b/modules/equipment/api_upgrade.go @@ -118,7 +118,7 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa //已装备 重新计算属性 if equipment.HeroId != "" { - if hero, code = this.module.hero.GetHero(equipment.HeroId); code != pb.ErrorCode_Success { + if hero, code = this.module.hero.GetHero(session.GetUserId(), equipment.HeroId); code != pb.ErrorCode_Success { log.Errorf("Upgrade code:%d", code) return } diff --git a/modules/hero/api.go b/modules/hero/api.go index da37ba010..b8759bf0c 100644 --- a/modules/hero/api.go +++ b/modules/hero/api.go @@ -12,7 +12,9 @@ type Api_Comp struct { } const ( //消息回复的头名称 - StrengthenUplv = "strengthenherolv" + StrengthenUplv = "strengthenherolv" + Hero_SubType_Info = "info" //英雄卡片信息 + Hero_SubType_List = "list" //英雄列表 ) //组件初始化接口 diff --git a/modules/hero/api_heroStrengthen.go b/modules/hero/api_heroStrengthen.go index ba3d24f36..1528ef679 100644 --- a/modules/hero/api_heroStrengthen.go +++ b/modules/hero/api_heroStrengthen.go @@ -3,15 +3,78 @@ package hero import ( "go_dreamfactory/comm" "go_dreamfactory/pb" - "log" ) //参数校验 func (this *Api_Comp) StrengthenUplv_Check(session comm.IUserSession, req *pb.Hero_StrengthenUplv_Req) (result map[string]interface{}, code comm.ErrorCode) { if req.HeroObjID == "" { code.Code = pb.ErrorCode_ReqParameterError + return + } + _hero, err := this.module.model_hero.moduleHero.GetHeroInfoByObjID(req.HeroObjID) // 校验升级的对象是否存在 + if err != 0 { + code.Code = pb.ErrorCode_HeroNoExist + return + } + _expHero, err := this.module.model_hero.moduleHero.GetHeroInfoByObjID(req.ExpCardID) // 校验需要消耗经验卡牌的对象是否存在 + if err != 0 { + code.Code = pb.ErrorCode_HeroNoExist + return + } + if req.Amount <= 0 { // 消耗数量校验 + code.Code = pb.ErrorCode_HeroNoExist + return + } + curLv := _hero.Lv + curExp := _hero.Exp // 当前英雄的经验 + var costGold int32 // 当前需要消耗金币的数量 + var addExp int32 // 需要增加的经验 + // 查询 本次消耗会获得多少经验 + expConf := this.module.configure_comp.GetHeroExp(_expHero.HeroID) + if expConf != nil { + addExp = expConf.Heroexp * req.Amount + } + if _expHero.Count <= req.Amount { // 消耗经验卡片数量不足 + code.Code = pb.ErrorCode_HeroNoEnough + return + } + // 校验当前能不能升级 + + if _hero.Lv >= _hero.Star*comm.HeroStarLvRatio { // 达到最大等级 + code.Code = pb.ErrorCode_HeroMaxLv + return + } + if _data := this.module.configure_comp.GetHeroLv(curLv); _data != nil { + costGold += _data.Gold[0].N + curExp += addExp // 先把经验加上 + // 当前升级需要消耗的经验 + for { // 死循环判断一键升级 + if _data.Heroexp[0].N <= curExp { // 升级操作 + curExp = _data.Heroexp[0].N + if curExp >= 0 { // 大于下一级经验 + curLv += 1 // 经验够了 那么等级+1 + if _data := this.module.configure_comp.GetHeroLv(curLv); _data != nil { + if _data.Heroexp[0].N > curExp { // 经验不足则 直接返回 + break + } + costGold += _data.Gold[0].N + } else { + break + } + } + } else { + break + } + } + + } + + // 校验金币消耗 + result = map[string]interface{}{ + "costGold": costGold, + "curExp": curExp, + "curLv": curLv, } - //this.module.model_hero.moduleHero.GetHeroInfoByObjID() return } @@ -24,12 +87,5 @@ func (this *Api_Comp) StrengthenUplv(session comm.IUserSession, agrs map[string] } }() - if configure, err := this.module.configure_comp.GetHeroConfigure(); err != nil { - _data := configure.GetDataMap() - for key, value := range _data { - log.Fatalf("%d,%v", key, value) - } - } - return } diff --git a/modules/hero/api_info.go b/modules/hero/api_info.go new file mode 100644 index 000000000..67075eddf --- /dev/null +++ b/modules/hero/api_info.go @@ -0,0 +1,33 @@ +package hero + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//参数校验 +func (this *Api_Comp) Info_Check(session comm.IUserSession, req *pb.Hero_Info_Req) (result map[string]interface{}, code comm.ErrorCode) { + result = map[string]interface{}{} + hero := this.module.model_hero.getOneHero(session.GetUserId(), req.HeroId) + if hero == nil { + code = comm.ErrorCode{Code: pb.ErrorCode_HeroNoExist} + } + result["hero"] = hero + return +} + +func (this *Api_Comp) Info(session comm.IUserSession, result map[string]interface{}, req *pb.Hero_Info_Req) (code pb.ErrorCode) { + rsp := &pb.Hero_Info_Rsp{} + defer func() { + err := session.SendMsg(string(this.module.GetType()), Hero_SubType_Info, rsp) + if err != nil { + code = pb.ErrorCode_SystemError + return + } + }() + + if v, ok := result["hero"]; ok { + rsp.Base = v.(*pb.DB_HeroData) + } + return +} diff --git a/modules/hero/api_list.go b/modules/hero/api_list.go new file mode 100644 index 000000000..5a5fd5b98 --- /dev/null +++ b/modules/hero/api_list.go @@ -0,0 +1,32 @@ +package hero + +import ( + "go_dreamfactory/comm" + "go_dreamfactory/pb" +) + +//参数校验 +func (this *Api_Comp) List_Check(session comm.IUserSession, req *pb.Hero_List_Req) (result map[string]interface{}, code comm.ErrorCode) { + return +} + +func (this *Api_Comp) List(session comm.IUserSession, result map[string]interface{}, req *pb.Hero_List_Req) (code pb.ErrorCode) { + rsp := &pb.Hero_List_Rsp{} + + defer func() { + err := session.SendMsg(this.module.api_comp.service.GetType(), Hero_SubType_List, rsp) + if err != nil { + code = pb.ErrorCode_SystemError + } + }() + + list, err := this.module.model_hero.getHeroList(session.GetUserId()) + if err != nil { + code = pb.ErrorCode_DBError + return + } + + rsp.List = list + + return +} diff --git a/modules/hero/configure_comp.go b/modules/hero/configure_comp.go index d6eab6892..cf72ca460 100644 --- a/modules/hero/configure_comp.go +++ b/modules/hero/configure_comp.go @@ -9,12 +9,12 @@ import ( ) const ( - game_hero = "game_newhero.json" - game_heroStargrow = "game_heroStargrow.json" - game_heroLevelgrow = "game_heroLevelgrow.json" - game_heroStarup = "game_heroStarup.json" - game_heroLevelup = "game_heroLevelup.json" - game_heroExp = "game_exp.json" + new_hero = "game_newhero.json" //英雄 + hero_stargrow = "game_herostargrow.json" //英雄品质系数 + hero_levelgrow = "game_herolevelgrow.json" //英雄成长系数 + hero_starup = "game_herostarup.json" // + hero_levelup = "game_herolevelup.json" //英雄等级基础属性 + hero_exp = "game_exp.json" ) ///配置管理组件 @@ -24,35 +24,33 @@ type Configure_Comp struct { //组件初始化接口 func (this *Configure_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { - this.ModuleCompBase.Init(service, module, comp, options) - this.LoadConfigure(game_hero, cfg.NewGame_newHero) - this.LoadConfigure(game_heroStargrow, cfg.NewGame_heroStargrow) - this.LoadConfigure(game_heroLevelgrow, cfg.NewGame_heroLevelgrow) - this.LoadConfigure(game_heroStarup, cfg.NewGame_heroStarup) - this.LoadConfigure(game_heroLevelup, cfg.NewGame_heroLevelup) - this.LoadConfigure(game_heroExp, cfg.NewGame_heroExp) - // this.GetHeroConfigure() - // this.GetHeroStargrowCon() - // this.GetHeroLevelgrowCon() - // this.GetHeroStarupCon() - // this.GetHeroLevelUpCon() - // this.GetHeroExpCon() + err = this.MComp_Configure.Init(service, module, comp, options) + err = this.LoadMultiConfigure(map[string]interface{}{ + new_hero: cfg.NewGame_newHero, + hero_stargrow: cfg.NewGame_heroStargrow, + hero_levelgrow: cfg.NewGame_heroLevelgrow, + hero_starup: cfg.NewGame_heroStarup, + hero_levelup: cfg.NewGame_heroLevelup, + hero_exp: cfg.NewGame_heroExp, + }) + return } //获取英雄配置数据 -func (this *Configure_Comp) GetHeroConfigure() (configure *cfg.Game_newHero, err error) { +func (this *Configure_Comp) getHeroConfigure() (configure *cfg.Game_newHero, err error) { var ( v interface{} ok bool ) - if v, err = this.GetConfigure(game_hero); err == nil { + + if v, err = this.GetConfigure(new_hero); err != nil { + return + } else { if configure, ok = v.(*cfg.Game_newHero); !ok { err = fmt.Errorf("%T no is *cfg.Game_hero", v) } - } else { - err = fmt.Errorf("%T no is *cfg.Game_hero", v) } return } @@ -63,7 +61,7 @@ func (this *Configure_Comp) GetHeroStargrowCon() (configure *cfg.Game_heroStargr v interface{} ok bool ) - if v, err = this.GetConfigure(game_heroStargrow); err == nil { + if v, err = this.GetConfigure(hero_stargrow); err == nil { if configure, ok = v.(*cfg.Game_heroStargrow); !ok { err = fmt.Errorf("%T no is *cfg.Game_hero", v) return @@ -81,7 +79,7 @@ func (this *Configure_Comp) GetHeroLevelgrowCon() (configure *cfg.Game_heroLevel v interface{} ok bool ) - if v, err = this.GetConfigure(game_heroLevelgrow); err == nil { + if v, err = this.GetConfigure(hero_levelgrow); err == nil { if configure, ok = v.(*cfg.Game_heroLevelgrow); !ok { err = fmt.Errorf("%T no is *cfg.Game_heroLevelgrow", v) return @@ -97,7 +95,7 @@ func (this *Configure_Comp) GetHeroStarupCon() (configure *cfg.Game_heroStarup, v interface{} ok bool ) - if v, err = this.GetConfigure(game_heroStarup); err == nil { + if v, err = this.GetConfigure(hero_starup); err == nil { if configure, ok = v.(*cfg.Game_heroStarup); !ok { err = fmt.Errorf("%T no is *cfg.Game_heroStarup", v) return @@ -114,7 +112,7 @@ func (this *Configure_Comp) GetHeroLevelUpCon() (configure *cfg.Game_heroLevelup v interface{} ok bool ) - if v, err = this.GetConfigure(game_heroLevelup); err == nil { + if v, err = this.GetConfigure(hero_levelup); err == nil { if configure, ok = v.(*cfg.Game_heroLevelup); !ok { err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v) return @@ -130,7 +128,7 @@ func (this *Configure_Comp) GetHeroExpCon() (configure *cfg.Game_heroExp, err er v interface{} ok bool ) - if v, err = this.GetConfigure(game_heroExp); err == nil { + if v, err = this.GetConfigure(hero_exp); err == nil { if configure, ok = v.(*cfg.Game_heroExp); !ok { err = fmt.Errorf("%T no is *cfg.Game_heroExp", v) return @@ -140,3 +138,117 @@ func (this *Configure_Comp) GetHeroExpCon() (configure *cfg.Game_heroExp, err er } return } +func (this *Configure_Comp) GetHeroExp(hid int32) *cfg.Game_heroExpData { + + if v, err := this.GetConfigure(hero_exp); err == nil { + if configure, ok := v.(*cfg.Game_heroExp); !ok { + err = fmt.Errorf("%T no is *cfg.Game_heroExp", v) + return nil + } else { + return configure.Get(hid) + } + } else { + err = fmt.Errorf("%T no is *cfg.Game_heroExp", v) + } + return nil +} + +//英雄等级基础属性 +func (this *Configure_Comp) GetHeroLevelup() (configure *cfg.Game_heroLevelup, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(hero_levelup); err != nil { + return + } else { + if configure, ok = v.(*cfg.Game_heroLevelup); !ok { + err = fmt.Errorf("%T no is *cfg.Game_heroLevelup", v) + return + } + } + return +} + +//英雄品质系数 +func (this *Configure_Comp) GetHeroStargrow() (configure *cfg.Game_heroStargrow, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(hero_stargrow); err != nil { + return + } else { + if configure, ok = v.(*cfg.Game_heroStargrow); !ok { + err = fmt.Errorf("%T no is *cfg.Game_heroStargrow", v) + return + } + } + return +} + +//获取英雄配置 +func (this *Configure_Comp) GetHero(heroId int32) *cfg.Game_newHeroData { + cfg, err := this.getHeroConfigure() + if err != nil { + return nil + } + if v, ok := cfg.GetDataMap()[heroId]; ok { + return v + } + return nil +} + +//获取英雄星级配置 +func (this *Configure_Comp) GetHeroStar(star int32) *cfg.Game_heroStargrowData { + cfg, err := this.GetHeroStargrow() + if err != nil { + return nil + } + + if v, ok := cfg.GetDataMap()[star]; ok { + return v + } + return nil +} + +//获取英雄等级配置 +func (this *Configure_Comp) GetHeroLv(lv int32) *cfg.Game_heroLevelupData { + cfg, err := this.GetHeroLevelup() + if err != nil { + return nil + } + if v, ok := cfg.GetDataMap()[lv]; ok { + return v + } + return nil +} + +// 英雄成长系数 +func (this *Configure_Comp) GetHeroLevelgrow() (configure *cfg.Game_heroLevelgrow, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(hero_levelgrow); err != nil { + return + } else { + if configure, ok = v.(*cfg.Game_heroLevelgrow); !ok { + err = fmt.Errorf("%T no is *cfg.Game_heroLevelgrow", v) + return + } + } + return +} + +//英雄成长配置 +func (this *Configure_Comp) GetHeroLvgrow(heroId int32) *cfg.Game_heroLevelgrowData { + cfg, err := this.GetHeroLevelgrow() + if err != nil { + return nil + } + if v, ok := cfg.GetDataMap()[heroId]; ok { + return v + } + return nil +} diff --git a/modules/hero/hero_test.go b/modules/hero/hero_test.go new file mode 100644 index 000000000..561130787 --- /dev/null +++ b/modules/hero/hero_test.go @@ -0,0 +1,90 @@ +package hero + +import ( + "fmt" + "go_dreamfactory/comm" + "go_dreamfactory/lego" + "go_dreamfactory/lego/base/rpcx" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/services" + "go_dreamfactory/sys/cache" + "go_dreamfactory/sys/configure" + "go_dreamfactory/sys/db" + "os" + "testing" + "time" +) + +var service core.IService +var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp() + +var module = new(Hero) + +type TestService struct { + rpcx.RPCXService +} + +func newService(ops ...rpcx.Option) core.IService { + s := new(TestService) + s.Configure(ops...) + return s +} + +//初始化相关系统 +func (this *TestService) InitSys() { + this.RPCXService.InitSys() + if err := cache.OnInit(this.GetSettings().Sys["cache"]); err != nil { + panic(fmt.Sprintf("init sys.cache err: %s", err.Error())) + } else { + log.Infof("init sys.cache success!") + } + if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil { + panic(fmt.Sprintf("init sys.db err: %s", err.Error())) + } else { + log.Infof("init sys.db success!") + } + if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("E:\\projects\\workspace\\go_dreamfactory\\bin\\json")); err != nil { + panic(fmt.Sprintf("init sys.configure err: %s", err.Error())) + } else { + log.Infof("init sys.configure success!") + } +} + +func TestMain(m *testing.M) { + service = newService( + rpcx.SetConfPath("../../bin/conf/worker_2.yaml"), + ) + service.OnInstallComp( //装备组件 + s_gateComp, //此服务需要接受用户的消息 需要装备网关组件 + ) + go func() { + lego.Run(service, //运行模块 + module, + ) + }() + time.Sleep(time.Second * 2) + defer os.Exit(m.Run()) +} + +//创建一个英雄s +func TestCreateOneHero(t *testing.T) { + err := module.model_hero.createOneHero("u1", 25001) + fmt.Println(err) +} + +//获取玩家英雄 +func TestGetOneHero(t *testing.T) { + d := module.model_hero.getOneHero("u1", "62b534bebf4745d4117acabe") + fmt.Printf("%v", d) +} + +func TestPropertyCompute(t *testing.T) { + m := module.model_hero.PropertyCompute("u1", "62b534bebf4745d4117acabe") + fmt.Println(m) +} + +func TestHeroList(t *testing.T) { + heroes, err := module.model_hero.getHeroList("u1") + fmt.Printf("%v %v", heroes, err) +} diff --git a/modules/hero/model_hero.go b/modules/hero/model_hero.go index 1b8791e13..2e9ae8819 100644 --- a/modules/hero/model_hero.go +++ b/modules/hero/model_hero.go @@ -1,10 +1,16 @@ package hero import ( + "fmt" + "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/log" "go_dreamfactory/modules" "go_dreamfactory/pb" + "math" + + mengine "github.com/dengsgo/math-engine/engine" + "go.mongodb.org/mongo-driver/bson/primitive" ) type ModelHero struct { @@ -19,29 +25,89 @@ func (this *ModelHero) Init(service core.IService, module core.IModule, comp cor return } -//创建一个指定的英雄 -func (this *ModelHero) createOneHero(uid string, heroId int32) error { - heroCfg, err := this.moduleHero.configure_comp.GetHeroConfigure() - if err != nil { - log.Errorf("%v", err) - return err +//初始化英雄 +func (this *ModelHero) initHero(uid string, heroCfgId int32) *pb.DB_HeroData { + heroCfg := this.moduleHero.configure_comp.GetHero(heroCfgId) + if heroCfg == nil { + log.Errorf("%v hero not found from config %v", heroCfgId) + return nil } - if heroCfg != nil { - oneHeroCfg := heroCfg.Get(heroId) - if oneHeroCfg != nil { - newHero := &pb.DB_HeroData{ - Uid: uid, - HeroID: oneHeroCfg.Id, - Star: oneHeroCfg.Star, - Lv: 1, //初始等级 - } - return this.moduleHero.model_hero.Add(uid, newHero) - } + objId := primitive.NewObjectID().Hex() + newHero := &pb.DB_HeroData{ + Id: objId, + Uid: uid, + HeroID: heroCfg.Hid, + Star: heroCfg.Star, + Lv: 1, //初始等级 + NormalSkill: []*pb.SkillData{}, + Skins: []int32{}, + EquipID: make([]string, 6), + AddProperty: make(map[int32]int32), + Energy: make(map[int32]int32), + Property: make(map[int32]int32), + } + return newHero +} +//创建一个指定的英雄 +func (this *ModelHero) createOneHero(uid string, heroCfgId int32) error { + hero := this.initHero(uid, heroCfgId) + if hero != nil { + return this.moduleHero.model_hero.AddList(uid, hero.Id, hero) } return nil } +//创建多个指定的英雄 +func (this *ModelHero) createMultiHero(uid string, heroCfgId ...int32) error { + data := make(map[string]interface{}) + for _, v := range heroCfgId { + hero := this.initHero(uid, v) + if hero != nil { + data[hero.Id] = hero + } + } + return this.moduleHero.model_hero.AddLists(uid, data) +} + +//获取一个英雄 +func (this *ModelHero) getOneHero(uid, heroId string) *pb.DB_HeroData { + hero := &pb.DB_HeroData{} + err := this.moduleHero.model_hero.GetListObj(uid, heroId, hero) + if err != nil { + return nil + } + return hero +} + +//获取玩家的英雄列表 +func (this *ModelHero) getHeroList(uid string) ([]*pb.DB_HeroData, error) { + herokeys := make(map[string]string) + err := this.Get(uid, herokeys) + if err != nil { + return nil, err + } + + heroes := make([]*pb.DB_HeroData, 0) + err = this.GetList(uid, &heroes) + if err != nil { + return nil, err + } + + return heroes, nil +} + +//更新装备 +func (this *ModelHero) setEquipment(uid, heroId string, equipIds []string) pb.ErrorCode { + hero := this.getOneHero(uid, heroId) + if hero == nil { + return pb.ErrorCode_HeroNoExist + } + + hero.EquipID = equipIds + return pb.ErrorCode_Success +} + //指定英雄升级 func (this *ModelHero) levelUp(uid string, heroId int32) error { var heroes []*pb.DB_HeroData @@ -57,3 +123,57 @@ func (this *ModelHero) levelUp(uid string, heroId int32) error { func (this *ModelHero) starUp() { } + +//属性计算 - 暂时放在modelHero里实现 +//英雄基础属性 + 英雄等级基础属性 * 英雄成长系数 + 英雄星级对应等级属性 * 英雄品质系数 +func (this *ModelHero) PropertyCompute(uid, heroId string) map[int32]int32 { + hero := this.getOneHero(uid, heroId) + if hero == nil { + return nil + } + + //英雄等级基础属性levelup + heroLvCfg := this.moduleHero.configure_comp.GetHeroLv(hero.Lv) + if heroLvCfg == nil { + return nil + } + + //英雄基础配置 newhero + heroCfg := this.moduleHero.configure_comp.GetHero(hero.HeroID) + if heroCfg == nil { + return nil + } + + //品质系数 + stargrowCfg := this.moduleHero.configure_comp.GetHeroStar(heroCfg.Star) + if stargrowCfg == nil { + return nil + } + + //英雄星级对应等级属性 + heroStarCfg := this.moduleHero.configure_comp.GetHeroLv(stargrowCfg.Level) + if heroStarCfg == nil { + return nil + } + + //成长系数 + lvGrow := this.moduleHero.configure_comp.GetHeroLvgrow(hero.HeroID) + if lvGrow == nil { + return nil + } + + exprHp := fmt.Sprintf("%v + %v * %v/1000 + %v * %v", lvGrow.Hp, heroLvCfg.Hp, lvGrow.Hpgrow, heroStarCfg.Hp, stargrowCfg.StarupHp) + hp, _ := mengine.ParseAndExec(exprHp) + + exprAtk := fmt.Sprintf("%v +%v * %v/1000 + %v * %v", lvGrow.Atk, heroLvCfg.Atk, lvGrow.Atkgrow, heroStarCfg.Atk, stargrowCfg.StarupAtk) + atk, _ := mengine.ParseAndExec(exprAtk) + + exprDef := fmt.Sprintf("%v +%v * %v/1000 + %v * %v", lvGrow.Def, heroLvCfg.Def, lvGrow.Defgrow, heroStarCfg.Def, stargrowCfg.StarupDef) + def, _ := mengine.ParseAndExec(exprDef) + + return map[int32]int32{ + comm.PropertyHp: int32(math.Floor(hp)), + comm.PropertyAtk: int32(math.Floor(atk)), + comm.PropertyDef: int32(math.Floor(def)), + } +} diff --git a/modules/hero/module.go b/modules/hero/module.go index 6a2191026..a96e8a470 100644 --- a/modules/hero/module.go +++ b/modules/hero/module.go @@ -50,6 +50,11 @@ func (this *Hero) GetHero(heroId int32) (*pb.DB_HeroData, pb.ErrorCode) { return nil, pb.ErrorCode_HeroNoExist } +func (this *Hero) ModifyHero(heroId *pb.DB_HeroData) (*pb.DB_HeroData, pb.ErrorCode) { + + return nil, pb.ErrorCode_HeroNoExist +} + //佩戴装备 func (this *Hero) InstallEquip(heroId, equipId string) pb.ErrorCode { return pb.ErrorCode_Success diff --git a/modules/user/api.go b/modules/user/api.go index 7c72ed4e2..d188874cc 100644 --- a/modules/user/api.go +++ b/modules/user/api.go @@ -1,6 +1,7 @@ package user import ( + "go_dreamfactory/comm" "go_dreamfactory/modules" "go_dreamfactory/lego/base" @@ -17,6 +18,7 @@ type Api_Comp struct { modules.MComp_GateComp service base.IRPCXService module *User + hero comm.IHero } func (this *Api_Comp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { @@ -28,5 +30,12 @@ func (this *Api_Comp) Init(service core.IService, module core.IModule, comp core func (this *Api_Comp) Start() (err error) { err = this.MComp_GateComp.Start() + var module core.IModule + + //get module hero + if module, err = this.service.GetModule(comm.SM_HeroModule); err != nil { + return + } + this.hero = module.(comm.IHero) return } diff --git a/modules/user/api_create.go b/modules/user/api_create.go index 37d012d10..0d3c08d3f 100644 --- a/modules/user/api_create.go +++ b/modules/user/api_create.go @@ -2,12 +2,19 @@ package user import ( "go_dreamfactory/comm" - "go_dreamfactory/lego/sys/event" "go_dreamfactory/pb" "go_dreamfactory/utils" ) func (this *Api_Comp) Create_Check(session comm.IUserSession, req *pb.UserCreateReq) (result map[string]interface{}, code comm.ErrorCode) { + result = make(map[string]interface{}) + self := &pb.DB_UserData{} + err := this.module.modelUser.Get(session.GetUserId(), self) + if err != nil { + code = comm.ErrorCode{Code: pb.ErrorCode_DBError} + return + } + result["self"] = self return } @@ -15,28 +22,25 @@ func (this *Api_Comp) Create_Check(session comm.IUserSession, req *pb.UserCreate func (this *Api_Comp) Create(session comm.IUserSession, result map[string]interface{}, req *pb.UserCreateReq) (code pb.ErrorCode) { defer utils.TraceFunc(session.GetUserId(), string(this.module.GetType()), User_SubType_Create, req, nil) - self := &pb.DB_UserData{} - defer func() { - session.SendMsg(string(this.module.GetType()), User_SubType_Create, &pb.UserCreateRsp{}) + err := session.SendMsg(string(this.module.GetType()), User_SubType_Create, &pb.UserCreateRsp{}) + if err != nil { + code = pb.ErrorCode_SystemError + } }() - //更新昵称 - // update := map[string]interface{}{ - // "name": req.NickName, - // } - err := this.module.modelUser.Get(session.GetUserId(), self) - if err != nil { - code = pb.ErrorCode_DBError - return + update := map[string]interface{}{ + "name": req.NickName, } - self.Name = req.NickName - err = this.module.modelUser.Get(session.GetUserId(), self) + + err := this.module.modelUser.Change(session.GetUserId(), update) if err != nil { code = pb.ErrorCode_DBError return } - event.RegisterGO(comm.Event_CreateUser, session.GetUserId()) + //初始化英雄 + // this.hero. + return } diff --git a/modules/user/model_user.go b/modules/user/model_user.go index 7d1e8364b..3ed7a3f0b 100644 --- a/modules/user/model_user.go +++ b/modules/user/model_user.go @@ -10,7 +10,6 @@ import ( uuid "github.com/satori/go.uuid" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/bson/primitive" - "go.mongodb.org/mongo-driver/mongo/options" ) const ( //Redis @@ -38,16 +37,6 @@ func (this *ModelUser) User_FindByAccount(sid int32, account string) (*pb.DB_Use return nd, err } -func (this *ModelUser) User_FindById(id string) (*pb.DB_UserData, error) { - filter := bson.M{ - "userid": id, - } - sr := this.DB.FindOne(DB_UserTable, filter) - user := &pb.DB_UserData{} - err := sr.Decode(user) - return user, err -} - func (this *ModelUser) User_Create(user *pb.DB_UserData) (err error) { _id := primitive.NewObjectID().Hex() user.Id = _id @@ -57,16 +46,3 @@ func (this *ModelUser) User_Create(user *pb.DB_UserData) (err error) { _, err = this.DB.InsertOne(DB_UserTable, user) return err } - -//更新用户数据到DB -func (this *ModelUser) User_Update(data *pb.DB_UserData) (err error) { - err = this.DB.FindOneAndUpdate( - DB_UserTable, - bson.M{"uid": data.Uid}, - bson.M{"$set": bson.M{ - "name": data.Name, - }}, - options.FindOneAndUpdate().SetUpsert(true), - ).Err() - return err -} diff --git a/modules/user/user_test.go b/modules/user/user_test.go new file mode 100644 index 000000000..965f37907 --- /dev/null +++ b/modules/user/user_test.go @@ -0,0 +1,68 @@ +package user + +import ( + "fmt" + "go_dreamfactory/comm" + "go_dreamfactory/lego" + "go_dreamfactory/lego/base/rpcx" + "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" + "go_dreamfactory/services" + "go_dreamfactory/sys/cache" + "go_dreamfactory/sys/configure" + "go_dreamfactory/sys/db" + "os" + "testing" + "time" +) + +var service core.IService +var s_gateComp comm.ISC_GateRouteComp = services.NewGateRouteComp() + +var module = new(User) + +type TestService struct { + rpcx.RPCXService +} + +func newService(ops ...rpcx.Option) core.IService { + s := new(TestService) + s.Configure(ops...) + return s +} + +//初始化相关系统 +func (this *TestService) InitSys() { + this.RPCXService.InitSys() + if err := cache.OnInit(this.GetSettings().Sys["cache"]); err != nil { + panic(fmt.Sprintf("init sys.cache err: %s", err.Error())) + } else { + log.Infof("init sys.cache success!") + } + if err := db.OnInit(this.GetSettings().Sys["db"]); err != nil { + panic(fmt.Sprintf("init sys.db err: %s", err.Error())) + } else { + log.Infof("init sys.db success!") + } + if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("E:\\projects\\workspace\\go_dreamfactory\\bin\\json")); err != nil { + panic(fmt.Sprintf("init sys.configure err: %s", err.Error())) + } else { + log.Infof("init sys.configure success!") + } +} + +func TestMain(m *testing.M) { + service = newService( + rpcx.SetConfPath("../../bin/conf/worker_2.yaml"), + ) + service.OnInstallComp( //装备组件 + s_gateComp, //此服务需要接受用户的消息 需要装备网关组件 + ) + go func() { + lego.Run(service, //运行模块 + module, + ) + }() + time.Sleep(time.Second * 2) + defer os.Exit(m.Run()) +} diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index 1e4921219..dd2fe4dbc 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -41,6 +41,7 @@ const ( ErrorCode_Unknown ErrorCode = 101 //未知错误 ErrorCode_ResNoEnough ErrorCode = 102 //资源不足 ErrorCode_ConfigurationException ErrorCode = 103 //配置异常 + ErrorCode_ConfigNoFound ErrorCode = 104 //配置未找到 // user ErrorCode_SecKeyInvalid ErrorCode = 1000 //秘钥无效 ErrorCode_SecKey ErrorCode = 1001 //秘钥格式错误 @@ -64,8 +65,10 @@ const ( ErrorCode_ItemsGridNumUpper ErrorCode = 1202 //背包格子数量已达上限 ErrorCode_ItemsGirdAmountUpper ErrorCode = 1203 //背包格子容量已达上限 // hero - ErrorCode_HeroNoExist ErrorCode = 1300 //英雄不存在 - //equipment + ErrorCode_HeroNoExist ErrorCode = 1300 //英雄不存在 + ErrorCode_HeroNoEnough ErrorCode = 1301 //英雄数量不足 + ErrorCode_HeroMaxLv ErrorCode = 1302 //英雄达到最大等级 + // equipment ErrorCode_EquipmentOnFoundEquipment ErrorCode = 1400 // 未找到武器 ErrorCode_EquipmentLvlimitReached ErrorCode = 1401 // 武器等级已达上限 ) @@ -91,6 +94,7 @@ var ( 101: "Unknown", 102: "ResNoEnough", 103: "ConfigurationException", + 104: "ConfigNoFound", 1000: "SecKeyInvalid", 1001: "SecKey", 1002: "BindUser", @@ -111,6 +115,8 @@ var ( 1202: "ItemsGridNumUpper", 1203: "ItemsGirdAmountUpper", 1300: "HeroNoExist", + 1301: "HeroNoEnough", + 1302: "HeroMaxLv", 1400: "EquipmentOnFoundEquipment", 1401: "EquipmentLvlimitReached", } @@ -133,6 +139,7 @@ var ( "Unknown": 101, "ResNoEnough": 102, "ConfigurationException": 103, + "ConfigNoFound": 104, "SecKeyInvalid": 1000, "SecKey": 1001, "BindUser": 1002, @@ -153,6 +160,8 @@ var ( "ItemsGridNumUpper": 1202, "ItemsGirdAmountUpper": 1203, "HeroNoExist": 1300, + "HeroNoEnough": 1301, + "HeroMaxLv": 1302, "EquipmentOnFoundEquipment": 1400, "EquipmentLvlimitReached": 1401, } @@ -189,7 +198,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0xdc, 0x06, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0x92, 0x07, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, @@ -212,38 +221,42 @@ var file_errorcode_proto_rawDesc = []byte{ 0x6e, 0x6f, 0x77, 0x6e, 0x10, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x66, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x10, 0x67, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x10, 0xe8, 0x07, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x65, 0x63, 0x4b, 0x65, - 0x79, 0x10, 0xe9, 0x07, 0x12, 0x0d, 0x0a, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x55, 0x73, 0x65, 0x72, - 0x10, 0xea, 0x07, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x74, - 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, 0x0a, 0x0f, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, 0x78, 0x10, 0xce, - 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4e, - 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xd0, - 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, 0x74, 0x10, 0xd1, - 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, - 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd3, 0x08, 0x12, - 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x42, - 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0xd5, - 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, 0x61, 0x63, 0x6b, - 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x10, - 0xd7, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, 0x45, 0x6e, 0x6f, - 0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, - 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, 0x09, 0x12, 0x16, 0x0a, - 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, 0x6d, 0x55, 0x70, 0x70, - 0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x69, - 0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb3, 0x09, - 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, 0x73, 0x74, 0x10, - 0x94, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, - 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, - 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, - 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, - 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x10, 0x67, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4e, 0x6f, 0x46, + 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x68, 0x12, 0x12, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x4b, 0x65, 0x79, + 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0xe8, 0x07, 0x12, 0x0b, 0x0a, 0x06, 0x53, 0x65, + 0x63, 0x4b, 0x65, 0x79, 0x10, 0xe9, 0x07, 0x12, 0x0d, 0x0a, 0x08, 0x42, 0x69, 0x6e, 0x64, 0x55, + 0x73, 0x65, 0x72, 0x10, 0xea, 0x07, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x6c, 0x66, 0x10, 0xcc, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x4d, 0x61, 0x78, 0x10, 0xcd, 0x08, 0x12, 0x14, + 0x0a, 0x0f, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4d, 0x61, + 0x78, 0x10, 0xce, 0x08, 0x12, 0x15, 0x0a, 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x53, 0x65, + 0x6c, 0x66, 0x4e, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x10, 0xcf, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x4e, 0x6f, 0x44, 0x61, 0x74, + 0x61, 0x10, 0xd0, 0x08, 0x12, 0x0e, 0x0a, 0x09, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x59, 0x65, + 0x74, 0x10, 0xd1, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, + 0x70, 0x6c, 0x79, 0x59, 0x65, 0x74, 0x10, 0xd2, 0x08, 0x12, 0x17, 0x0a, 0x12, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x6c, 0x66, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, + 0xd3, 0x08, 0x12, 0x19, 0x0a, 0x14, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x42, 0x6c, 0x61, 0x63, 0x6b, 0x59, 0x65, 0x74, 0x10, 0xd4, 0x08, 0x12, 0x15, 0x0a, + 0x10, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x45, 0x72, 0x72, 0x6f, + 0x72, 0x10, 0xd5, 0x08, 0x12, 0x13, 0x0a, 0x0e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x42, 0x6c, + 0x61, 0x63, 0x6b, 0x4d, 0x61, 0x78, 0x10, 0xd6, 0x08, 0x12, 0x1a, 0x0a, 0x15, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4e, 0x61, 0x6d, 0x65, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x10, 0xd7, 0x08, 0x12, 0x12, 0x0a, 0x0d, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x4e, 0x6f, + 0x45, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0xb0, 0x09, 0x12, 0x15, 0x0a, 0x10, 0x49, 0x74, 0x65, + 0x6d, 0x73, 0x4e, 0x6f, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x47, 0x69, 0x72, 0x64, 0x10, 0xb1, 0x09, + 0x12, 0x16, 0x0a, 0x11, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x47, 0x72, 0x69, 0x64, 0x4e, 0x75, 0x6d, + 0x55, 0x70, 0x70, 0x65, 0x72, 0x10, 0xb2, 0x09, 0x12, 0x19, 0x0a, 0x14, 0x49, 0x74, 0x65, 0x6d, + 0x73, 0x47, 0x69, 0x72, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x55, 0x70, 0x70, 0x65, 0x72, + 0x10, 0xb3, 0x09, 0x12, 0x10, 0x0a, 0x0b, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, 0x78, 0x69, + 0x73, 0x74, 0x10, 0x94, 0x0a, 0x12, 0x11, 0x0a, 0x0c, 0x48, 0x65, 0x72, 0x6f, 0x4e, 0x6f, 0x45, + 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x10, 0x95, 0x0a, 0x12, 0x0e, 0x0a, 0x09, 0x48, 0x65, 0x72, 0x6f, + 0x4d, 0x61, 0x78, 0x4c, 0x76, 0x10, 0x96, 0x0a, 0x12, 0x1e, 0x0a, 0x19, 0x45, 0x71, 0x75, 0x69, + 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4f, 0x6e, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x45, 0x71, 0x75, 0x69, + 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x10, 0xf8, 0x0a, 0x12, 0x1c, 0x0a, 0x17, 0x45, 0x71, 0x75, 0x69, + 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x76, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x61, 0x63, + 0x68, 0x65, 0x64, 0x10, 0xf9, 0x0a, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/hero_db.pb.go b/pb/hero_db.pb.go index c2611e1a0..72b05d480 100644 --- a/pb/hero_db.pb.go +++ b/pb/hero_db.pb.go @@ -286,49 +286,50 @@ var File_hero_hero_db_proto protoreflect.FileDescriptor var file_hero_hero_db_proto_rawDesc = []byte{ 0x0a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x62, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, - 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x22, 0xd6, 0x06, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, - 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, - 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x44, 0x12, - 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, - 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x02, 0x6c, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, - 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67, - 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6a, 0x75, 0x65, 0x78, 0x69, 0x6e, - 0x67, 0x4c, 0x76, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x53, 0x6b, - 0x69, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x61, - 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x2c, 0x0a, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, - 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 0x53, - 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, - 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x36, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, - 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x3f, 0x0a, - 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, - 0x2e, 0x41, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x1c, - 0x0a, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x09, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, - 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x63, 0x61, 0x72, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53, - 0x6b, 0x69, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, - 0x69, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, - 0x05, 0x52, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, - 0x0a, 0x07, 0x65, 0x71, 0x75, 0x69, 0x70, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x07, 0x65, 0x71, 0x75, 0x69, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, - 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, - 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x14, 0x64, 0x69, - 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, - 0x74, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x30, - 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x6b, 0x69, 0x6c, + 0x6c, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x44, 0x12, + 0x18, 0x0a, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x07, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x4c, 0x76, 0x22, 0xe2, 0x06, 0x0a, 0x0b, 0x44, 0x42, + 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x68, + 0x65, 0x72, 0x6f, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x68, 0x65, 0x72, + 0x6f, 0x49, 0x44, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x74, 0x61, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x04, 0x73, 0x74, 0x61, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6c, 0x76, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x02, 0x6c, 0x76, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x12, 0x1c, 0x0a, 0x09, 0x6a, 0x75, 0x65, + 0x78, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x6a, 0x75, + 0x65, 0x78, 0x69, 0x6e, 0x67, 0x4c, 0x76, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x61, 0x70, 0x74, 0x61, + 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, + 0x61, 0x70, 0x74, 0x61, 0x69, 0x6e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x2f, 0x0a, 0x0b, 0x6e, + 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x0d, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x0b, 0x6e, 0x6f, 0x72, 0x6d, 0x61, 0x6c, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x12, 0x39, 0x0a, 0x08, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, + 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, + 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x0b, 0x61, 0x64, 0x64, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x64, + 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, + 0x61, 0x64, 0x64, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x61, 0x72, + 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x75, 0x72, 0x53, 0x6b, 0x69, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x05, + 0x73, 0x6b, 0x69, 0x6e, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x10, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x65, + 0x71, 0x75, 0x69, 0x70, 0x49, 0x44, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x65, 0x71, + 0x75, 0x69, 0x70, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, + 0x65, 0x4e, 0x75, 0x6d, 0x18, 0x12, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x6f, + 0x6e, 0x61, 0x74, 0x65, 0x4e, 0x75, 0x6d, 0x12, 0x32, 0x0a, 0x14, 0x64, 0x69, 0x73, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x18, + 0x13, 0x20, 0x01, 0x28, 0x05, 0x52, 0x14, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x6f, 0x6e, 0x61, 0x74, 0x65, 0x12, 0x33, 0x0a, 0x06, 0x65, + 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x15, 0x20, 0x01, 0x28, 0x05, 0x52, @@ -361,17 +362,17 @@ func file_hero_hero_db_proto_rawDescGZIP() []byte { var file_hero_hero_db_proto_msgTypes = make([]protoimpl.MessageInfo, 5) var file_hero_hero_db_proto_goTypes = []interface{}{ - (*SkillData)(nil), // 0: SkillData - (*DB_HeroData)(nil), // 1: DB_HeroData - nil, // 2: DB_HeroData.PropertyEntry - nil, // 3: DB_HeroData.AddPropertyEntry - nil, // 4: DB_HeroData.EnergyEntry + (*SkillData)(nil), // 0: pb.SkillData + (*DB_HeroData)(nil), // 1: pb.DB_HeroData + nil, // 2: pb.DB_HeroData.PropertyEntry + nil, // 3: pb.DB_HeroData.AddPropertyEntry + nil, // 4: pb.DB_HeroData.EnergyEntry } var file_hero_hero_db_proto_depIdxs = []int32{ - 0, // 0: DB_HeroData.normalSkill:type_name -> SkillData - 2, // 1: DB_HeroData.property:type_name -> DB_HeroData.PropertyEntry - 3, // 2: DB_HeroData.addProperty:type_name -> DB_HeroData.AddPropertyEntry - 4, // 3: DB_HeroData.energy:type_name -> DB_HeroData.EnergyEntry + 0, // 0: pb.DB_HeroData.normalSkill:type_name -> pb.SkillData + 2, // 1: pb.DB_HeroData.property:type_name -> pb.DB_HeroData.PropertyEntry + 3, // 2: pb.DB_HeroData.addProperty:type_name -> pb.DB_HeroData.AddPropertyEntry + 4, // 3: pb.DB_HeroData.energy:type_name -> pb.DB_HeroData.EnergyEntry 4, // [4:4] is the sub-list for method output_type 4, // [4:4] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name diff --git a/pb/hero_msg.pb.go b/pb/hero_msg.pb.go index 2b690c9c4..82e092408 100644 --- a/pb/hero_msg.pb.go +++ b/pb/hero_msg.pb.go @@ -20,6 +20,187 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +//英雄基础信息 +type Hero_Info_Req struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + HeroId string `protobuf:"bytes,1,opt,name=heroId,proto3" json:"heroId"` //英雄唯一ID +} + +func (x *Hero_Info_Req) Reset() { + *x = Hero_Info_Req{} + if protoimpl.UnsafeEnabled { + mi := &file_hero_hero_msg_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hero_Info_Req) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hero_Info_Req) ProtoMessage() {} + +func (x *Hero_Info_Req) ProtoReflect() protoreflect.Message { + mi := &file_hero_hero_msg_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Hero_Info_Req.ProtoReflect.Descriptor instead. +func (*Hero_Info_Req) Descriptor() ([]byte, []int) { + return file_hero_hero_msg_proto_rawDescGZIP(), []int{0} +} + +func (x *Hero_Info_Req) GetHeroId() string { + if x != nil { + return x.HeroId + } + return "" +} + +type Hero_Info_Rsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Base *DB_HeroData `protobuf:"bytes,1,opt,name=base,proto3" json:"base"` +} + +func (x *Hero_Info_Rsp) Reset() { + *x = Hero_Info_Rsp{} + if protoimpl.UnsafeEnabled { + mi := &file_hero_hero_msg_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hero_Info_Rsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hero_Info_Rsp) ProtoMessage() {} + +func (x *Hero_Info_Rsp) ProtoReflect() protoreflect.Message { + mi := &file_hero_hero_msg_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Hero_Info_Rsp.ProtoReflect.Descriptor instead. +func (*Hero_Info_Rsp) Descriptor() ([]byte, []int) { + return file_hero_hero_msg_proto_rawDescGZIP(), []int{1} +} + +func (x *Hero_Info_Rsp) GetBase() *DB_HeroData { + if x != nil { + return x.Base + } + return nil +} + +//英雄列表 +type Hero_List_Req struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *Hero_List_Req) Reset() { + *x = Hero_List_Req{} + if protoimpl.UnsafeEnabled { + mi := &file_hero_hero_msg_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hero_List_Req) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hero_List_Req) ProtoMessage() {} + +func (x *Hero_List_Req) ProtoReflect() protoreflect.Message { + mi := &file_hero_hero_msg_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Hero_List_Req.ProtoReflect.Descriptor instead. +func (*Hero_List_Req) Descriptor() ([]byte, []int) { + return file_hero_hero_msg_proto_rawDescGZIP(), []int{2} +} + +type Hero_List_Rsp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + List []*DB_HeroData `protobuf:"bytes,1,rep,name=list,proto3" json:"list"` +} + +func (x *Hero_List_Rsp) Reset() { + *x = Hero_List_Rsp{} + if protoimpl.UnsafeEnabled { + mi := &file_hero_hero_msg_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hero_List_Rsp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hero_List_Rsp) ProtoMessage() {} + +func (x *Hero_List_Rsp) ProtoReflect() protoreflect.Message { + mi := &file_hero_hero_msg_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Hero_List_Rsp.ProtoReflect.Descriptor instead. +func (*Hero_List_Rsp) Descriptor() ([]byte, []int) { + return file_hero_hero_msg_proto_rawDescGZIP(), []int{3} +} + +func (x *Hero_List_Rsp) GetList() []*DB_HeroData { + if x != nil { + return x.List + } + return nil +} + type ItemData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -32,7 +213,7 @@ type ItemData struct { func (x *ItemData) Reset() { *x = ItemData{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[0] + mi := &file_hero_hero_msg_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -45,7 +226,7 @@ func (x *ItemData) String() string { func (*ItemData) ProtoMessage() {} func (x *ItemData) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[0] + mi := &file_hero_hero_msg_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -58,7 +239,7 @@ func (x *ItemData) ProtoReflect() protoreflect.Message { // Deprecated: Use ItemData.ProtoReflect.Descriptor instead. func (*ItemData) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{0} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{4} } func (x *ItemData) GetItemId() int32 { @@ -81,15 +262,15 @@ type Hero_StrengthenUplv_Req struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - HeroObjID string `protobuf:"bytes,1,opt,name=heroObjID,proto3" json:"heroObjID"` // 英雄对象ID - ExpCardID []string `protobuf:"bytes,2,rep,name=expCardID,proto3" json:"expCardID"` // 经验卡对象ID - Amount int32 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount"` // 消耗经验卡数量 + HeroObjID string `protobuf:"bytes,1,opt,name=heroObjID,proto3" json:"heroObjID"` // 英雄对象ID + ExpCardID string `protobuf:"bytes,2,opt,name=expCardID,proto3" json:"expCardID"` // 经验卡对象ID + Amount int32 `protobuf:"varint,3,opt,name=amount,proto3" json:"amount"` // 消耗经验卡数量} } func (x *Hero_StrengthenUplv_Req) Reset() { *x = Hero_StrengthenUplv_Req{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[1] + mi := &file_hero_hero_msg_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102,7 +283,7 @@ func (x *Hero_StrengthenUplv_Req) String() string { func (*Hero_StrengthenUplv_Req) ProtoMessage() {} func (x *Hero_StrengthenUplv_Req) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[1] + mi := &file_hero_hero_msg_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115,7 +296,7 @@ func (x *Hero_StrengthenUplv_Req) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_StrengthenUplv_Req.ProtoReflect.Descriptor instead. func (*Hero_StrengthenUplv_Req) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{1} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{5} } func (x *Hero_StrengthenUplv_Req) GetHeroObjID() string { @@ -125,11 +306,11 @@ func (x *Hero_StrengthenUplv_Req) GetHeroObjID() string { return "" } -func (x *Hero_StrengthenUplv_Req) GetExpCardID() []string { +func (x *Hero_StrengthenUplv_Req) GetExpCardID() string { if x != nil { return x.ExpCardID } - return nil + return "" } func (x *Hero_StrengthenUplv_Req) GetAmount() int32 { @@ -151,7 +332,7 @@ type Hero_StrengthenUplv_Resp struct { func (x *Hero_StrengthenUplv_Resp) Reset() { *x = Hero_StrengthenUplv_Resp{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[2] + mi := &file_hero_hero_msg_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -164,7 +345,7 @@ func (x *Hero_StrengthenUplv_Resp) String() string { func (*Hero_StrengthenUplv_Resp) ProtoMessage() {} func (x *Hero_StrengthenUplv_Resp) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[2] + mi := &file_hero_hero_msg_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -177,7 +358,7 @@ func (x *Hero_StrengthenUplv_Resp) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_StrengthenUplv_Resp.ProtoReflect.Descriptor instead. func (*Hero_StrengthenUplv_Resp) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{2} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{6} } func (x *Hero_StrengthenUplv_Resp) GetHero() *DB_HeroData { @@ -199,7 +380,7 @@ type CostCardData struct { func (x *CostCardData) Reset() { *x = CostCardData{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[3] + mi := &file_hero_hero_msg_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -212,7 +393,7 @@ func (x *CostCardData) String() string { func (*CostCardData) ProtoMessage() {} func (x *CostCardData) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[3] + mi := &file_hero_hero_msg_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -225,7 +406,7 @@ func (x *CostCardData) ProtoReflect() protoreflect.Message { // Deprecated: Use CostCardData.ProtoReflect.Descriptor instead. func (*CostCardData) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{3} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{7} } func (x *CostCardData) GetCostCardObj() string { @@ -255,7 +436,7 @@ type Hero_StrengthenUpStar_Req struct { func (x *Hero_StrengthenUpStar_Req) Reset() { *x = Hero_StrengthenUpStar_Req{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[4] + mi := &file_hero_hero_msg_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -268,7 +449,7 @@ func (x *Hero_StrengthenUpStar_Req) String() string { func (*Hero_StrengthenUpStar_Req) ProtoMessage() {} func (x *Hero_StrengthenUpStar_Req) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[4] + mi := &file_hero_hero_msg_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -281,7 +462,7 @@ func (x *Hero_StrengthenUpStar_Req) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_StrengthenUpStar_Req.ProtoReflect.Descriptor instead. func (*Hero_StrengthenUpStar_Req) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{4} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{8} } func (x *Hero_StrengthenUpStar_Req) GetHeroObjID() string { @@ -310,7 +491,7 @@ type Hero_StrengthenUpStar_Resp struct { func (x *Hero_StrengthenUpStar_Resp) Reset() { *x = Hero_StrengthenUpStar_Resp{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[5] + mi := &file_hero_hero_msg_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -323,7 +504,7 @@ func (x *Hero_StrengthenUpStar_Resp) String() string { func (*Hero_StrengthenUpStar_Resp) ProtoMessage() {} func (x *Hero_StrengthenUpStar_Resp) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[5] + mi := &file_hero_hero_msg_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -336,7 +517,7 @@ func (x *Hero_StrengthenUpStar_Resp) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_StrengthenUpStar_Resp.ProtoReflect.Descriptor instead. func (*Hero_StrengthenUpStar_Resp) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{5} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{9} } func (x *Hero_StrengthenUpStar_Resp) GetHero() *DB_HeroData { @@ -360,7 +541,7 @@ type Hero_StrengthenUpSkill_Req struct { func (x *Hero_StrengthenUpSkill_Req) Reset() { *x = Hero_StrengthenUpSkill_Req{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[6] + mi := &file_hero_hero_msg_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -373,7 +554,7 @@ func (x *Hero_StrengthenUpSkill_Req) String() string { func (*Hero_StrengthenUpSkill_Req) ProtoMessage() {} func (x *Hero_StrengthenUpSkill_Req) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[6] + mi := &file_hero_hero_msg_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -386,7 +567,7 @@ func (x *Hero_StrengthenUpSkill_Req) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_StrengthenUpSkill_Req.ProtoReflect.Descriptor instead. func (*Hero_StrengthenUpSkill_Req) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{6} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{10} } func (x *Hero_StrengthenUpSkill_Req) GetHeroObjID() string { @@ -422,7 +603,7 @@ type Hero_StrengthenUpSkill_Resp struct { func (x *Hero_StrengthenUpSkill_Resp) Reset() { *x = Hero_StrengthenUpSkill_Resp{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[7] + mi := &file_hero_hero_msg_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -435,7 +616,7 @@ func (x *Hero_StrengthenUpSkill_Resp) String() string { func (*Hero_StrengthenUpSkill_Resp) ProtoMessage() {} func (x *Hero_StrengthenUpSkill_Resp) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[7] + mi := &file_hero_hero_msg_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -448,7 +629,7 @@ func (x *Hero_StrengthenUpSkill_Resp) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_StrengthenUpSkill_Resp.ProtoReflect.Descriptor instead. func (*Hero_StrengthenUpSkill_Resp) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{7} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{11} } func (x *Hero_StrengthenUpSkill_Resp) GetHero() *DB_HeroData { @@ -471,7 +652,7 @@ type Hero_Gongming_Req struct { func (x *Hero_Gongming_Req) Reset() { *x = Hero_Gongming_Req{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[8] + mi := &file_hero_hero_msg_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -484,7 +665,7 @@ func (x *Hero_Gongming_Req) String() string { func (*Hero_Gongming_Req) ProtoMessage() {} func (x *Hero_Gongming_Req) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[8] + mi := &file_hero_hero_msg_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -497,7 +678,7 @@ func (x *Hero_Gongming_Req) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_Gongming_Req.ProtoReflect.Descriptor instead. func (*Hero_Gongming_Req) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{8} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{12} } func (x *Hero_Gongming_Req) GetHeroObjID() string { @@ -527,7 +708,7 @@ type Hero_Gongming_Resp struct { func (x *Hero_Gongming_Resp) Reset() { *x = Hero_Gongming_Resp{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[9] + mi := &file_hero_hero_msg_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -540,7 +721,7 @@ func (x *Hero_Gongming_Resp) String() string { func (*Hero_Gongming_Resp) ProtoMessage() {} func (x *Hero_Gongming_Resp) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[9] + mi := &file_hero_hero_msg_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -553,7 +734,7 @@ func (x *Hero_Gongming_Resp) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_Gongming_Resp.ProtoReflect.Descriptor instead. func (*Hero_Gongming_Resp) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{9} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{13} } func (x *Hero_Gongming_Resp) GetHero() *DB_HeroData { @@ -589,7 +770,7 @@ type Hero_GongmingReset_Req struct { func (x *Hero_GongmingReset_Req) Reset() { *x = Hero_GongmingReset_Req{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[10] + mi := &file_hero_hero_msg_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -602,7 +783,7 @@ func (x *Hero_GongmingReset_Req) String() string { func (*Hero_GongmingReset_Req) ProtoMessage() {} func (x *Hero_GongmingReset_Req) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[10] + mi := &file_hero_hero_msg_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -615,7 +796,7 @@ func (x *Hero_GongmingReset_Req) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_GongmingReset_Req.ProtoReflect.Descriptor instead. func (*Hero_GongmingReset_Req) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{10} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{14} } func (x *Hero_GongmingReset_Req) GetHeroObjID() string { @@ -637,7 +818,7 @@ type Hero_GongmingReset_Resp struct { func (x *Hero_GongmingReset_Resp) Reset() { *x = Hero_GongmingReset_Resp{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[11] + mi := &file_hero_hero_msg_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -650,7 +831,7 @@ func (x *Hero_GongmingReset_Resp) String() string { func (*Hero_GongmingReset_Resp) ProtoMessage() {} func (x *Hero_GongmingReset_Resp) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[11] + mi := &file_hero_hero_msg_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -663,7 +844,7 @@ func (x *Hero_GongmingReset_Resp) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_GongmingReset_Resp.ProtoReflect.Descriptor instead. func (*Hero_GongmingReset_Resp) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{11} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{15} } func (x *Hero_GongmingReset_Resp) GetHero() *DB_HeroData { @@ -694,7 +875,7 @@ type Hero_GongmingUseEnergy_Req struct { func (x *Hero_GongmingUseEnergy_Req) Reset() { *x = Hero_GongmingUseEnergy_Req{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[12] + mi := &file_hero_hero_msg_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -707,7 +888,7 @@ func (x *Hero_GongmingUseEnergy_Req) String() string { func (*Hero_GongmingUseEnergy_Req) ProtoMessage() {} func (x *Hero_GongmingUseEnergy_Req) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[12] + mi := &file_hero_hero_msg_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -720,7 +901,7 @@ func (x *Hero_GongmingUseEnergy_Req) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_GongmingUseEnergy_Req.ProtoReflect.Descriptor instead. func (*Hero_GongmingUseEnergy_Req) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{12} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{16} } func (x *Hero_GongmingUseEnergy_Req) GetHeroObjID() string { @@ -755,7 +936,7 @@ type Hero_GongmingUseEnergy_Resp struct { func (x *Hero_GongmingUseEnergy_Resp) Reset() { *x = Hero_GongmingUseEnergy_Resp{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[13] + mi := &file_hero_hero_msg_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -768,7 +949,7 @@ func (x *Hero_GongmingUseEnergy_Resp) String() string { func (*Hero_GongmingUseEnergy_Resp) ProtoMessage() {} func (x *Hero_GongmingUseEnergy_Resp) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[13] + mi := &file_hero_hero_msg_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -781,7 +962,7 @@ func (x *Hero_GongmingUseEnergy_Resp) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_GongmingUseEnergy_Resp.ProtoReflect.Descriptor instead. func (*Hero_GongmingUseEnergy_Resp) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{13} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{17} } func (x *Hero_GongmingUseEnergy_Resp) GetHero() *DB_HeroData { @@ -804,7 +985,7 @@ type Hero_Juexing_Req struct { func (x *Hero_Juexing_Req) Reset() { *x = Hero_Juexing_Req{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[14] + mi := &file_hero_hero_msg_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -817,7 +998,7 @@ func (x *Hero_Juexing_Req) String() string { func (*Hero_Juexing_Req) ProtoMessage() {} func (x *Hero_Juexing_Req) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[14] + mi := &file_hero_hero_msg_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -830,7 +1011,7 @@ func (x *Hero_Juexing_Req) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_Juexing_Req.ProtoReflect.Descriptor instead. func (*Hero_Juexing_Req) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{14} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{18} } func (x *Hero_Juexing_Req) GetHeroObjID() string { @@ -859,7 +1040,7 @@ type Hero_Juexing_Resp struct { func (x *Hero_Juexing_Resp) Reset() { *x = Hero_Juexing_Resp{} if protoimpl.UnsafeEnabled { - mi := &file_hero_hero_msg_proto_msgTypes[15] + mi := &file_hero_hero_msg_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -872,7 +1053,7 @@ func (x *Hero_Juexing_Resp) String() string { func (*Hero_Juexing_Resp) ProtoMessage() {} func (x *Hero_Juexing_Resp) ProtoReflect() protoreflect.Message { - mi := &file_hero_hero_msg_proto_msgTypes[15] + mi := &file_hero_hero_msg_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -885,7 +1066,7 @@ func (x *Hero_Juexing_Resp) ProtoReflect() protoreflect.Message { // Deprecated: Use Hero_Juexing_Resp.ProtoReflect.Descriptor instead. func (*Hero_Juexing_Resp) Descriptor() ([]byte, []int) { - return file_hero_hero_msg_proto_rawDescGZIP(), []int{15} + return file_hero_hero_msg_proto_rawDescGZIP(), []int{19} } func (x *Hero_Juexing_Resp) GetHero() *DB_HeroData { @@ -899,93 +1080,105 @@ var File_hero_hero_msg_proto protoreflect.FileDescriptor var file_hero_hero_msg_proto_rawDesc = []byte{ 0x0a, 0x13, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x6d, 0x73, 0x67, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x2f, 0x68, 0x65, 0x72, 0x6f, - 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3a, 0x0a, 0x08, 0x49, 0x74, 0x65, - 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, - 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x6d, 0x0a, 0x17, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, - 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x6c, 0x76, 0x5f, 0x52, 0x65, 0x71, - 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, - 0x0a, 0x09, 0x65, 0x78, 0x70, 0x43, 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, 0x43, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, - 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, - 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3c, 0x0a, 0x18, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x6c, 0x76, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x20, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, - 0x72, 0x6f, 0x22, 0x48, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, - 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x62, - 0x6a, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, - 0x64, 0x4f, 0x62, 0x6a, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x5e, 0x0a, 0x19, - 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, - 0x70, 0x53, 0x74, 0x61, 0x72, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, - 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, - 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, - 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3e, 0x0a, 0x1a, - 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, - 0x70, 0x53, 0x74, 0x61, 0x72, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x68, 0x65, - 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, - 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x7f, 0x0a, 0x1a, - 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, - 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x02, 0x70, 0x62, 0x1a, 0x12, 0x68, 0x65, 0x72, 0x6f, 0x2f, + 0x68, 0x65, 0x72, 0x6f, 0x5f, 0x64, 0x62, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x27, 0x0a, + 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x49, 0x6e, 0x66, 0x6f, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x16, + 0x0a, 0x06, 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x68, 0x65, 0x72, 0x6f, 0x49, 0x64, 0x22, 0x34, 0x0a, 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x49, + 0x6e, 0x66, 0x6f, 0x5f, 0x52, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x62, 0x61, 0x73, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, + 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x62, 0x61, 0x73, 0x65, 0x22, 0x0f, 0x0a, 0x0d, + 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x22, 0x34, 0x0a, + 0x0d, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x5f, 0x52, 0x73, 0x70, 0x12, 0x23, + 0x0a, 0x04, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, + 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x6c, + 0x69, 0x73, 0x74, 0x22, 0x3a, 0x0a, 0x08, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x16, 0x0a, 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x06, 0x69, 0x74, 0x65, 0x6d, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, + 0x6d, 0x0a, 0x17, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, + 0x65, 0x6e, 0x55, 0x70, 0x6c, 0x76, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, - 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x6b, 0x69, 0x6c, - 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6b, - 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x61, - 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x3f, 0x0a, - 0x1b, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, - 0x55, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, - 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x5f, - 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x4f, - 0x0a, 0x11, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x5f, - 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, - 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, - 0x7c, 0x0a, 0x12, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, - 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, - 0x2c, 0x0a, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x22, 0x36, 0x0a, - 0x16, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x65, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, - 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, - 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, 0x53, 0x0a, 0x17, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x47, 0x6f, - 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x20, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, - 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, - 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x72, 0x0a, 0x1a, 0x48, 0x65, - 0x72, 0x6f, 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x45, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, - 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, - 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e, 0x65, - 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, 0x73, 0x65, 0x45, 0x6e, - 0x65, 0x72, 0x67, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x3f, - 0x0a, 0x1b, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x55, - 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x20, 0x0a, - 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x44, 0x42, + 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x65, 0x78, 0x70, 0x43, + 0x61, 0x72, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x78, 0x70, + 0x43, 0x61, 0x72, 0x64, 0x49, 0x44, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3f, + 0x0a, 0x18, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, + 0x6e, 0x55, 0x70, 0x6c, 0x76, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x68, 0x65, + 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, - 0x59, 0x0a, 0x10, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x4a, 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x5f, - 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, - 0x44, 0x12, 0x27, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x6d, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x09, 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, - 0x09, 0x63, 0x6f, 0x73, 0x74, 0x49, 0x74, 0x6d, 0x65, 0x73, 0x22, 0x35, 0x0a, 0x11, 0x48, 0x65, - 0x72, 0x6f, 0x5f, 0x4a, 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, - 0x20, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, - 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, 0x72, - 0x6f, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x48, 0x0a, 0x0c, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, + 0x20, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x62, 0x6a, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x4f, 0x62, + 0x6a, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x61, 0x0a, 0x19, 0x48, 0x65, 0x72, + 0x6f, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x74, + 0x61, 0x72, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, + 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, + 0x62, 0x6a, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, + 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x41, 0x0a, 0x1a, + 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, + 0x70, 0x53, 0x74, 0x61, 0x72, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x68, 0x65, + 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, + 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, + 0x82, 0x01, 0x0a, 0x1a, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, 0x65, 0x6e, 0x67, 0x74, + 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, + 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, + 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0a, 0x73, 0x6b, 0x69, 0x6c, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x26, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x70, 0x62, + 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x72, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x05, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x22, 0x42, 0x0a, 0x1b, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x53, 0x74, 0x72, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x65, 0x6e, 0x55, 0x70, 0x53, 0x6b, 0x69, 0x6c, 0x6c, 0x5f, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x4f, 0x0a, 0x11, 0x48, 0x65, 0x72, 0x6f, + 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, + 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x63, + 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x63, 0x6f, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, 0x82, 0x01, 0x0a, 0x12, 0x48, 0x65, + 0x72, 0x6f, 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, + 0x12, 0x23, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, + 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x2f, 0x0a, + 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, + 0x74, 0x61, 0x52, 0x0a, 0x75, 0x70, 0x53, 0x74, 0x61, 0x72, 0x43, 0x61, 0x72, 0x64, 0x22, 0x36, + 0x0a, 0x16, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x73, 0x65, 0x74, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, 0x72, 0x6f, + 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, 0x65, 0x72, + 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x22, 0x56, 0x0a, 0x17, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x47, + 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x23, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x22, 0x72, + 0x0a, 0x1a, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, 0x69, 0x6e, 0x67, 0x55, + 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, + 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x68, 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x75, 0x73, + 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x75, + 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x54, + 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x75, 0x73, 0x65, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x42, 0x0a, 0x1b, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x47, 0x6f, 0x6e, 0x67, 0x6d, + 0x69, 0x6e, 0x67, 0x55, 0x73, 0x65, 0x45, 0x6e, 0x65, 0x72, 0x67, 0x79, 0x5f, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x23, 0x0a, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, + 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x22, 0x5c, 0x0a, 0x10, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x4a, + 0x75, 0x65, 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x71, 0x12, 0x1c, 0x0a, 0x09, 0x68, 0x65, + 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x68, + 0x65, 0x72, 0x6f, 0x4f, 0x62, 0x6a, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x09, 0x63, 0x6f, 0x73, 0x74, + 0x49, 0x74, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0c, 0x2e, 0x70, 0x62, + 0x2e, 0x49, 0x74, 0x65, 0x6d, 0x44, 0x61, 0x74, 0x61, 0x52, 0x09, 0x63, 0x6f, 0x73, 0x74, 0x49, + 0x74, 0x6d, 0x65, 0x73, 0x22, 0x38, 0x0a, 0x11, 0x48, 0x65, 0x72, 0x6f, 0x5f, 0x4a, 0x75, 0x65, + 0x78, 0x69, 0x6e, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x12, 0x23, 0x0a, 0x04, 0x68, 0x65, 0x72, + 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x42, 0x5f, + 0x48, 0x65, 0x72, 0x6f, 0x44, 0x61, 0x74, 0x61, 0x52, 0x04, 0x68, 0x65, 0x72, 0x6f, 0x42, 0x06, + 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1000,43 +1193,49 @@ func file_hero_hero_msg_proto_rawDescGZIP() []byte { return file_hero_hero_msg_proto_rawDescData } -var file_hero_hero_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_hero_hero_msg_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_hero_hero_msg_proto_goTypes = []interface{}{ - (*ItemData)(nil), // 0: ItemData - (*Hero_StrengthenUplv_Req)(nil), // 1: Hero_StrengthenUplv_Req - (*Hero_StrengthenUplv_Resp)(nil), // 2: Hero_StrengthenUplv_Resp - (*CostCardData)(nil), // 3: CostCardData - (*Hero_StrengthenUpStar_Req)(nil), // 4: Hero_StrengthenUpStar_Req - (*Hero_StrengthenUpStar_Resp)(nil), // 5: Hero_StrengthenUpStar_Resp - (*Hero_StrengthenUpSkill_Req)(nil), // 6: Hero_StrengthenUpSkill_Req - (*Hero_StrengthenUpSkill_Resp)(nil), // 7: Hero_StrengthenUpSkill_Resp - (*Hero_Gongming_Req)(nil), // 8: Hero_Gongming_Req - (*Hero_Gongming_Resp)(nil), // 9: Hero_Gongming_Resp - (*Hero_GongmingReset_Req)(nil), // 10: Hero_GongmingReset_Req - (*Hero_GongmingReset_Resp)(nil), // 11: Hero_GongmingReset_Resp - (*Hero_GongmingUseEnergy_Req)(nil), // 12: Hero_GongmingUseEnergy_Req - (*Hero_GongmingUseEnergy_Resp)(nil), // 13: Hero_GongmingUseEnergy_Resp - (*Hero_Juexing_Req)(nil), // 14: Hero_Juexing_Req - (*Hero_Juexing_Resp)(nil), // 15: Hero_Juexing_Resp - (*DB_HeroData)(nil), // 16: DB_HeroData + (*Hero_Info_Req)(nil), // 0: pb.Hero_Info_Req + (*Hero_Info_Rsp)(nil), // 1: pb.Hero_Info_Rsp + (*Hero_List_Req)(nil), // 2: pb.Hero_List_Req + (*Hero_List_Rsp)(nil), // 3: pb.Hero_List_Rsp + (*ItemData)(nil), // 4: pb.ItemData + (*Hero_StrengthenUplv_Req)(nil), // 5: pb.Hero_StrengthenUplv_Req + (*Hero_StrengthenUplv_Resp)(nil), // 6: pb.Hero_StrengthenUplv_Resp + (*CostCardData)(nil), // 7: pb.CostCardData + (*Hero_StrengthenUpStar_Req)(nil), // 8: pb.Hero_StrengthenUpStar_Req + (*Hero_StrengthenUpStar_Resp)(nil), // 9: pb.Hero_StrengthenUpStar_Resp + (*Hero_StrengthenUpSkill_Req)(nil), // 10: pb.Hero_StrengthenUpSkill_Req + (*Hero_StrengthenUpSkill_Resp)(nil), // 11: pb.Hero_StrengthenUpSkill_Resp + (*Hero_Gongming_Req)(nil), // 12: pb.Hero_Gongming_Req + (*Hero_Gongming_Resp)(nil), // 13: pb.Hero_Gongming_Resp + (*Hero_GongmingReset_Req)(nil), // 14: pb.Hero_GongmingReset_Req + (*Hero_GongmingReset_Resp)(nil), // 15: pb.Hero_GongmingReset_Resp + (*Hero_GongmingUseEnergy_Req)(nil), // 16: pb.Hero_GongmingUseEnergy_Req + (*Hero_GongmingUseEnergy_Resp)(nil), // 17: pb.Hero_GongmingUseEnergy_Resp + (*Hero_Juexing_Req)(nil), // 18: pb.Hero_Juexing_Req + (*Hero_Juexing_Resp)(nil), // 19: pb.Hero_Juexing_Resp + (*DB_HeroData)(nil), // 20: pb.DB_HeroData } var file_hero_hero_msg_proto_depIdxs = []int32{ - 16, // 0: Hero_StrengthenUplv_Resp.hero:type_name -> DB_HeroData - 3, // 1: Hero_StrengthenUpStar_Req.items:type_name -> CostCardData - 16, // 2: Hero_StrengthenUpStar_Resp.hero:type_name -> DB_HeroData - 3, // 3: Hero_StrengthenUpSkill_Req.items:type_name -> CostCardData - 16, // 4: Hero_StrengthenUpSkill_Resp.hero:type_name -> DB_HeroData - 16, // 5: Hero_Gongming_Resp.hero:type_name -> DB_HeroData - 16, // 6: Hero_Gongming_Resp.upStarCard:type_name -> DB_HeroData - 16, // 7: Hero_GongmingReset_Resp.hero:type_name -> DB_HeroData - 16, // 8: Hero_GongmingUseEnergy_Resp.hero:type_name -> DB_HeroData - 0, // 9: Hero_Juexing_Req.costItmes:type_name -> ItemData - 16, // 10: Hero_Juexing_Resp.hero:type_name -> DB_HeroData - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 20, // 0: pb.Hero_Info_Rsp.base:type_name -> pb.DB_HeroData + 20, // 1: pb.Hero_List_Rsp.list:type_name -> pb.DB_HeroData + 20, // 2: pb.Hero_StrengthenUplv_Resp.hero:type_name -> pb.DB_HeroData + 7, // 3: pb.Hero_StrengthenUpStar_Req.items:type_name -> pb.CostCardData + 20, // 4: pb.Hero_StrengthenUpStar_Resp.hero:type_name -> pb.DB_HeroData + 7, // 5: pb.Hero_StrengthenUpSkill_Req.items:type_name -> pb.CostCardData + 20, // 6: pb.Hero_StrengthenUpSkill_Resp.hero:type_name -> pb.DB_HeroData + 20, // 7: pb.Hero_Gongming_Resp.hero:type_name -> pb.DB_HeroData + 20, // 8: pb.Hero_Gongming_Resp.upStarCard:type_name -> pb.DB_HeroData + 20, // 9: pb.Hero_GongmingReset_Resp.hero:type_name -> pb.DB_HeroData + 20, // 10: pb.Hero_GongmingUseEnergy_Resp.hero:type_name -> pb.DB_HeroData + 4, // 11: pb.Hero_Juexing_Req.costItmes:type_name -> pb.ItemData + 20, // 12: pb.Hero_Juexing_Resp.hero:type_name -> pb.DB_HeroData + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_hero_hero_msg_proto_init() } @@ -1047,7 +1246,7 @@ func file_hero_hero_msg_proto_init() { file_hero_hero_db_proto_init() if !protoimpl.UnsafeEnabled { file_hero_hero_msg_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ItemData); i { + switch v := v.(*Hero_Info_Req); i { case 0: return &v.state case 1: @@ -1059,7 +1258,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_StrengthenUplv_Req); i { + switch v := v.(*Hero_Info_Rsp); i { case 0: return &v.state case 1: @@ -1071,7 +1270,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_StrengthenUplv_Resp); i { + switch v := v.(*Hero_List_Req); i { case 0: return &v.state case 1: @@ -1083,7 +1282,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CostCardData); i { + switch v := v.(*Hero_List_Rsp); i { case 0: return &v.state case 1: @@ -1095,7 +1294,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_StrengthenUpStar_Req); i { + switch v := v.(*ItemData); i { case 0: return &v.state case 1: @@ -1107,7 +1306,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_StrengthenUpStar_Resp); i { + switch v := v.(*Hero_StrengthenUplv_Req); i { case 0: return &v.state case 1: @@ -1119,7 +1318,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_StrengthenUpSkill_Req); i { + switch v := v.(*Hero_StrengthenUplv_Resp); i { case 0: return &v.state case 1: @@ -1131,7 +1330,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_StrengthenUpSkill_Resp); i { + switch v := v.(*CostCardData); i { case 0: return &v.state case 1: @@ -1143,7 +1342,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_Gongming_Req); i { + switch v := v.(*Hero_StrengthenUpStar_Req); i { case 0: return &v.state case 1: @@ -1155,7 +1354,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_Gongming_Resp); i { + switch v := v.(*Hero_StrengthenUpStar_Resp); i { case 0: return &v.state case 1: @@ -1167,7 +1366,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_GongmingReset_Req); i { + switch v := v.(*Hero_StrengthenUpSkill_Req); i { case 0: return &v.state case 1: @@ -1179,7 +1378,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_GongmingReset_Resp); i { + switch v := v.(*Hero_StrengthenUpSkill_Resp); i { case 0: return &v.state case 1: @@ -1191,7 +1390,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_GongmingUseEnergy_Req); i { + switch v := v.(*Hero_Gongming_Req); i { case 0: return &v.state case 1: @@ -1203,7 +1402,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_GongmingUseEnergy_Resp); i { + switch v := v.(*Hero_Gongming_Resp); i { case 0: return &v.state case 1: @@ -1215,7 +1414,7 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Hero_Juexing_Req); i { + switch v := v.(*Hero_GongmingReset_Req); i { case 0: return &v.state case 1: @@ -1227,6 +1426,54 @@ func file_hero_hero_msg_proto_init() { } } file_hero_hero_msg_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hero_GongmingReset_Resp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_hero_hero_msg_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hero_GongmingUseEnergy_Req); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_hero_hero_msg_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hero_GongmingUseEnergy_Resp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_hero_hero_msg_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hero_Juexing_Req); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_hero_hero_msg_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Hero_Juexing_Resp); i { case 0: return &v.state @@ -1245,7 +1492,7 @@ func file_hero_hero_msg_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_hero_hero_msg_proto_rawDesc, NumEnums: 0, - NumMessages: 16, + NumMessages: 20, NumExtensions: 0, NumServices: 0, }, diff --git a/pb/proto/errorcode.proto b/pb/proto/errorcode.proto index d98406364..cc4387390 100644 --- a/pb/proto/errorcode.proto +++ b/pb/proto/errorcode.proto @@ -20,7 +20,8 @@ enum ErrorCode { Unknown = 101; //未知错误 ResNoEnough = 102; //资源不足 ConfigurationException = 103; //配置异常 - + ConfigNoFound = 104; //配置未找到 + // user SecKeyInvalid = 1000; //秘钥无效 SecKey = 1001; //秘钥格式错误 @@ -48,8 +49,9 @@ enum ErrorCode { // hero HeroNoExist = 1300; //英雄不存在 - - //equipment + HeroNoEnough = 1301; //英雄数量不足 + HeroMaxLv = 1302; //英雄达到最大等级 + // equipment EquipmentOnFoundEquipment = 1400; // 未找到武器 EquipmentLvlimitReached = 1401; // 武器等级已达上限 } \ No newline at end of file diff --git a/pb/proto/hero/hero_db.proto b/pb/proto/hero/hero_db.proto index d24df6c5e..45d8efec8 100644 --- a/pb/proto/hero/hero_db.proto +++ b/pb/proto/hero/hero_db.proto @@ -1,5 +1,6 @@ syntax = "proto3"; option go_package = ".;pb"; +package pb; // enum PropertyType{ // Hp = 0; //血量 @@ -14,25 +15,28 @@ message SkillData{ int32 skillLv = 2; } message DB_HeroData { - string id = 1; //@go_tags(`bson:"_id"`) ID - string uid = 2; - int32 heroID = 3; //@go_tags(`bson:"heroID"`) 英雄的配置表ID - int32 star = 4; // 英雄星级 - int32 lv = 5; // 英雄等级 - int32 exp = 6; // 英雄经验 - int32 juexingLv = 7; //@go_tags(`bson:"juexingLv"`) 觉醒等级 - int32 captainSkill = 8; //@go_tags(`bson:"captainSkill"`) 队长技能 - repeated SkillData normalSkill= 9; //@go_tags(`bson:"normalSkill"`) 普通技能 - map property = 10; // 属性相关 - map addProperty = 11; //@go_tags(`bson:"addProperty"`) 附加属性相关 - int32 formation = 12; // 阵型类型 - int32 cardType = 13; //@go_tags(`bson:"cardType"`) 卡片类型(升星卡、经验卡、技能升级卡) - int32 curSkin = 14; //@go_tags(`bson:"curSkin"`) 当前装备的皮肤ID - repeated int32 skins = 15; // 所有皮肤ID - bool block = 16; // 锁定 - repeated string equipID = 17; //@go_tags(`bson:"equipID"`) 装备 objID - int32 resonateNum = 18; //@go_tags(`bson:"resonateNum"`) 共鸣次数 - int32 distributionResonate = 19; //@go_tags(`bson:"distributionResonate"`) 分配的共鸣能量 - map energy = 20; // 能量分配到哪里 - int32 count = 21; // 数量 + string id = 1; //@go_tags(`bson:"_id"`) ID + string uid = 2; + int32 heroID = 3; //@go_tags(`bson:"heroID"`) 英雄的配置表ID + int32 star = 4; // 英雄星级 + int32 lv = 5; // 英雄等级 + int32 exp = 6; // 英雄经验 + int32 juexingLv = 7; //@go_tags(`bson:"juexingLv"`) 觉醒等级 + int32 captainSkill = 8; //@go_tags(`bson:"captainSkill"`) 队长技能 + repeated SkillData normalSkill = 9; //@go_tags(`bson:"normalSkill"`) 普通技能 + map property = 10; // 属性相关 + map addProperty = + 11; //@go_tags(`bson:"addProperty"`) 附加属性相关 + int32 formation = 12; // 阵型类型 + int32 cardType = + 13; //@go_tags(`bson:"cardType"`) 卡片类型(升星卡、经验卡、技能升级卡) + int32 curSkin = 14; //@go_tags(`bson:"curSkin"`) 当前装备的皮肤ID + repeated int32 skins = 15; // 所有皮肤ID + bool block = 16; // 锁定 + repeated string equipID = 17; //@go_tags(`bson:"equipID"`) 装备 objID + int32 resonateNum = 18; //@go_tags(`bson:"resonateNum"`) 共鸣次数 + int32 distributionResonate = + 19; //@go_tags(`bson:"distributionResonate"`) 分配的共鸣能量 + map energy = 20; // 能量分配到哪里 + int32 count = 21; // 数量 } \ No newline at end of file diff --git a/pb/proto/hero/hero_msg.proto b/pb/proto/hero/hero_msg.proto index 361ce6c00..335d5d74b 100644 --- a/pb/proto/hero/hero_msg.proto +++ b/pb/proto/hero/hero_msg.proto @@ -1,95 +1,107 @@ syntax = "proto3"; option go_package = ".;pb"; +package pb; import "hero/hero_db.proto"; -/// 卡牌养成: 强化(卡牌升级、卡牌升星、技能升级) -/// 卡牌养成: 共鸣(共鸣消耗、材料返回、能量点使用) -/// 卡牌养成: 觉醒(英雄觉醒、材料消耗) +//英雄基础信息 +message Hero_Info_Req { + string heroId = 1; //英雄唯一ID +} +message Hero_Info_Rsp { DB_HeroData base = 1; } -message ItemData{ - int32 itemId = 2; //物品Id - int32 amount = 3; //数量 +//英雄列表 +message Hero_List_Req {} + +message Hero_List_Rsp { repeated DB_HeroData list = 1; } + +/// 卡牌养成: 强化(卡牌升级、卡牌升星、技能升级) +/// 卡牌养成: 共鸣(共鸣消耗、材料返回、能量点使用) +/// 卡牌养成: 觉醒(英雄觉醒、材料消耗) + +message ItemData { + int32 itemId = 2; //物品Id + int32 amount = 3; //数量 } // 卡牌升级 message Hero_StrengthenUplv_Req { string heroObjID = 1; // 英雄对象ID - repeated string expCardID = 2; // 经验卡对象ID - int32 amount = 3; // 消耗经验卡数量 + string expCardID = 2; // 经验卡对象ID + int32 amount = 3; // 消耗经验卡数量} } // 卡牌升级返回 message Hero_StrengthenUplv_Resp { - DB_HeroData hero = 1; // 英雄对象 + DB_HeroData hero = 1; // 英雄对象 } -message CostCardData{ - string costCardObj = 1; // 对象ID - int32 amount = 2; // 数量 +message CostCardData { + string costCardObj = 1; // 对象ID + int32 amount = 2; // 数量 } // 卡牌升星 message Hero_StrengthenUpStar_Req { - string heroObjID = 1; // 英雄对象ID - repeated CostCardData items = 2; // 消耗卡牌对象ID + string heroObjID = 1; // 英雄对象ID + repeated CostCardData items = 2; // 消耗卡牌对象ID } // 卡牌升星返回 message Hero_StrengthenUpStar_Resp { - DB_HeroData hero = 1; // 英雄对象 + DB_HeroData hero = 1; // 英雄对象 } // 卡牌技能升级 message Hero_StrengthenUpSkill_Req { - string heroObjID = 1; // 英雄对象ID - int32 skillIndex = 2; // 英雄技能索引 - CostCardData items = 3; // 消耗技能升级卡 + string heroObjID = 1; // 英雄对象ID + int32 skillIndex = 2; // 英雄技能索引 + CostCardData items = 3; // 消耗技能升级卡 } // 卡牌技能升级返回 message Hero_StrengthenUpSkill_Resp { - DB_HeroData hero = 1; // 英雄对象 + DB_HeroData hero = 1; // 英雄对象 } // 共鸣英雄 -message Hero_Gongming_Req{ - string heroObjID = 1; // 英雄对象ID - string costObjID = 2; // 消耗对象 +message Hero_Gongming_Req { + string heroObjID = 1; // 英雄对象ID + string costObjID = 2; // 消耗对象 } -message Hero_Gongming_Resp{ - DB_HeroData hero = 1; // 英雄对象 - int32 energy = 2; // 共鸣成功 获得的能量点数 - DB_HeroData upStarCard = 3; //共鸣成功 获得的升星卡 +message Hero_Gongming_Resp { + DB_HeroData hero = 1; // 英雄对象 + int32 energy = 2; // 共鸣成功 获得的能量点数 + DB_HeroData upStarCard = 3; //共鸣成功 获得的升星卡 } // 重置共鸣属性 -message Hero_GongmingReset_Req{ - string heroObjID = 1; // 英雄对象ID +message Hero_GongmingReset_Req { + string heroObjID = 1; // 英雄对象ID } -message Hero_GongmingReset_Resp{ - DB_HeroData hero = 1; // 英雄对象 - int32 energy = 2; // 能量点数 +message Hero_GongmingReset_Resp { + DB_HeroData hero = 1; // 英雄对象 + int32 energy = 2; // 能量点数 } // 使用能量点数 -message Hero_GongmingUseEnergy_Req{ - string heroObjID = 1; // 英雄对象ID - int32 useEnergy = 2; // 使用的能量点数 - int32 useType = 3; // 使用的类型 (攻击、血量、防御) +message Hero_GongmingUseEnergy_Req { + string heroObjID = 1; // 英雄对象ID + int32 useEnergy = 2; // 使用的能量点数 + int32 useType = 3; // 使用的类型 (攻击、血量、防御) } -message Hero_GongmingUseEnergy_Resp{ - DB_HeroData hero = 1; // 英雄对象 +message Hero_GongmingUseEnergy_Resp { + DB_HeroData hero = 1; // 英雄对象 } // 觉醒 message Hero_Juexing_Req { - string heroObjID = 1; // 英雄对象ID - ItemData costItmes = 2; // 觉醒消耗待定 + string heroObjID = 1; // 英雄对象ID + ItemData costItmes = 2; // 觉醒消耗待定 } // 觉醒返回 message Hero_Juexing_Resp { - DB_HeroData hero = 1; // 英雄对象 + DB_HeroData hero = 1; // 英雄对象 } \ No newline at end of file diff --git a/pb/proto/user/user_db.proto b/pb/proto/user/user_db.proto index 6edeb7ce0..d43502004 100644 --- a/pb/proto/user/user_db.proto +++ b/pb/proto/user/user_db.proto @@ -21,4 +21,6 @@ message DB_UserData { int64 logintime = 10; //@go_tags(`bson:"logintime"`) 最后一次登录时间 int32 friendPoint = 11; //@go_tags(`bson:"friendPoint"`) 友情点 int32 avatar = 12; //@go_tags(`bson:"avatar"`) 头像 + int32 gold = 13; //@go_tags(`bson:"gold"`) 金币 + int32 exp = 14; //@go_tags(`bson:"exp"`) 经验 } \ No newline at end of file diff --git a/pb/user_db.pb.go b/pb/user_db.pb.go index a0f3253e7..9ce4a4872 100644 --- a/pb/user_db.pb.go +++ b/pb/user_db.pb.go @@ -100,6 +100,8 @@ type DB_UserData struct { Logintime int64 `protobuf:"varint,10,opt,name=logintime,proto3" json:"logintime" bson:"logintime"` //最后一次登录时间 FriendPoint int32 `protobuf:"varint,11,opt,name=friendPoint,proto3" json:"friendPoint" bson:"friendPoint"` //友情点 Avatar int32 `protobuf:"varint,12,opt,name=avatar,proto3" json:"avatar" bson:"avatar"` //头像 + Gold int32 `protobuf:"varint,13,opt,name=gold,proto3" json:"gold" bson:"gold"` //金币 + Exp int32 `protobuf:"varint,14,opt,name=exp,proto3" json:"exp" bson:"exp"` //经验 } func (x *DB_UserData) Reset() { @@ -218,6 +220,20 @@ func (x *DB_UserData) GetAvatar() int32 { return 0 } +func (x *DB_UserData) GetGold() int32 { + if x != nil { + return x.Gold + } + return 0 +} + +func (x *DB_UserData) GetExp() int32 { + if x != nil { + return x.Exp + } + return 0 +} + var File_user_user_db_proto protoreflect.FileDescriptor var file_user_user_db_proto_rawDesc = []byte{ @@ -229,7 +245,7 @@ var file_user_user_db_proto_rawDesc = []byte{ 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x49, 0x64, 0x22, 0xaf, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, + 0x49, 0x64, 0x22, 0xd5, 0x02, 0x0a, 0x0b, 0x44, 0x42, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, @@ -248,8 +264,10 @@ var file_user_user_db_proto_rawDesc = []byte{ 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x76, 0x61, 0x74, 0x61, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x61, 0x76, - 0x61, 0x74, 0x61, 0x72, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x74, 0x61, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x18, 0x0d, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x04, 0x67, 0x6f, 0x6c, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x78, 0x70, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x65, 0x78, 0x70, 0x42, 0x06, 0x5a, 0x04, 0x2e, 0x3b, + 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/sys/configure/options.go b/sys/configure/options.go index 6d6d129bb..b27b0bee4 100644 --- a/sys/configure/options.go +++ b/sys/configure/options.go @@ -44,3 +44,9 @@ func newOptionsByOption(opts ...Option) (Options, error) { } return options, nil } + +func SetConfigPath(v string) Option { + return func(o *Options) { + o.ConfigurePath = v + } +} diff --git a/sys/configure/structs/Tables.go b/sys/configure/structs/Tables.go index 8b4f8fcc6..fc2b47427 100644 --- a/sys/configure/structs/Tables.go +++ b/sys/configure/structs/Tables.go @@ -1,3 +1,4 @@ + //------------------------------------------------------------------------------ // // This code was generated by a tool. @@ -11,111 +12,152 @@ package cfg type JsonLoader func(string) ([]map[string]interface{}, error) type Tables struct { - ui *Game_ui - skill *Game_skill - plot *Game_plot - language *Game_language - extservers *Game_extservers - skillAtk *Game_skillAtk - skillAfteratk *Game_skillAfteratk - skillBuff *Game_skillBuff - skillPassive *Game_skillPassive - newHero *Game_newHero - heroStargrow *Game_heroStargrow - heroLevelgrow *Game_heroLevelgrow - heroStarup *Game_heroStarup - heroLevelup *Game_heroLevelup + hero *Game_hero + ui *Game_ui + skill *Game_skill + plot *Game_plot + language *Game_language + extservers *Game_extservers + skillAtk *Game_skillAtk + skillAfteratk *Game_skillAfteratk + skillBuff *Game_skillBuff + skillPassive *Game_skillPassive + newHero *Game_newHero + heroStargrow *Game_heroStargrow + heroLevelgrow *Game_heroLevelgrow + heroStarup *Game_heroStarup + heroLevelup *Game_heroLevelup + equip *Game_equip + equipAttrlibrary *Game_equipAttrlibrary + equipSuit *Game_equipSuit + equipIntensify *Game_equipIntensify + item *Game_item } func NewTables(loader JsonLoader) (*Tables, error) { - var err error - var buf []map[string]interface{} + var err error + var buf []map[string]interface{} - tables := &Tables{} - - if buf, err = loader("game_ui"); err != nil { - return nil, err - } - if tables.ui, err = NewGame_ui(buf); err != nil { - return nil, err - } - if buf, err = loader("game_skill"); err != nil { - return nil, err - } - if tables.skill, err = NewGame_skill(buf); err != nil { - return nil, err - } - if buf, err = loader("game_plot"); err != nil { - return nil, err - } - if tables.plot, err = NewGame_plot(buf); err != nil { - return nil, err - } - if buf, err = loader("game_language"); err != nil { - return nil, err - } - if tables.language, err = NewGame_language(buf); err != nil { - return nil, err - } - if buf, err = loader("game_extservers"); err != nil { - return nil, err - } - if tables.extservers, err = NewGame_extservers(buf); err != nil { - return nil, err - } - if buf, err = loader("game_skillatk"); err != nil { - return nil, err - } - if tables.skillAtk, err = NewGame_skillAtk(buf); err != nil { - return nil, err - } - if buf, err = loader("game_skillafteratk"); err != nil { - return nil, err - } - if tables.skillAfteratk, err = NewGame_skillAfteratk(buf); err != nil { - return nil, err - } - if buf, err = loader("game_skillbuff"); err != nil { - return nil, err - } - if tables.skillBuff, err = NewGame_skillBuff(buf); err != nil { - return nil, err - } - if buf, err = loader("game_skillpassive"); err != nil { - return nil, err - } - if tables.skillPassive, err = NewGame_skillPassive(buf); err != nil { - return nil, err - } - if buf, err = loader("game_newhero"); err != nil { - return nil, err - } - if tables.newHero, err = NewGame_newHero(buf); err != nil { - return nil, err - } - if buf, err = loader("game_herostargrow"); err != nil { - return nil, err - } - if tables.heroStargrow, err = NewGame_heroStargrow(buf); err != nil { - return nil, err - } - if buf, err = loader("game_herolevelgrow"); err != nil { - return nil, err - } - if tables.heroLevelgrow, err = NewGame_heroLevelgrow(buf); err != nil { - return nil, err - } - if buf, err = loader("game_herostarup"); err != nil { - return nil, err - } - if tables.heroStarup, err = NewGame_heroStarup(buf); err != nil { - return nil, err - } - if buf, err = loader("game_herolevelup"); err != nil { - return nil, err - } - if tables.heroLevelup, err = NewGame_heroLevelup(buf); err != nil { - return nil, err - } - return tables, nil + tables := &Tables{} + if buf, err = loader("game_hero") ; err != nil { + return nil, err + } + if tables.hero, err = NewGame_hero(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_ui") ; err != nil { + return nil, err + } + if tables.ui, err = NewGame_ui(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_skill") ; err != nil { + return nil, err + } + if tables.skill, err = NewGame_skill(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_plot") ; err != nil { + return nil, err + } + if tables.plot, err = NewGame_plot(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_language") ; err != nil { + return nil, err + } + if tables.language, err = NewGame_language(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_extservers") ; err != nil { + return nil, err + } + if tables.extservers, err = NewGame_extservers(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_skillatk") ; err != nil { + return nil, err + } + if tables.skillAtk, err = NewGame_skillAtk(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_skillafteratk") ; err != nil { + return nil, err + } + if tables.skillAfteratk, err = NewGame_skillAfteratk(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_skillbuff") ; err != nil { + return nil, err + } + if tables.skillBuff, err = NewGame_skillBuff(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_skillpassive") ; err != nil { + return nil, err + } + if tables.skillPassive, err = NewGame_skillPassive(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_newhero") ; err != nil { + return nil, err + } + if tables.newHero, err = NewGame_newHero(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_herostargrow") ; err != nil { + return nil, err + } + if tables.heroStargrow, err = NewGame_heroStargrow(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_herolevelgrow") ; err != nil { + return nil, err + } + if tables.heroLevelgrow, err = NewGame_heroLevelgrow(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_herostarup") ; err != nil { + return nil, err + } + if tables.heroStarup, err = NewGame_heroStarup(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_herolevelup") ; err != nil { + return nil, err + } + if tables.heroLevelup, err = NewGame_heroLevelup(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_equip") ; err != nil { + return nil, err + } + if tables.equip, err = NewGame_equip(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_equipattrlibrary") ; err != nil { + return nil, err + } + if tables.equipAttrlibrary, err = NewGame_equipAttrlibrary(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_equipsuit") ; err != nil { + return nil, err + } + if tables.equipSuit, err = NewGame_equipSuit(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_equipintensify") ; err != nil { + return nil, err + } + if tables.equipIntensify, err = NewGame_equipIntensify(buf) ; err != nil { + return nil, err + } + if buf, err = loader("game_item") ; err != nil { + return nil, err + } + if tables.item, err = NewGame_item(buf) ; err != nil { + return nil, err + } + return tables, nil } diff --git a/sys/configure/structs/game.atn.go b/sys/configure/structs/game.atn.go index d8352cb10..67a89b5b5 100644 --- a/sys/configure/structs/game.atn.go +++ b/sys/configure/structs/game.atn.go @@ -1,3 +1,4 @@ + //------------------------------------------------------------------------------ // // This code was generated by a tool. @@ -10,39 +11,19 @@ package cfg import "errors" type Game_atn struct { - A string - T string - N int32 + A string + T string + N int32 } func (Game_atn) GetTypeId() int { - return -1770297697 + return -1770297697 } func NewGame_atn(_buf map[string]interface{}) (_v *Game_atn, err error) { - _v = &Game_atn{} - { - var _ok_ bool - if _v.A, _ok_ = _buf["a"].(string); !_ok_ { - err = errors.New("a error") - return - } - } - { - var _ok_ bool - if _v.T, _ok_ = _buf["t"].(string); !_ok_ { - err = errors.New("t error") - return - } - } - { - var _ok_ bool - var _tempNum_ float64 - if _tempNum_, _ok_ = _buf["n"].(float64); !_ok_ { - err = errors.New("n error") - return - } - _v.N = int32(_tempNum_) - } - return + _v = &Game_atn{} + { var _ok_ bool; if _v.A, _ok_ = _buf["a"].(string); !_ok_ { err = errors.New("a error"); return } } + { var _ok_ bool; if _v.T, _ok_ = _buf["t"].(string); !_ok_ { err = errors.New("t error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["n"].(float64); !_ok_ { err = errors.New("n error"); return }; _v.N = int32(_tempNum_) } + return } diff --git a/sys/configure/structs/game.equipAttrlibraryData.go b/sys/configure/structs/game.equipAttrlibraryData.go index bad8e3c2e..9d8ac77f4 100644 --- a/sys/configure/structs/game.equipAttrlibraryData.go +++ b/sys/configure/structs/game.equipAttrlibraryData.go @@ -15,6 +15,7 @@ type Game_equipAttrlibraryData struct { Libraryid int32 Attr []string Probability int32 + Addition []int32 } func (Game_equipAttrlibraryData) GetTypeId() int { @@ -40,5 +41,19 @@ func NewGame_equipAttrlibraryData(_buf map[string]interface{}) (_v *Game_equipAt } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["probability"].(float64); !_ok_ { err = errors.New("probability error"); return }; _v.Probability = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["Addition"].([]interface{}); !_ok_ { err = errors.New("Addition error"); return } + + _v.Addition = make([]int32, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ int32 + { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + _v.Addition = append(_v.Addition, _list_v_) + } + } + return } diff --git a/sys/configure/structs/game.equipSuitData.go b/sys/configure/structs/game.equipSuitData.go index ca7a39602..dc1e8c638 100644 --- a/sys/configure/structs/game.equipSuitData.go +++ b/sys/configure/structs/game.equipSuitData.go @@ -14,6 +14,7 @@ type Game_equipSuitData struct { Suittype int32 Suitnum int32 Skill int32 + Skillintr string } func (Game_equipSuitData) GetTypeId() int { @@ -25,5 +26,6 @@ func NewGame_equipSuitData(_buf map[string]interface{}) (_v *Game_equipSuitData, { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suittype"].(float64); !_ok_ { err = errors.New("suittype error"); return }; _v.Suittype = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["suitnum"].(float64); !_ok_ { err = errors.New("suitnum error"); return }; _v.Suitnum = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill"].(float64); !_ok_ { err = errors.New("skill error"); return }; _v.Skill = int32(_tempNum_) } + { var _ok_ bool; if _v.Skillintr, _ok_ = _buf["skillintr"].(string); !_ok_ { err = errors.New("skillintr error"); return } } return } diff --git a/sys/configure/structs/game.hero.go b/sys/configure/structs/game.hero.go new file mode 100644 index 000000000..090ab7371 --- /dev/null +++ b/sys/configure/structs/game.hero.go @@ -0,0 +1,42 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ +package cfg + +type Game_hero struct { + _dataMap map[int32]*Game_heroData + _dataList []*Game_heroData +} + +func NewGame_hero(_buf []map[string]interface{}) (*Game_hero, error) { + _dataList := make([]*Game_heroData, 0, len(_buf)) + dataMap := make(map[int32]*Game_heroData) + for _, _ele_ := range _buf { + if _v, err2 := NewGame_heroData(_ele_); err2 != nil { + return nil, err2 + } else { + _dataList = append(_dataList, _v) + dataMap[_v.Id] = _v + } + } + return &Game_hero{_dataList:_dataList, _dataMap:dataMap}, nil +} + +func (table *Game_hero) GetDataMap() map[int32]*Game_heroData { + return table._dataMap +} + +func (table *Game_hero) GetDataList() []*Game_heroData { + return table._dataList +} + +func (table *Game_hero) Get(key int32) *Game_heroData { + return table._dataMap[key] +} + + diff --git a/sys/configure/structs/game.heroData.go b/sys/configure/structs/game.heroData.go new file mode 100644 index 000000000..c68fa15ad --- /dev/null +++ b/sys/configure/structs/game.heroData.go @@ -0,0 +1,95 @@ + +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ +package cfg + +import "errors" +import "bright/math" + +type Game_heroData struct { + Id int32 + Name string + Star int32 + Color int32 + Race int32 + Job int32 + Type int32 + Prefab string + Icon int32 + Sound int32 + Tujing []int32 + Intr string + Events string + Cite string + Effectstay []string + Hpspace math.Vector3 + Skill1 int32 + Skill2 int32 + Skill3 int32 +} + +func (Game_heroData) GetTypeId() int { + return 650222912 +} + +func NewGame_heroData(_buf map[string]interface{}) (_v *Game_heroData, err error) { + _v = &Game_heroData{} + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } + { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["race"].(float64); !_ok_ { err = errors.New("race error"); return }; _v.Race = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["job"].(float64); !_ok_ { err = errors.New("job error"); return }; _v.Job = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["type"].(float64); !_ok_ { err = errors.New("type error"); return }; _v.Type = int32(_tempNum_) } + { var _ok_ bool; if _v.Prefab, _ok_ = _buf["prefab"].(string); !_ok_ { err = errors.New("prefab error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["icon"].(float64); !_ok_ { err = errors.New("icon error"); return }; _v.Icon = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["sound"].(float64); !_ok_ { err = errors.New("sound error"); return }; _v.Sound = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["tujing"].([]interface{}); !_ok_ { err = errors.New("tujing error"); return } + + _v.Tujing = make([]int32, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ int32 + { var _ok_ bool; var _x_ float64; if _x_, _ok_ = _e_.(float64); !_ok_ { err = errors.New("_list_v_ error"); return }; _list_v_ = int32(_x_) } + _v.Tujing = append(_v.Tujing, _list_v_) + } + } + + { var _ok_ bool; if _v.Intr, _ok_ = _buf["intr"].(string); !_ok_ { err = errors.New("intr error"); return } } + { var _ok_ bool; if _v.Events, _ok_ = _buf["events"].(string); !_ok_ { err = errors.New("events error"); return } } + { var _ok_ bool; if _v.Cite, _ok_ = _buf["cite"].(string); !_ok_ { err = errors.New("cite error"); return } } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["effectstay"].([]interface{}); !_ok_ { err = errors.New("effectstay error"); return } + + _v.Effectstay = make([]string, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ string + { if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } + _v.Effectstay = append(_v.Effectstay, _list_v_) + } + } + + { var _ok_ bool; var _v_ map[string]interface{}; if _v_, _ok_ = _buf["hpspace"].(map[string]interface{}); !_ok_ { err = errors.New("hpspace error"); return } + var _x_, _y_, _z_ float32; + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["x"].(float64); !_ok_ { err = errors.New("x error"); return }; _x_ = float32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["y"].(float64); !_ok_ { err = errors.New("y error"); return }; _y_ = float32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _v_["z"].(float64); !_ok_ { err = errors.New("z error"); return }; _z_ = float32(_tempNum_) } + _v.Hpspace = math.NewVector3(_x_, _y_, _z_) + } + + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill1"].(float64); !_ok_ { err = errors.New("skill1 error"); return }; _v.Skill1 = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill2"].(float64); !_ok_ { err = errors.New("skill2 error"); return }; _v.Skill2 = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["skill3"].(float64); !_ok_ { err = errors.New("skill3 error"); return }; _v.Skill3 = int32(_tempNum_) } + return +} diff --git a/sys/configure/structs/game.heroLevelupData.go b/sys/configure/structs/game.heroLevelupData.go index eb0971988..bb6c7eb65 100644 --- a/sys/configure/structs/game.heroLevelupData.go +++ b/sys/configure/structs/game.heroLevelupData.go @@ -12,7 +12,8 @@ import "errors" type Game_heroLevelupData struct { Level int32 - Heroexp int32 + Heroexp []*Game_atn + Gold []*Game_atn Hp float32 Atk float32 Def float32 @@ -25,7 +26,34 @@ func (Game_heroLevelupData) GetTypeId() int { func NewGame_heroLevelupData(_buf map[string]interface{}) (_v *Game_heroLevelupData, err error) { _v = &Game_heroLevelupData{} { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["level"].(float64); !_ok_ { err = errors.New("level error"); return }; _v.Level = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["heroexp"].(float64); !_ok_ { err = errors.New("heroexp error"); return }; _v.Heroexp = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["heroexp"].([]interface{}); !_ok_ { err = errors.New("heroexp error"); return } + + _v.Heroexp = make([]*Game_atn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Game_atn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } } + _v.Heroexp = append(_v.Heroexp, _list_v_) + } + } + + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["gold"].([]interface{}); !_ok_ { err = errors.New("gold error"); return } + + _v.Gold = make([]*Game_atn, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ *Game_atn + { var _ok_ bool; var _x_ map[string]interface{}; if _x_, _ok_ = _e_.(map[string]interface{}); !_ok_ { err = errors.New("_list_v_ error"); return }; if _list_v_, err = NewGame_atn(_x_); err != nil { return } } + _v.Gold = append(_v.Gold, _list_v_) + } + } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hp"].(float64); !_ok_ { err = errors.New("hp error"); return }; _v.Hp = float32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["atk"].(float64); !_ok_ { err = errors.New("atk error"); return }; _v.Atk = float32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["def"].(float64); !_ok_ { err = errors.New("def error"); return }; _v.Def = float32(_tempNum_) } diff --git a/sys/configure/structs/game.heroStargrow.go b/sys/configure/structs/game.heroStargrow.go index ea1ee30fa..07a977d12 100644 --- a/sys/configure/structs/game.heroStargrow.go +++ b/sys/configure/structs/game.heroStargrow.go @@ -21,7 +21,7 @@ func NewGame_heroStargrow(_buf []map[string]interface{}) (*Game_heroStargrow, er return nil, err2 } else { _dataList = append(_dataList, _v) - dataMap[_v.Color] = _v + dataMap[_v.Star] = _v } } return &Game_heroStargrow{_dataList:_dataList, _dataMap:dataMap}, nil diff --git a/sys/configure/structs/game.heroStargrowData.go b/sys/configure/structs/game.heroStargrowData.go index 6055e695e..e76aa6b09 100644 --- a/sys/configure/structs/game.heroStargrowData.go +++ b/sys/configure/structs/game.heroStargrowData.go @@ -11,7 +11,8 @@ package cfg import "errors" type Game_heroStargrowData struct { - Color int32 + Star int32 + Level int32 StarupHp float32 StarupAtk float32 StarupDef float32 @@ -24,7 +25,8 @@ func (Game_heroStargrowData) GetTypeId() int { func NewGame_heroStargrowData(_buf map[string]interface{}) (_v *Game_heroStargrowData, err error) { _v = &Game_heroStargrowData{} - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["level"].(float64); !_ok_ { err = errors.New("level error"); return }; _v.Level = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_hp"].(float64); !_ok_ { err = errors.New("starup_hp error"); return }; _v.StarupHp = float32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_atk"].(float64); !_ok_ { err = errors.New("starup_atk error"); return }; _v.StarupAtk = float32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["starup_def"].(float64); !_ok_ { err = errors.New("starup_def error"); return }; _v.StarupDef = float32(_tempNum_) } diff --git a/sys/configure/structs/game.heroStarupData.go b/sys/configure/structs/game.heroStarupData.go index b963b7c25..4d3ee0549 100644 --- a/sys/configure/structs/game.heroStarupData.go +++ b/sys/configure/structs/game.heroStarupData.go @@ -21,6 +21,7 @@ type Game_heroStarupData struct { Needrace []int32 Needracestar int32 Needracenum int32 + Gold int32 } func (Game_heroStarupData) GetTypeId() int { @@ -52,5 +53,6 @@ func NewGame_heroStarupData(_buf map[string]interface{}) (_v *Game_heroStarupDat { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needracestar"].(float64); !_ok_ { err = errors.New("needracestar error"); return }; _v.Needracestar = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["needracenum"].(float64); !_ok_ { err = errors.New("needracenum error"); return }; _v.Needracenum = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["gold"].(float64); !_ok_ { err = errors.New("gold error"); return }; _v.Gold = int32(_tempNum_) } return } diff --git a/sys/configure/structs/game.newHero.go b/sys/configure/structs/game.newHero.go index dec18c06c..ddcd1117a 100644 --- a/sys/configure/structs/game.newHero.go +++ b/sys/configure/structs/game.newHero.go @@ -21,7 +21,7 @@ func NewGame_newHero(_buf []map[string]interface{}) (*Game_newHero, error) { return nil, err2 } else { _dataList = append(_dataList, _v) - dataMap[_v.Id] = _v + dataMap[_v.Hid] = _v } } return &Game_newHero{_dataList:_dataList, _dataMap:dataMap}, nil diff --git a/sys/configure/structs/game.newHeroData.go b/sys/configure/structs/game.newHeroData.go index 35848c0b8..c69185f07 100644 --- a/sys/configure/structs/game.newHeroData.go +++ b/sys/configure/structs/game.newHeroData.go @@ -12,7 +12,7 @@ import "errors" import "bright/math" type Game_newHeroData struct { - Id int32 + Hid int32 Name string Star int32 Color int32 @@ -40,7 +40,7 @@ func (Game_newHeroData) GetTypeId() int { func NewGame_newHeroData(_buf map[string]interface{}) (_v *Game_newHeroData, err error) { _v = &Game_newHeroData{} - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["id"].(float64); !_ok_ { err = errors.New("id error"); return }; _v.Id = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["hid"].(float64); !_ok_ { err = errors.New("hid error"); return }; _v.Hid = int32(_tempNum_) } { var _ok_ bool; if _v.Name, _ok_ = _buf["name"].(string); !_ok_ { err = errors.New("name error"); return } } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["star"].(float64); !_ok_ { err = errors.New("star error"); return }; _v.Star = int32(_tempNum_) } { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["color"].(float64); !_ok_ { err = errors.New("color error"); return }; _v.Color = int32(_tempNum_) } diff --git a/sys/configure/structs/game.skillAfteratkData.go b/sys/configure/structs/game.skillAfteratkData.go index e98532e36..3f8f86d19 100644 --- a/sys/configure/structs/game.skillAfteratkData.go +++ b/sys/configure/structs/game.skillAfteratkData.go @@ -13,7 +13,10 @@ import "errors" type Game_skillAfteratkData struct { Id int32 Desc string - Target string + From int32 + Limit int32 + Where []string + Order []string EmitPR int32 Type string Argu []string @@ -32,7 +35,36 @@ func NewGame_skillAfteratkData(_buf map[string]interface{}) (_v *Game_skillAfter _v = &Game_skillAfteratkData{} { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Id"].(float64); !_ok_ { err = errors.New("Id error"); return }; _v.Id = int32(_tempNum_) } { var _ok_ bool; if _v.Desc, _ok_ = _buf["Desc"].(string); !_ok_ { err = errors.New("Desc error"); return } } - { var _ok_ bool; if _v.Target, _ok_ = _buf["Target"].(string); !_ok_ { err = errors.New("Target error"); return } } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["From"].(float64); !_ok_ { err = errors.New("From error"); return }; _v.From = int32(_tempNum_) } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["Limit"].(float64); !_ok_ { err = errors.New("Limit error"); return }; _v.Limit = int32(_tempNum_) } + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["Where"].([]interface{}); !_ok_ { err = errors.New("Where error"); return } + + _v.Where = make([]string, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ string + { if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } + _v.Where = append(_v.Where, _list_v_) + } + } + + { + var _arr_ []interface{} + var _ok_ bool + if _arr_, _ok_ = _buf["Order"].([]interface{}); !_ok_ { err = errors.New("Order error"); return } + + _v.Order = make([]string, 0, len(_arr_)) + + for _, _e_ := range _arr_ { + var _list_v_ string + { if _list_v_, _ok_ = _e_.(string); !_ok_ { err = errors.New("_list_v_ error"); return } } + _v.Order = append(_v.Order, _list_v_) + } + } + { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["EmitPR"].(float64); !_ok_ { err = errors.New("EmitPR error"); return }; _v.EmitPR = int32(_tempNum_) } { var _ok_ bool; if _v.Type, _ok_ = _buf["Type"].(string); !_ok_ { err = errors.New("Type error"); return } } { diff --git a/utils/math_test.go b/utils/math_test.go new file mode 100644 index 000000000..d4b585bf7 --- /dev/null +++ b/utils/math_test.go @@ -0,0 +1 @@ +package utils