From 6c58432270ac5c193ab3f53dd289b72e3e0440bf Mon Sep 17 00:00:00 2001 From: liwei1dao Date: Tue, 28 Jun 2022 12:04:02 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=AD=A6=E5=99=A8=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=BA=A0=E6=AD=A3=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/json/game_equipattrlibrary.json | 1584 ++++++----------- bin/json/game_equipintensify.json | 42 +- comm/imodule.go | 6 +- modules/equipment/api_equip.go | 8 +- modules/equipment/api_getlist.go | 2 +- modules/equipment/api_upgrade.go | 20 +- modules/equipment/configure_comp.go | 39 +- modules/equipment/model_equipment_comp.go | 109 +- modules/equipment/module.go | 32 + modules/equipment/module_test.go | 11 +- modules/items/module.go | 2 +- modules/model_comp.go | 3 + modules/modulebase.go | 56 +- .../structs/game.equipAttrlibraryData.go | 111 +- 14 files changed, 845 insertions(+), 1180 deletions(-) diff --git a/bin/json/game_equipattrlibrary.json b/bin/json/game_equipattrlibrary.json index 25d67c15d..a19a95cdf 100644 --- a/bin/json/game_equipattrlibrary.json +++ b/bin/json/game_equipattrlibrary.json @@ -2,10 +2,8 @@ { "key": 1, "libraryid": 10001, - "attr": [ - "atk", - "20" - ], + "attrkey": "atk", + "attrvar": 20, "probability": 1000, "Addition": [ 800, @@ -18,10 +16,8 @@ { "key": 2, "libraryid": 10002, - "attr": [ - "atk", - "20" - ], + "attrkey": "atk", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -34,10 +30,8 @@ { "key": 3, "libraryid": 10002, - "attr": [ - "def", - "20" - ], + "attrkey": "def", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -50,10 +44,8 @@ { "key": 4, "libraryid": 10002, - "attr": [ - "hp", - "100" - ], + "attrkey": "hp", + "attrvar": 100, "probability": 400, "Addition": [ 800, @@ -66,10 +58,8 @@ { "key": 5, "libraryid": 10002, - "attr": [ - "atkpro", - "20" - ], + "attrkey": "atkpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -82,10 +72,8 @@ { "key": 6, "libraryid": 10002, - "attr": [ - "defpro", - "20" - ], + "attrkey": "defpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -98,10 +86,8 @@ { "key": 7, "libraryid": 10002, - "attr": [ - "hppro", - "20" - ], + "attrkey": "hppro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -114,10 +100,8 @@ { "key": 8, "libraryid": 10003, - "attr": [ - "def", - "20" - ], + "attrkey": "def", + "attrvar": 20, "probability": 1000, "Addition": [ 800, @@ -130,10 +114,8 @@ { "key": 9, "libraryid": 10004, - "attr": [ - "atk", - "20" - ], + "attrkey": "atk", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -146,10 +128,8 @@ { "key": 10, "libraryid": 10004, - "attr": [ - "def", - "20" - ], + "attrkey": "def", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -162,10 +142,8 @@ { "key": 11, "libraryid": 10004, - "attr": [ - "hp", - "100" - ], + "attrkey": "hp", + "attrvar": 100, "probability": 400, "Addition": [ 800, @@ -178,10 +156,8 @@ { "key": 12, "libraryid": 10004, - "attr": [ - "atkpro", - "20" - ], + "attrkey": "atkpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -194,10 +170,8 @@ { "key": 13, "libraryid": 10004, - "attr": [ - "defpro", - "20" - ], + "attrkey": "defpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -210,10 +184,8 @@ { "key": 14, "libraryid": 10004, - "attr": [ - "hppro", - "20" - ], + "attrkey": "hppro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -226,10 +198,8 @@ { "key": 15, "libraryid": 10005, - "attr": [ - "hp", - "100" - ], + "attrkey": "hp", + "attrvar": 100, "probability": 1000, "Addition": [ 800, @@ -242,10 +212,8 @@ { "key": 16, "libraryid": 10006, - "attr": [ - "atk", - "20" - ], + "attrkey": "atk", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -258,10 +226,8 @@ { "key": 17, "libraryid": 10006, - "attr": [ - "def", - "20" - ], + "attrkey": "def", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -274,10 +240,8 @@ { "key": 18, "libraryid": 10006, - "attr": [ - "hp", - "100" - ], + "attrkey": "hp", + "attrvar": 100, "probability": 400, "Addition": [ 800, @@ -290,10 +254,8 @@ { "key": 19, "libraryid": 10006, - "attr": [ - "atkpro", - "20" - ], + "attrkey": "atkpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -306,10 +268,8 @@ { "key": 20, "libraryid": 10006, - "attr": [ - "defpro", - "20" - ], + "attrkey": "defpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -322,10 +282,8 @@ { "key": 21, "libraryid": 10006, - "attr": [ - "hppro", - "20" - ], + "attrkey": "hppro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -338,10 +296,8 @@ { "key": 22, "libraryid": 10011, - "attr": [ - "atk", - "26" - ], + "attrkey": "atk", + "attrvar": 26, "probability": 1000, "Addition": [ 800, @@ -354,10 +310,8 @@ { "key": 23, "libraryid": 10012, - "attr": [ - "atk", - "26" - ], + "attrkey": "atk", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -370,10 +324,8 @@ { "key": 24, "libraryid": 10012, - "attr": [ - "def", - "26" - ], + "attrkey": "def", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -386,10 +338,8 @@ { "key": 25, "libraryid": 10012, - "attr": [ - "hp", - "130" - ], + "attrkey": "hp", + "attrvar": 130, "probability": 400, "Addition": [ 800, @@ -402,10 +352,8 @@ { "key": 26, "libraryid": 10012, - "attr": [ - "atkpro", - "26" - ], + "attrkey": "atkpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -418,10 +366,8 @@ { "key": 27, "libraryid": 10012, - "attr": [ - "defpro", - "26" - ], + "attrkey": "defpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -434,10 +380,8 @@ { "key": 28, "libraryid": 10012, - "attr": [ - "hppro", - "26" - ], + "attrkey": "hppro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -450,10 +394,8 @@ { "key": 29, "libraryid": 10013, - "attr": [ - "def", - "26" - ], + "attrkey": "def", + "attrvar": 26, "probability": 1000, "Addition": [ 800, @@ -466,10 +408,8 @@ { "key": 30, "libraryid": 10014, - "attr": [ - "atk", - "26" - ], + "attrkey": "atk", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -482,10 +422,8 @@ { "key": 31, "libraryid": 10014, - "attr": [ - "def", - "26" - ], + "attrkey": "def", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -498,10 +436,8 @@ { "key": 32, "libraryid": 10014, - "attr": [ - "hp", - "130" - ], + "attrkey": "hp", + "attrvar": 130, "probability": 400, "Addition": [ 800, @@ -514,10 +450,8 @@ { "key": 33, "libraryid": 10014, - "attr": [ - "atkpro", - "26" - ], + "attrkey": "atkpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -530,10 +464,8 @@ { "key": 34, "libraryid": 10014, - "attr": [ - "defpro", - "26" - ], + "attrkey": "defpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -546,10 +478,8 @@ { "key": 35, "libraryid": 10014, - "attr": [ - "hppro", - "26" - ], + "attrkey": "hppro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -562,10 +492,8 @@ { "key": 36, "libraryid": 10015, - "attr": [ - "hp", - "130" - ], + "attrkey": "hp", + "attrvar": 130, "probability": 1000, "Addition": [ 800, @@ -578,10 +506,8 @@ { "key": 37, "libraryid": 10016, - "attr": [ - "atk", - "26" - ], + "attrkey": "atk", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -594,10 +520,8 @@ { "key": 38, "libraryid": 10016, - "attr": [ - "def", - "26" - ], + "attrkey": "def", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -610,10 +534,8 @@ { "key": 39, "libraryid": 10016, - "attr": [ - "hp", - "130" - ], + "attrkey": "hp", + "attrvar": 130, "probability": 400, "Addition": [ 800, @@ -626,10 +548,8 @@ { "key": 40, "libraryid": 10016, - "attr": [ - "atkpro", - "26" - ], + "attrkey": "atkpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -642,10 +562,8 @@ { "key": 41, "libraryid": 10016, - "attr": [ - "defpro", - "26" - ], + "attrkey": "defpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -658,10 +576,8 @@ { "key": 42, "libraryid": 10016, - "attr": [ - "hppro", - "26" - ], + "attrkey": "hppro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -674,10 +590,8 @@ { "key": 43, "libraryid": 10021, - "attr": [ - "atk", - "33" - ], + "attrkey": "atk", + "attrvar": 33, "probability": 1000, "Addition": [ 800, @@ -690,10 +604,8 @@ { "key": 44, "libraryid": 10022, - "attr": [ - "atk", - "33" - ], + "attrkey": "atk", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -706,10 +618,8 @@ { "key": 45, "libraryid": 10022, - "attr": [ - "def", - "33" - ], + "attrkey": "def", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -722,10 +632,8 @@ { "key": 46, "libraryid": 10022, - "attr": [ - "hp", - "169" - ], + "attrkey": "hp", + "attrvar": 169, "probability": 400, "Addition": [ 800, @@ -738,10 +646,8 @@ { "key": 47, "libraryid": 10022, - "attr": [ - "atkpro", - "33" - ], + "attrkey": "atkpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -754,10 +660,8 @@ { "key": 48, "libraryid": 10022, - "attr": [ - "defpro", - "33" - ], + "attrkey": "defpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -770,10 +674,8 @@ { "key": 49, "libraryid": 10022, - "attr": [ - "hppro", - "33" - ], + "attrkey": "hppro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -786,10 +688,8 @@ { "key": 50, "libraryid": 10023, - "attr": [ - "def", - "33" - ], + "attrkey": "def", + "attrvar": 33, "probability": 1000, "Addition": [ 800, @@ -802,10 +702,8 @@ { "key": 51, "libraryid": 10024, - "attr": [ - "atk", - "33" - ], + "attrkey": "atk", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -818,10 +716,8 @@ { "key": 52, "libraryid": 10024, - "attr": [ - "def", - "33" - ], + "attrkey": "def", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -834,10 +730,8 @@ { "key": 53, "libraryid": 10024, - "attr": [ - "hp", - "169" - ], + "attrkey": "hp", + "attrvar": 169, "probability": 400, "Addition": [ 800, @@ -850,10 +744,8 @@ { "key": 54, "libraryid": 10024, - "attr": [ - "atkpro", - "33" - ], + "attrkey": "atkpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -866,10 +758,8 @@ { "key": 55, "libraryid": 10024, - "attr": [ - "defpro", - "33" - ], + "attrkey": "defpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -882,10 +772,8 @@ { "key": 56, "libraryid": 10024, - "attr": [ - "hppro", - "33" - ], + "attrkey": "hppro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -898,10 +786,8 @@ { "key": 57, "libraryid": 10025, - "attr": [ - "hp", - "169" - ], + "attrkey": "hp", + "attrvar": 169, "probability": 1000, "Addition": [ 800, @@ -914,10 +800,8 @@ { "key": 58, "libraryid": 10026, - "attr": [ - "atk", - "33" - ], + "attrkey": "atk", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -930,10 +814,8 @@ { "key": 59, "libraryid": 10026, - "attr": [ - "def", - "33" - ], + "attrkey": "def", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -946,10 +828,8 @@ { "key": 60, "libraryid": 10026, - "attr": [ - "hp", - "169" - ], + "attrkey": "hp", + "attrvar": 169, "probability": 400, "Addition": [ 800, @@ -962,10 +842,8 @@ { "key": 61, "libraryid": 10026, - "attr": [ - "atkpro", - "33" - ], + "attrkey": "atkpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -978,10 +856,8 @@ { "key": 62, "libraryid": 10026, - "attr": [ - "defpro", - "33" - ], + "attrkey": "defpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -994,10 +870,8 @@ { "key": 63, "libraryid": 10026, - "attr": [ - "hppro", - "33" - ], + "attrkey": "hppro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -1010,10 +884,8 @@ { "key": 64, "libraryid": 10031, - "attr": [ - "atk", - "42" - ], + "attrkey": "atk", + "attrvar": 42, "probability": 1000, "Addition": [ 800, @@ -1026,10 +898,8 @@ { "key": 65, "libraryid": 10032, - "attr": [ - "atk", - "42" - ], + "attrkey": "atk", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -1042,10 +912,8 @@ { "key": 66, "libraryid": 10032, - "attr": [ - "def", - "42" - ], + "attrkey": "def", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -1058,10 +926,8 @@ { "key": 67, "libraryid": 10032, - "attr": [ - "hp", - "219" - ], + "attrkey": "hp", + "attrvar": 219, "probability": 400, "Addition": [ 800, @@ -1074,10 +940,8 @@ { "key": 68, "libraryid": 10032, - "attr": [ - "atkpro", - "42" - ], + "attrkey": "atkpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -1090,10 +954,8 @@ { "key": 69, "libraryid": 10032, - "attr": [ - "defpro", - "42" - ], + "attrkey": "defpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -1106,10 +968,8 @@ { "key": 70, "libraryid": 10032, - "attr": [ - "hppro", - "42" - ], + "attrkey": "hppro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -1122,10 +982,8 @@ { "key": 71, "libraryid": 10033, - "attr": [ - "def", - "42" - ], + "attrkey": "def", + "attrvar": 42, "probability": 1000, "Addition": [ 800, @@ -1138,10 +996,8 @@ { "key": 72, "libraryid": 10034, - "attr": [ - "atk", - "42" - ], + "attrkey": "atk", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -1154,10 +1010,8 @@ { "key": 73, "libraryid": 10034, - "attr": [ - "def", - "42" - ], + "attrkey": "def", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -1170,10 +1024,8 @@ { "key": 74, "libraryid": 10034, - "attr": [ - "hp", - "219" - ], + "attrkey": "hp", + "attrvar": 219, "probability": 400, "Addition": [ 800, @@ -1186,10 +1038,8 @@ { "key": 75, "libraryid": 10034, - "attr": [ - "atkpro", - "42" - ], + "attrkey": "atkpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -1202,10 +1052,8 @@ { "key": 76, "libraryid": 10034, - "attr": [ - "defpro", - "42" - ], + "attrkey": "defpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -1218,10 +1066,8 @@ { "key": 77, "libraryid": 10034, - "attr": [ - "hppro", - "42" - ], + "attrkey": "hppro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -1234,10 +1080,8 @@ { "key": 78, "libraryid": 10035, - "attr": [ - "hp", - "219" - ], + "attrkey": "hp", + "attrvar": 219, "probability": 1000, "Addition": [ 800, @@ -1250,10 +1094,8 @@ { "key": 79, "libraryid": 10036, - "attr": [ - "atk", - "42" - ], + "attrkey": "atk", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -1266,10 +1108,8 @@ { "key": 80, "libraryid": 10036, - "attr": [ - "def", - "42" - ], + "attrkey": "def", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -1282,10 +1122,8 @@ { "key": 81, "libraryid": 10036, - "attr": [ - "hp", - "219" - ], + "attrkey": "hp", + "attrvar": 219, "probability": 400, "Addition": [ 800, @@ -1298,10 +1136,8 @@ { "key": 82, "libraryid": 10036, - "attr": [ - "atkpro", - "42" - ], + "attrkey": "atkpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -1314,10 +1150,8 @@ { "key": 83, "libraryid": 10036, - "attr": [ - "defpro", - "42" - ], + "attrkey": "defpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -1330,10 +1164,8 @@ { "key": 84, "libraryid": 10036, - "attr": [ - "hppro", - "42" - ], + "attrkey": "hppro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -1346,10 +1178,8 @@ { "key": 85, "libraryid": 10041, - "attr": [ - "atk", - "54" - ], + "attrkey": "atk", + "attrvar": 54, "probability": 1000, "Addition": [ 800, @@ -1362,10 +1192,8 @@ { "key": 86, "libraryid": 10042, - "attr": [ - "atk", - "54" - ], + "attrkey": "atk", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -1378,10 +1206,8 @@ { "key": 87, "libraryid": 10042, - "attr": [ - "def", - "54" - ], + "attrkey": "def", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -1394,10 +1220,8 @@ { "key": 88, "libraryid": 10042, - "attr": [ - "hp", - "284" - ], + "attrkey": "hp", + "attrvar": 284, "probability": 400, "Addition": [ 800, @@ -1410,10 +1234,8 @@ { "key": 89, "libraryid": 10042, - "attr": [ - "atkpro", - "54" - ], + "attrkey": "atkpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -1426,10 +1248,8 @@ { "key": 90, "libraryid": 10042, - "attr": [ - "defpro", - "54" - ], + "attrkey": "defpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -1442,10 +1262,8 @@ { "key": 91, "libraryid": 10042, - "attr": [ - "hppro", - "54" - ], + "attrkey": "hppro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -1458,10 +1276,8 @@ { "key": 92, "libraryid": 10043, - "attr": [ - "def", - "54" - ], + "attrkey": "def", + "attrvar": 54, "probability": 1000, "Addition": [ 800, @@ -1474,10 +1290,8 @@ { "key": 93, "libraryid": 10044, - "attr": [ - "atk", - "54" - ], + "attrkey": "atk", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -1490,10 +1304,8 @@ { "key": 94, "libraryid": 10044, - "attr": [ - "def", - "54" - ], + "attrkey": "def", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -1506,10 +1318,8 @@ { "key": 95, "libraryid": 10044, - "attr": [ - "hp", - "284" - ], + "attrkey": "hp", + "attrvar": 284, "probability": 400, "Addition": [ 800, @@ -1522,10 +1332,8 @@ { "key": 96, "libraryid": 10044, - "attr": [ - "atkpro", - "54" - ], + "attrkey": "atkpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -1538,10 +1346,8 @@ { "key": 97, "libraryid": 10044, - "attr": [ - "defpro", - "54" - ], + "attrkey": "defpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -1554,10 +1360,8 @@ { "key": 98, "libraryid": 10044, - "attr": [ - "hppro", - "54" - ], + "attrkey": "hppro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -1570,10 +1374,8 @@ { "key": 99, "libraryid": 10045, - "attr": [ - "hp", - "284" - ], + "attrkey": "hp", + "attrvar": 284, "probability": 1000, "Addition": [ 800, @@ -1586,10 +1388,8 @@ { "key": 100, "libraryid": 10046, - "attr": [ - "atk", - "54" - ], + "attrkey": "atk", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -1602,10 +1402,8 @@ { "key": 101, "libraryid": 10046, - "attr": [ - "def", - "54" - ], + "attrkey": "def", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -1618,10 +1416,8 @@ { "key": 102, "libraryid": 10046, - "attr": [ - "hp", - "284" - ], + "attrkey": "hp", + "attrvar": 284, "probability": 400, "Addition": [ 800, @@ -1634,10 +1430,8 @@ { "key": 103, "libraryid": 10046, - "attr": [ - "atkpro", - "54" - ], + "attrkey": "atkpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -1650,10 +1444,8 @@ { "key": 104, "libraryid": 10046, - "attr": [ - "defpro", - "54" - ], + "attrkey": "defpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -1666,10 +1458,8 @@ { "key": 105, "libraryid": 10046, - "attr": [ - "hppro", - "54" - ], + "attrkey": "hppro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -1682,10 +1472,8 @@ { "key": 106, "libraryid": 10051, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 1000, "Addition": [ 800, @@ -1698,10 +1486,8 @@ { "key": 107, "libraryid": 10052, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -1714,10 +1500,8 @@ { "key": 108, "libraryid": 10052, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -1730,10 +1514,8 @@ { "key": 109, "libraryid": 10052, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 400, "Addition": [ 800, @@ -1746,10 +1528,8 @@ { "key": 110, "libraryid": 10052, - "attr": [ - "atkpro", - "70" - ], + "attrkey": "atkpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -1762,10 +1542,8 @@ { "key": 111, "libraryid": 10052, - "attr": [ - "defpro", - "70" - ], + "attrkey": "defpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -1778,10 +1556,8 @@ { "key": 112, "libraryid": 10052, - "attr": [ - "hppro", - "70" - ], + "attrkey": "hppro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -1794,10 +1570,8 @@ { "key": 113, "libraryid": 10053, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 1000, "Addition": [ 800, @@ -1810,10 +1584,8 @@ { "key": 114, "libraryid": 10054, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -1826,10 +1598,8 @@ { "key": 115, "libraryid": 10054, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -1842,10 +1612,8 @@ { "key": 116, "libraryid": 10054, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 400, "Addition": [ 800, @@ -1858,10 +1626,8 @@ { "key": 117, "libraryid": 10054, - "attr": [ - "atkpro", - "70" - ], + "attrkey": "atkpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -1874,10 +1640,8 @@ { "key": 118, "libraryid": 10054, - "attr": [ - "defpro", - "70" - ], + "attrkey": "defpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -1890,10 +1654,8 @@ { "key": 119, "libraryid": 10054, - "attr": [ - "hppro", - "70" - ], + "attrkey": "hppro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -1906,10 +1668,8 @@ { "key": 120, "libraryid": 10055, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 1000, "Addition": [ 800, @@ -1922,10 +1682,8 @@ { "key": 121, "libraryid": 10056, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -1938,10 +1696,8 @@ { "key": 122, "libraryid": 10056, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -1954,10 +1710,8 @@ { "key": 123, "libraryid": 10056, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 400, "Addition": [ 800, @@ -1970,10 +1724,8 @@ { "key": 124, "libraryid": 10056, - "attr": [ - "atkpro", - "70" - ], + "attrkey": "atkpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -1986,10 +1738,8 @@ { "key": 125, "libraryid": 10056, - "attr": [ - "defpro", - "70" - ], + "attrkey": "defpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -2002,10 +1752,8 @@ { "key": 126, "libraryid": 10056, - "attr": [ - "hppro", - "70" - ], + "attrkey": "hppro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -2018,10 +1766,8 @@ { "key": 127, "libraryid": 1001, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -2034,10 +1780,8 @@ { "key": 128, "libraryid": 1001, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -2050,10 +1794,8 @@ { "key": 129, "libraryid": 1001, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 400, "Addition": [ 800, @@ -2066,10 +1808,8 @@ { "key": 130, "libraryid": 1001, - "attr": [ - "atkpro", - "70" - ], + "attrkey": "atkpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -2082,10 +1822,8 @@ { "key": 131, "libraryid": 1001, - "attr": [ - "defpro", - "70" - ], + "attrkey": "defpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -2098,10 +1836,8 @@ { "key": 132, "libraryid": 1001, - "attr": [ - "hppro", - "70" - ], + "attrkey": "hppro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -2114,10 +1850,8 @@ { "key": 133, "libraryid": 11001, - "attr": [ - "atk", - "20" - ], + "attrkey": "atk", + "attrvar": 20, "probability": 1000, "Addition": [ 800, @@ -2130,10 +1864,8 @@ { "key": 134, "libraryid": 11002, - "attr": [ - "atk", - "20" - ], + "attrkey": "atk", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -2146,10 +1878,8 @@ { "key": 135, "libraryid": 11002, - "attr": [ - "def", - "20" - ], + "attrkey": "def", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -2162,10 +1892,8 @@ { "key": 136, "libraryid": 11002, - "attr": [ - "hp", - "100" - ], + "attrkey": "hp", + "attrvar": 100, "probability": 400, "Addition": [ 800, @@ -2178,10 +1906,8 @@ { "key": 137, "libraryid": 11002, - "attr": [ - "atkpro", - "20" - ], + "attrkey": "atkpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -2194,10 +1920,8 @@ { "key": 138, "libraryid": 11002, - "attr": [ - "defpro", - "20" - ], + "attrkey": "defpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -2210,10 +1934,8 @@ { "key": 139, "libraryid": 11002, - "attr": [ - "hppro", - "20" - ], + "attrkey": "hppro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -2226,10 +1948,8 @@ { "key": 140, "libraryid": 11003, - "attr": [ - "def", - "20" - ], + "attrkey": "def", + "attrvar": 20, "probability": 1000, "Addition": [ 800, @@ -2242,10 +1962,8 @@ { "key": 141, "libraryid": 11004, - "attr": [ - "atk", - "20" - ], + "attrkey": "atk", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -2258,10 +1976,8 @@ { "key": 142, "libraryid": 11004, - "attr": [ - "def", - "20" - ], + "attrkey": "def", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -2274,10 +1990,8 @@ { "key": 143, "libraryid": 11004, - "attr": [ - "hp", - "100" - ], + "attrkey": "hp", + "attrvar": 100, "probability": 400, "Addition": [ 800, @@ -2290,10 +2004,8 @@ { "key": 144, "libraryid": 11004, - "attr": [ - "atkpro", - "20" - ], + "attrkey": "atkpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -2306,10 +2018,8 @@ { "key": 145, "libraryid": 11004, - "attr": [ - "defpro", - "20" - ], + "attrkey": "defpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -2322,10 +2032,8 @@ { "key": 146, "libraryid": 11004, - "attr": [ - "hppro", - "20" - ], + "attrkey": "hppro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -2338,10 +2046,8 @@ { "key": 147, "libraryid": 11005, - "attr": [ - "hp", - "100" - ], + "attrkey": "hp", + "attrvar": 100, "probability": 1000, "Addition": [ 800, @@ -2354,10 +2060,8 @@ { "key": 148, "libraryid": 11006, - "attr": [ - "atk", - "20" - ], + "attrkey": "atk", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -2370,10 +2074,8 @@ { "key": 149, "libraryid": 11006, - "attr": [ - "def", - "20" - ], + "attrkey": "def", + "attrvar": 20, "probability": 150, "Addition": [ 800, @@ -2386,10 +2088,8 @@ { "key": 150, "libraryid": 11006, - "attr": [ - "hp", - "100" - ], + "attrkey": "hp", + "attrvar": 100, "probability": 400, "Addition": [ 800, @@ -2402,10 +2102,8 @@ { "key": 151, "libraryid": 11006, - "attr": [ - "atkpro", - "20" - ], + "attrkey": "atkpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -2418,10 +2116,8 @@ { "key": 152, "libraryid": 11006, - "attr": [ - "defpro", - "20" - ], + "attrkey": "defpro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -2434,10 +2130,8 @@ { "key": 153, "libraryid": 11006, - "attr": [ - "hppro", - "20" - ], + "attrkey": "hppro", + "attrvar": 20, "probability": 100, "Addition": [ 800, @@ -2450,10 +2144,8 @@ { "key": 154, "libraryid": 11011, - "attr": [ - "atk", - "26" - ], + "attrkey": "atk", + "attrvar": 26, "probability": 1000, "Addition": [ 800, @@ -2466,10 +2158,8 @@ { "key": 155, "libraryid": 11012, - "attr": [ - "atk", - "26" - ], + "attrkey": "atk", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -2482,10 +2172,8 @@ { "key": 156, "libraryid": 11012, - "attr": [ - "def", - "26" - ], + "attrkey": "def", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -2498,10 +2186,8 @@ { "key": 157, "libraryid": 11012, - "attr": [ - "hp", - "130" - ], + "attrkey": "hp", + "attrvar": 130, "probability": 400, "Addition": [ 800, @@ -2514,10 +2200,8 @@ { "key": 158, "libraryid": 11012, - "attr": [ - "atkpro", - "26" - ], + "attrkey": "atkpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -2530,10 +2214,8 @@ { "key": 159, "libraryid": 11012, - "attr": [ - "defpro", - "26" - ], + "attrkey": "defpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -2546,10 +2228,8 @@ { "key": 160, "libraryid": 11012, - "attr": [ - "hppro", - "26" - ], + "attrkey": "hppro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -2562,10 +2242,8 @@ { "key": 161, "libraryid": 11013, - "attr": [ - "def", - "26" - ], + "attrkey": "def", + "attrvar": 26, "probability": 1000, "Addition": [ 800, @@ -2578,10 +2256,8 @@ { "key": 162, "libraryid": 11014, - "attr": [ - "atk", - "26" - ], + "attrkey": "atk", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -2594,10 +2270,8 @@ { "key": 163, "libraryid": 11014, - "attr": [ - "def", - "26" - ], + "attrkey": "def", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -2610,10 +2284,8 @@ { "key": 164, "libraryid": 11014, - "attr": [ - "hp", - "130" - ], + "attrkey": "hp", + "attrvar": 130, "probability": 400, "Addition": [ 800, @@ -2626,10 +2298,8 @@ { "key": 165, "libraryid": 11014, - "attr": [ - "atkpro", - "26" - ], + "attrkey": "atkpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -2642,10 +2312,8 @@ { "key": 166, "libraryid": 11014, - "attr": [ - "defpro", - "26" - ], + "attrkey": "defpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -2658,10 +2326,8 @@ { "key": 167, "libraryid": 11014, - "attr": [ - "hppro", - "26" - ], + "attrkey": "hppro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -2674,10 +2340,8 @@ { "key": 168, "libraryid": 11015, - "attr": [ - "hp", - "130" - ], + "attrkey": "hp", + "attrvar": 130, "probability": 1000, "Addition": [ 800, @@ -2690,10 +2354,8 @@ { "key": 169, "libraryid": 11016, - "attr": [ - "atk", - "26" - ], + "attrkey": "atk", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -2706,10 +2368,8 @@ { "key": 170, "libraryid": 11016, - "attr": [ - "def", - "26" - ], + "attrkey": "def", + "attrvar": 26, "probability": 150, "Addition": [ 800, @@ -2722,10 +2382,8 @@ { "key": 171, "libraryid": 11016, - "attr": [ - "hp", - "130" - ], + "attrkey": "hp", + "attrvar": 130, "probability": 400, "Addition": [ 800, @@ -2738,10 +2396,8 @@ { "key": 172, "libraryid": 11016, - "attr": [ - "atkpro", - "26" - ], + "attrkey": "atkpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -2754,10 +2410,8 @@ { "key": 173, "libraryid": 11016, - "attr": [ - "defpro", - "26" - ], + "attrkey": "defpro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -2770,10 +2424,8 @@ { "key": 174, "libraryid": 11016, - "attr": [ - "hppro", - "26" - ], + "attrkey": "hppro", + "attrvar": 26, "probability": 100, "Addition": [ 800, @@ -2786,10 +2438,8 @@ { "key": 175, "libraryid": 11021, - "attr": [ - "atk", - "33" - ], + "attrkey": "atk", + "attrvar": 33, "probability": 1000, "Addition": [ 800, @@ -2802,10 +2452,8 @@ { "key": 176, "libraryid": 11022, - "attr": [ - "atk", - "33" - ], + "attrkey": "atk", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -2818,10 +2466,8 @@ { "key": 177, "libraryid": 11022, - "attr": [ - "def", - "33" - ], + "attrkey": "def", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -2834,10 +2480,8 @@ { "key": 178, "libraryid": 11022, - "attr": [ - "hp", - "169" - ], + "attrkey": "hp", + "attrvar": 169, "probability": 400, "Addition": [ 800, @@ -2850,10 +2494,8 @@ { "key": 179, "libraryid": 11022, - "attr": [ - "atkpro", - "33" - ], + "attrkey": "atkpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -2866,10 +2508,8 @@ { "key": 180, "libraryid": 11022, - "attr": [ - "defpro", - "33" - ], + "attrkey": "defpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -2882,10 +2522,8 @@ { "key": 181, "libraryid": 11022, - "attr": [ - "hppro", - "33" - ], + "attrkey": "hppro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -2898,10 +2536,8 @@ { "key": 182, "libraryid": 11023, - "attr": [ - "def", - "33" - ], + "attrkey": "def", + "attrvar": 33, "probability": 1000, "Addition": [ 800, @@ -2914,10 +2550,8 @@ { "key": 183, "libraryid": 11024, - "attr": [ - "atk", - "33" - ], + "attrkey": "atk", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -2930,10 +2564,8 @@ { "key": 184, "libraryid": 11024, - "attr": [ - "def", - "33" - ], + "attrkey": "def", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -2946,10 +2578,8 @@ { "key": 185, "libraryid": 11024, - "attr": [ - "hp", - "169" - ], + "attrkey": "hp", + "attrvar": 169, "probability": 400, "Addition": [ 800, @@ -2962,10 +2592,8 @@ { "key": 186, "libraryid": 11024, - "attr": [ - "atkpro", - "33" - ], + "attrkey": "atkpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -2978,10 +2606,8 @@ { "key": 187, "libraryid": 11024, - "attr": [ - "defpro", - "33" - ], + "attrkey": "defpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -2994,10 +2620,8 @@ { "key": 188, "libraryid": 11024, - "attr": [ - "hppro", - "33" - ], + "attrkey": "hppro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -3010,10 +2634,8 @@ { "key": 189, "libraryid": 11025, - "attr": [ - "hp", - "169" - ], + "attrkey": "hp", + "attrvar": 169, "probability": 1000, "Addition": [ 800, @@ -3026,10 +2648,8 @@ { "key": 190, "libraryid": 11026, - "attr": [ - "atk", - "33" - ], + "attrkey": "atk", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -3042,10 +2662,8 @@ { "key": 191, "libraryid": 11026, - "attr": [ - "def", - "33" - ], + "attrkey": "def", + "attrvar": 33, "probability": 150, "Addition": [ 800, @@ -3058,10 +2676,8 @@ { "key": 192, "libraryid": 11026, - "attr": [ - "hp", - "169" - ], + "attrkey": "hp", + "attrvar": 169, "probability": 400, "Addition": [ 800, @@ -3074,10 +2690,8 @@ { "key": 193, "libraryid": 11026, - "attr": [ - "atkpro", - "33" - ], + "attrkey": "atkpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -3090,10 +2704,8 @@ { "key": 194, "libraryid": 11026, - "attr": [ - "defpro", - "33" - ], + "attrkey": "defpro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -3106,10 +2718,8 @@ { "key": 195, "libraryid": 11026, - "attr": [ - "hppro", - "33" - ], + "attrkey": "hppro", + "attrvar": 33, "probability": 100, "Addition": [ 800, @@ -3122,10 +2732,8 @@ { "key": 196, "libraryid": 11031, - "attr": [ - "atk", - "42" - ], + "attrkey": "atk", + "attrvar": 42, "probability": 1000, "Addition": [ 800, @@ -3138,10 +2746,8 @@ { "key": 197, "libraryid": 11032, - "attr": [ - "atk", - "42" - ], + "attrkey": "atk", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -3154,10 +2760,8 @@ { "key": 198, "libraryid": 11032, - "attr": [ - "def", - "42" - ], + "attrkey": "def", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -3170,10 +2774,8 @@ { "key": 199, "libraryid": 11032, - "attr": [ - "hp", - "219" - ], + "attrkey": "hp", + "attrvar": 219, "probability": 400, "Addition": [ 800, @@ -3186,10 +2788,8 @@ { "key": 200, "libraryid": 11032, - "attr": [ - "atkpro", - "42" - ], + "attrkey": "atkpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -3202,10 +2802,8 @@ { "key": 201, "libraryid": 11032, - "attr": [ - "defpro", - "42" - ], + "attrkey": "defpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -3218,10 +2816,8 @@ { "key": 202, "libraryid": 11032, - "attr": [ - "hppro", - "42" - ], + "attrkey": "hppro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -3234,10 +2830,8 @@ { "key": 203, "libraryid": 11033, - "attr": [ - "def", - "42" - ], + "attrkey": "def", + "attrvar": 42, "probability": 1000, "Addition": [ 800, @@ -3250,10 +2844,8 @@ { "key": 204, "libraryid": 11034, - "attr": [ - "atk", - "42" - ], + "attrkey": "atk", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -3266,10 +2858,8 @@ { "key": 205, "libraryid": 11034, - "attr": [ - "def", - "42" - ], + "attrkey": "def", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -3282,10 +2872,8 @@ { "key": 206, "libraryid": 11034, - "attr": [ - "hp", - "219" - ], + "attrkey": "hp", + "attrvar": 219, "probability": 400, "Addition": [ 800, @@ -3298,10 +2886,8 @@ { "key": 207, "libraryid": 11034, - "attr": [ - "atkpro", - "42" - ], + "attrkey": "atkpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -3314,10 +2900,8 @@ { "key": 208, "libraryid": 11034, - "attr": [ - "defpro", - "42" - ], + "attrkey": "defpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -3330,10 +2914,8 @@ { "key": 209, "libraryid": 11034, - "attr": [ - "hppro", - "42" - ], + "attrkey": "hppro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -3346,10 +2928,8 @@ { "key": 210, "libraryid": 11035, - "attr": [ - "hp", - "219" - ], + "attrkey": "hp", + "attrvar": 219, "probability": 1000, "Addition": [ 800, @@ -3362,10 +2942,8 @@ { "key": 211, "libraryid": 11036, - "attr": [ - "atk", - "42" - ], + "attrkey": "atk", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -3378,10 +2956,8 @@ { "key": 212, "libraryid": 11036, - "attr": [ - "def", - "42" - ], + "attrkey": "def", + "attrvar": 42, "probability": 150, "Addition": [ 800, @@ -3394,10 +2970,8 @@ { "key": 213, "libraryid": 11036, - "attr": [ - "hp", - "219" - ], + "attrkey": "hp", + "attrvar": 219, "probability": 400, "Addition": [ 800, @@ -3410,10 +2984,8 @@ { "key": 214, "libraryid": 11036, - "attr": [ - "atkpro", - "42" - ], + "attrkey": "atkpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -3426,10 +2998,8 @@ { "key": 215, "libraryid": 11036, - "attr": [ - "defpro", - "42" - ], + "attrkey": "defpro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -3442,10 +3012,8 @@ { "key": 216, "libraryid": 11036, - "attr": [ - "hppro", - "42" - ], + "attrkey": "hppro", + "attrvar": 42, "probability": 100, "Addition": [ 800, @@ -3458,10 +3026,8 @@ { "key": 217, "libraryid": 11041, - "attr": [ - "atk", - "54" - ], + "attrkey": "atk", + "attrvar": 54, "probability": 1000, "Addition": [ 800, @@ -3474,10 +3040,8 @@ { "key": 218, "libraryid": 11042, - "attr": [ - "atk", - "54" - ], + "attrkey": "atk", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -3490,10 +3054,8 @@ { "key": 219, "libraryid": 11042, - "attr": [ - "def", - "54" - ], + "attrkey": "def", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -3506,10 +3068,8 @@ { "key": 220, "libraryid": 11042, - "attr": [ - "hp", - "284" - ], + "attrkey": "hp", + "attrvar": 284, "probability": 400, "Addition": [ 800, @@ -3522,10 +3082,8 @@ { "key": 221, "libraryid": 11042, - "attr": [ - "atkpro", - "54" - ], + "attrkey": "atkpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -3538,10 +3096,8 @@ { "key": 222, "libraryid": 11042, - "attr": [ - "defpro", - "54" - ], + "attrkey": "defpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -3554,10 +3110,8 @@ { "key": 223, "libraryid": 11042, - "attr": [ - "hppro", - "54" - ], + "attrkey": "hppro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -3570,10 +3124,8 @@ { "key": 224, "libraryid": 11043, - "attr": [ - "def", - "54" - ], + "attrkey": "def", + "attrvar": 54, "probability": 1000, "Addition": [ 800, @@ -3586,10 +3138,8 @@ { "key": 225, "libraryid": 11044, - "attr": [ - "atk", - "54" - ], + "attrkey": "atk", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -3602,10 +3152,8 @@ { "key": 226, "libraryid": 11044, - "attr": [ - "def", - "54" - ], + "attrkey": "def", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -3618,10 +3166,8 @@ { "key": 227, "libraryid": 11044, - "attr": [ - "hp", - "284" - ], + "attrkey": "hp", + "attrvar": 284, "probability": 400, "Addition": [ 800, @@ -3634,10 +3180,8 @@ { "key": 228, "libraryid": 11044, - "attr": [ - "atkpro", - "54" - ], + "attrkey": "atkpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -3650,10 +3194,8 @@ { "key": 229, "libraryid": 11044, - "attr": [ - "defpro", - "54" - ], + "attrkey": "defpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -3666,10 +3208,8 @@ { "key": 230, "libraryid": 11044, - "attr": [ - "hppro", - "54" - ], + "attrkey": "hppro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -3682,10 +3222,8 @@ { "key": 231, "libraryid": 11045, - "attr": [ - "hp", - "284" - ], + "attrkey": "hp", + "attrvar": 284, "probability": 1000, "Addition": [ 800, @@ -3698,10 +3236,8 @@ { "key": 232, "libraryid": 11046, - "attr": [ - "atk", - "54" - ], + "attrkey": "atk", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -3714,10 +3250,8 @@ { "key": 233, "libraryid": 11046, - "attr": [ - "def", - "54" - ], + "attrkey": "def", + "attrvar": 54, "probability": 150, "Addition": [ 800, @@ -3730,10 +3264,8 @@ { "key": 234, "libraryid": 11046, - "attr": [ - "hp", - "284" - ], + "attrkey": "hp", + "attrvar": 284, "probability": 400, "Addition": [ 800, @@ -3746,10 +3278,8 @@ { "key": 235, "libraryid": 11046, - "attr": [ - "atkpro", - "54" - ], + "attrkey": "atkpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -3762,10 +3292,8 @@ { "key": 236, "libraryid": 11046, - "attr": [ - "defpro", - "54" - ], + "attrkey": "defpro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -3778,10 +3306,8 @@ { "key": 237, "libraryid": 11046, - "attr": [ - "hppro", - "54" - ], + "attrkey": "hppro", + "attrvar": 54, "probability": 100, "Addition": [ 800, @@ -3794,10 +3320,8 @@ { "key": 238, "libraryid": 11051, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 1000, "Addition": [ 800, @@ -3810,10 +3334,8 @@ { "key": 239, "libraryid": 11052, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -3826,10 +3348,8 @@ { "key": 240, "libraryid": 11052, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -3842,10 +3362,8 @@ { "key": 241, "libraryid": 11052, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 400, "Addition": [ 800, @@ -3858,10 +3376,8 @@ { "key": 242, "libraryid": 11052, - "attr": [ - "atkpro", - "70" - ], + "attrkey": "atkpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -3874,10 +3390,8 @@ { "key": 243, "libraryid": 11052, - "attr": [ - "defpro", - "70" - ], + "attrkey": "defpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -3890,10 +3404,8 @@ { "key": 244, "libraryid": 11052, - "attr": [ - "hppro", - "70" - ], + "attrkey": "hppro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -3906,10 +3418,8 @@ { "key": 245, "libraryid": 11053, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 1000, "Addition": [ 800, @@ -3922,10 +3432,8 @@ { "key": 246, "libraryid": 11054, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -3938,10 +3446,8 @@ { "key": 247, "libraryid": 11054, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -3954,10 +3460,8 @@ { "key": 248, "libraryid": 11054, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 400, "Addition": [ 800, @@ -3970,10 +3474,8 @@ { "key": 249, "libraryid": 11054, - "attr": [ - "atkpro", - "70" - ], + "attrkey": "atkpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -3986,10 +3488,8 @@ { "key": 250, "libraryid": 11054, - "attr": [ - "defpro", - "70" - ], + "attrkey": "defpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -4002,10 +3502,8 @@ { "key": 251, "libraryid": 11054, - "attr": [ - "hppro", - "70" - ], + "attrkey": "hppro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -4018,10 +3516,8 @@ { "key": 252, "libraryid": 11055, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 1000, "Addition": [ 800, @@ -4034,10 +3530,8 @@ { "key": 253, "libraryid": 11056, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -4050,10 +3544,8 @@ { "key": 254, "libraryid": 11056, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -4066,10 +3558,8 @@ { "key": 255, "libraryid": 11056, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 400, "Addition": [ 800, @@ -4082,10 +3572,8 @@ { "key": 256, "libraryid": 11056, - "attr": [ - "atkpro", - "70" - ], + "attrkey": "atkpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -4098,10 +3586,8 @@ { "key": 257, "libraryid": 11056, - "attr": [ - "defpro", - "70" - ], + "attrkey": "defpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -4114,10 +3600,8 @@ { "key": 258, "libraryid": 11056, - "attr": [ - "hppro", - "70" - ], + "attrkey": "hppro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -4130,10 +3614,8 @@ { "key": 259, "libraryid": 1101, - "attr": [ - "atk", - "70" - ], + "attrkey": "atk", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -4146,10 +3628,8 @@ { "key": 260, "libraryid": 1101, - "attr": [ - "def", - "70" - ], + "attrkey": "def", + "attrvar": 70, "probability": 150, "Addition": [ 800, @@ -4162,10 +3642,8 @@ { "key": 261, "libraryid": 1101, - "attr": [ - "hp", - "369" - ], + "attrkey": "hp", + "attrvar": 369, "probability": 400, "Addition": [ 800, @@ -4178,10 +3656,8 @@ { "key": 262, "libraryid": 1101, - "attr": [ - "atkpro", - "70" - ], + "attrkey": "atkpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -4194,10 +3670,8 @@ { "key": 263, "libraryid": 1101, - "attr": [ - "defpro", - "70" - ], + "attrkey": "defpro", + "attrvar": 70, "probability": 100, "Addition": [ 800, @@ -4210,10 +3684,8 @@ { "key": 264, "libraryid": 1101, - "attr": [ - "hppro", - "70" - ], + "attrkey": "hppro", + "attrvar": 70, "probability": 100, "Addition": [ 800, diff --git a/bin/json/game_equipintensify.json b/bin/json/game_equipintensify.json index 162fcf358..9e4d37563 100644 --- a/bin/json/game_equipintensify.json +++ b/bin/json/game_equipintensify.json @@ -495,7 +495,7 @@ "level": 15, "need": [], "bonus": 4500, - "activation": false, + "activation": true, "probability": 250, "num": 16 }, @@ -559,7 +559,7 @@ } ], "bonus": 900, - "activation": false, + "activation": true, "probability": 850, "num": 4 }, @@ -607,7 +607,7 @@ } ], "bonus": 1800, - "activation": false, + "activation": true, "probability": 700, "num": 7 }, @@ -655,7 +655,7 @@ } ], "bonus": 2700, - "activation": false, + "activation": true, "probability": 550, "num": 10 }, @@ -703,7 +703,7 @@ } ], "bonus": 3600, - "activation": false, + "activation": true, "probability": 400, "num": 13 }, @@ -745,7 +745,7 @@ "level": 15, "need": [], "bonus": 4500, - "activation": false, + "activation": true, "probability": 250, "num": 16 }, @@ -809,7 +809,7 @@ } ], "bonus": 900, - "activation": false, + "activation": true, "probability": 850, "num": 4 }, @@ -857,7 +857,7 @@ } ], "bonus": 1800, - "activation": false, + "activation": true, "probability": 700, "num": 7 }, @@ -905,7 +905,7 @@ } ], "bonus": 2700, - "activation": false, + "activation": true, "probability": 550, "num": 10 }, @@ -953,7 +953,7 @@ } ], "bonus": 3600, - "activation": false, + "activation": true, "probability": 400, "num": 13 }, @@ -995,7 +995,7 @@ "level": 15, "need": [], "bonus": 4500, - "activation": false, + "activation": true, "probability": 250, "num": 16 }, @@ -1059,7 +1059,7 @@ } ], "bonus": 900, - "activation": false, + "activation": true, "probability": 850, "num": 4 }, @@ -1107,7 +1107,7 @@ } ], "bonus": 1800, - "activation": false, + "activation": true, "probability": 700, "num": 7 }, @@ -1155,7 +1155,7 @@ } ], "bonus": 2700, - "activation": false, + "activation": true, "probability": 550, "num": 10 }, @@ -1203,7 +1203,7 @@ } ], "bonus": 3600, - "activation": false, + "activation": true, "probability": 400, "num": 13 }, @@ -1245,7 +1245,7 @@ "level": 15, "need": [], "bonus": 4500, - "activation": false, + "activation": true, "probability": 250, "num": 16 }, @@ -1309,7 +1309,7 @@ } ], "bonus": 900, - "activation": false, + "activation": true, "probability": 850, "num": 4 }, @@ -1357,7 +1357,7 @@ } ], "bonus": 1800, - "activation": false, + "activation": true, "probability": 700, "num": 7 }, @@ -1405,7 +1405,7 @@ } ], "bonus": 2700, - "activation": false, + "activation": true, "probability": 550, "num": 10 }, @@ -1453,7 +1453,7 @@ } ], "bonus": 3600, - "activation": false, + "activation": true, "probability": 400, "num": 13 }, @@ -1495,7 +1495,7 @@ "level": 15, "need": [], "bonus": 4500, - "activation": false, + "activation": true, "probability": 250, "num": 16 } diff --git a/comm/imodule.go b/comm/imodule.go index 731be8541..5c82bbf6b 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -59,10 +59,10 @@ type ( //武器模块 IEquipment interface { //查询服务资源数量 db id - QueryEquipment(source *ModuleCallSource, uid string, Id int32) (equipment pb.DB_Equipment, code pb.ErrorCode) + QueryEquipment(source *ModuleCallSource, uid string, Id string) (equipment *pb.DB_Equipment, code pb.ErrorCode) //查询服务资源数量 参数武器配置id QueryEquipmentAmount(source *ModuleCallSource, uid string, equipmentId int32) (amount uint32) - //新加武器 - AddNewEquipments(source *ModuleCallSource, uid string, eid int, add int32) (code pb.ErrorCode) + //添加新武器 + AddNewEquipments(source *ModuleCallSource, uid string, cIds map[int32]uint32) (code pb.ErrorCode) } ) diff --git a/modules/equipment/api_equip.go b/modules/equipment/api_equip.go index b02cca51b..bea0f569f 100644 --- a/modules/equipment/api_equip.go +++ b/modules/equipment/api_equip.go @@ -20,7 +20,7 @@ func (this *Api_Comp) Equip_Check(session comm.IUserSession, req *pb.Equipment_E equipments = make([]*pb.DB_Equipment, len(req.EquipmentId)) for i, v := range req.EquipmentId { if v != "" { - if equipments[i], err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), v); err != nil { + if equipments[i], err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), v); err != nil { log.Errorf("Equip_Check err:%v", err) code.Code = pb.ErrorCode_EquipmentOnFoundEquipment return @@ -68,7 +68,7 @@ func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface for i, v := range hero.EquipID { if v != "" { if equipments[i] != nil && v != equipments[i].Id { - if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), v); err != nil { + if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), v); err != nil { log.Errorf("Equip reader uid:%s equipment:%s err:%v", session.GetUserId(), v, err) code = pb.ErrorCode_SystemError return @@ -77,7 +77,7 @@ func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface equipments[i].HeroId = hero.Id updatequipment = append(updatequipment, equipment, equipments[i]) } else if equipments[i] == nil { - if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), v); err != nil { + if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), v); err != nil { log.Errorf("Equip reader uid:%s equipment:%s err:%v", session.GetUserId(), v, err) code = pb.ErrorCode_SystemError return @@ -100,7 +100,7 @@ func (this *Api_Comp) Equip(session comm.IUserSession, agrs map[string]interface } } if code = this.module.hero.UpdateEquipment(hero, equipments); code == pb.ErrorCode_Success { - if err = this.module.model_equipment_comp.Equipment_UpdateIsEquip(session.GetUserId(), updatequipment...); err != nil { + if err = this.module.model_equipment_comp.Equipment_UpdateByHeroId(session.GetUserId(), updatequipment...); err != nil { log.Errorf("Equip err%v", err) code = pb.ErrorCode_SystemError return diff --git a/modules/equipment/api_getlist.go b/modules/equipment/api_getlist.go index 1c76a3178..89b79a60f 100644 --- a/modules/equipment/api_getlist.go +++ b/modules/equipment/api_getlist.go @@ -23,7 +23,7 @@ func (this *Api_Comp) Getlist(session comm.IUserSession, agrs map[string]interfa session.SendMsg(string(this.module.GetType()), "", &pb.Equipment_GetList_Resp{Equipments: items}) } }() - if items, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPack(session.GetUserId()); err != nil { + if items, err = this.module.model_equipment_comp.Equipment_QueryUserEquipments(session.GetUserId()); err != nil { log.Errorf("QueryUserPackReq err:%v", err) code = pb.ErrorCode_CacheReadError return diff --git a/modules/equipment/api_upgrade.go b/modules/equipment/api_upgrade.go index 055c645c7..da605b8e7 100644 --- a/modules/equipment/api_upgrade.go +++ b/modules/equipment/api_upgrade.go @@ -24,7 +24,7 @@ func (this *Api_Comp) Upgrade_Check(session comm.IUserSession, req *pb.Equipment code.Code = pb.ErrorCode_ReqParameterError return } - if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), req.EquipmentId); err != nil { + if equipment, err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), req.EquipmentId); err != nil { log.Errorf("Equip_Check err:%v", err) code.Code = pb.ErrorCode_EquipmentOnFoundEquipment return @@ -35,7 +35,7 @@ func (this *Api_Comp) Upgrade_Check(session comm.IUserSession, req *pb.Equipment return } //找到下一个等级的相关配置 - if intensify, err = this.module.configure_comp.GetEquipmentIntensifyConfigureById(equipment.Lv + 1); err != nil { + if intensify, err = this.module.configure_comp.GetEquipmentIntensifyConfigureById(equipment.Lv); err != nil { log.Errorf("Equip_Check err:%v", err) code.Code = pb.ErrorCode_EquipmentLvlimitReached return @@ -97,7 +97,11 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa equipment.Id = primitive.NewObjectID().Hex() equipment.IsInitialState = false equipment.OverlayNum = 1 - equipment.Lv++ + if err = this.module.model_equipment_comp.upgradeEquipment(equipment, conf, intensify); err != nil { + code = pb.ErrorCode_SystemError + log.Errorf("Upgrade err:%v", err) + return + } if err = this.module.model_equipment_comp.AddList(session.GetUserId(), equipment.Id, equipment); err != nil { log.Errorf("Upgrade err:%v", err) code = pb.ErrorCode_SystemError @@ -105,9 +109,15 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa } } else { equipment.IsInitialState = false - equipment.Lv++ + if err = this.module.model_equipment_comp.upgradeEquipment(equipment, conf, intensify); err != nil { + code = pb.ErrorCode_SystemError + log.Errorf("Upgrade err:%v", err) + return + } if err = this.module.model_equipment_comp.ChangeList(session.GetUserId(), equipment.Id, map[string]interface{}{ "lv": equipment.Lv, + "mainEntry": equipment.MainEntry, + "adverbEntry": equipment.AdverbEntry, "isInitialState": false, }); err != nil { log.Errorf("Upgrade err:%v", err) @@ -126,7 +136,7 @@ func (this *Api_Comp) Upgrade(session comm.IUserSession, agrs map[string]interfa for i, v := range hero.EquipID { if v != "" { if v != equipment.Id { - if equipments[i], err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsPackById(session.GetUserId(), v); err != nil { + if equipments[i], err = this.module.model_equipment_comp.Equipment_QueryUserEquipmentsById(session.GetUserId(), v); err != nil { log.Errorf("Upgrade err:%v", err) code = pb.ErrorCode_EquipmentOnFoundEquipment return diff --git a/modules/equipment/configure_comp.go b/modules/equipment/configure_comp.go index 4a662006f..fc8e81615 100644 --- a/modules/equipment/configure_comp.go +++ b/modules/equipment/configure_comp.go @@ -6,13 +6,14 @@ import ( cfg "go_dreamfactory/sys/configure/structs" "go_dreamfactory/lego/core" + "go_dreamfactory/lego/sys/log" ) const ( - game_equip = "game_equip.json" //装备信息表 - equip_attrlibrary = "equip_attrlibrary.json" //装备属性配置表 - equip_intensify = "equip_intensify.json" //装备等级消耗表 - equip_suit = "equip_suit.json" //装备套装表 + game_equip = "game_equip.json" //装备信息表 + equip_attrlibrary = "game_equipattrlibrary.json" //装备属性配置表 + equip_intensify = "game_equipintensify.json" //装备等级消耗表 + equip_suit = "game_equipsuit.json" //装备套装表 ) ///背包配置管理组件 @@ -35,10 +36,12 @@ func (this *Configure_Comp) GetEquipmentConfigure() (configure *cfg.Game_equip, ok bool ) if v, err = this.GetConfigure(game_equip); err != nil { + log.Errorf("err:%v", err) return } else { if configure, ok = v.(*cfg.Game_equip); !ok { err = fmt.Errorf("%T no is *cfg.Game_equipment", v) + log.Errorf("err:%v", err) return } } @@ -52,10 +55,12 @@ func (this *Configure_Comp) GetEquipmentConfigureById(equipmentId int32) (config ok bool ) if v, err = this.GetConfigure(game_equip); err != nil { + log.Errorf("err:%v", err) return } else { if configure, ok = v.(*cfg.Game_equip).GetDataMap()[equipmentId]; !ok { err = fmt.Errorf("EquipmentConfigure not found:%d ", equipmentId) + log.Errorf("err:%v", err) return } } @@ -69,10 +74,31 @@ func (this *Configure_Comp) GetEquipmentAttrlibraryConfigure() (configure *cfg.G ok bool ) if v, err = this.GetConfigure(equip_attrlibrary); err != nil { + log.Errorf("err:%v", err) return } else { if configure, ok = v.(*cfg.Game_equipAttrlibrary); !ok { err = fmt.Errorf("%T no is *cfg.Game_equipment", v) + log.Errorf("err:%v", err) + return + } + } + return +} + +//获取属性词列表 +func (this *Configure_Comp) GetEquipmentAttrlibraryConfigureByKey(key int32) (configure *cfg.Game_equipAttrlibraryData, err error) { + var ( + v interface{} + ok bool + ) + if v, err = this.GetConfigure(equip_attrlibrary); err != nil { + log.Errorf("err:%v", err) + return + } else { + if configure, ok = v.(*cfg.Game_equipAttrlibrary).GetDataMap()[key]; !ok { + err = fmt.Errorf("EquipmentConfigure GetEquipmentAttrlibraryConfigureByKey not found:%d ", key) + log.Errorf("err:%v", err) return } } @@ -85,6 +111,7 @@ func (this *Configure_Comp) GetEquipmentAttrlibraryConfigureById(Id int32) (conf v interface{} ) if v, err = this.GetConfigure(equip_attrlibrary); err != nil { + log.Errorf("err:%v", err) return } else { configure = make([]*cfg.Game_equipAttrlibraryData, 0) @@ -104,10 +131,12 @@ func (this *Configure_Comp) GetEquipmentIntensifyConfigure() (configure *cfg.Gam ok bool ) if v, err = this.GetConfigure(equip_intensify); err != nil { + log.Errorf("err:%v", err) return } else { if configure, ok = v.(*cfg.Game_equipIntensify); !ok { err = fmt.Errorf("%T no is *cfg.Game_equipment", v) + log.Errorf("err:%v", err) return } } @@ -121,10 +150,12 @@ func (this *Configure_Comp) GetEquipmentIntensifyConfigureById(Id int32) (config ok bool ) if v, err = this.GetConfigure(equip_intensify); err != nil { + log.Errorf("err:%v", err) return } else { if configure, ok = v.(*cfg.Game_equipIntensify).GetDataMap()[Id]; !ok { err = fmt.Errorf("EquipmentConfigure not found:%d ", Id) + log.Errorf("err:%v", err) return } } diff --git a/modules/equipment/model_equipment_comp.go b/modules/equipment/model_equipment_comp.go index 13ad347cb..92b0941ea 100644 --- a/modules/equipment/model_equipment_comp.go +++ b/modules/equipment/model_equipment_comp.go @@ -33,21 +33,39 @@ func (this *Model_Equipment_Comp) Init(service core.IService, module core.IModul } //查询用户装备数据 -func (this *Model_Equipment_Comp) Equipment_QueryUserEquipmentsPackById(uId, id string) (equipment *pb.DB_Equipment, err error) { +func (this *Model_Equipment_Comp) Equipment_QueryUserEquipmentsById(uId, id string) (equipment *pb.DB_Equipment, err error) { equipment = &pb.DB_Equipment{} err = this.GetListObj(uId, id, equipment) return } ///查询用户的武器背包 -func (this *Model_Equipment_Comp) Equipment_QueryUserEquipmentsPack(uId string) (equipments []*pb.DB_Equipment, err error) { +func (this *Model_Equipment_Comp) Equipment_QueryUserEquipments(uId string) (equipments []*pb.DB_Equipment, err error) { equipments = make([]*pb.DB_Equipment, 0) err = this.GetList(uId, &equipments) return } +///查询目标卡片数量 +func (this *Model_Equipment_Comp) QueryEquipmentAmount(uid string, equipmentId int32) (amount uint32) { + var ( + equipments []*pb.DB_Equipment + err error + ) + amount = 0 + if equipments, err = this.Equipment_QueryUserEquipments(uid); err != nil { + return + } + for _, v := range equipments { + if v.CId == equipmentId { + amount += v.OverlayNum + } + } + return +} + //添加装备 -func (this *Model_Equipment_Comp) Equipment_AddEquipmentsToPack(uId string, cIds map[int32]uint32) (err error) { +func (this *Model_Equipment_Comp) Equipment_AddEquipments(uId string, cIds map[int32]uint32) (err error) { var ( configure *cfg.Game_equip equipments []*pb.DB_Equipment @@ -58,7 +76,7 @@ func (this *Model_Equipment_Comp) Equipment_AddEquipmentsToPack(uId string, cIds if configure, err = this.module.configure_comp.GetEquipmentConfigure(); err != nil { return } - if equipments, err = this.Equipment_QueryUserEquipmentsPack(uId); err != nil { + if equipments, err = this.Equipment_QueryUserEquipments(uId); err != nil { return } add = make(map[string]*pb.DB_Equipment) @@ -84,24 +102,25 @@ func (this *Model_Equipment_Comp) Equipment_AddEquipmentsToPack(uId string, cIds } } if err = this.AddLists(uId, add); err != nil { - log.Errorf("[Equipment] Equipment_AddEquipmentsToPack err:%v", err) + log.Errorf("err:%v", err) return } for _, v := range update { if err = this.ChangeList(uId, v.Id, map[string]interface{}{"overlayNum": v.OverlayNum}); err != nil { - log.Errorf("[Equipment] Equipment_AddEquipmentsToPack err:%v", err) + log.Errorf("err:%v", err) return } } return } -func (this *Model_Equipment_Comp) Equipment_UpdateIsEquip(uid string, equipments ...*pb.DB_Equipment) (err error) { +//更新武器挂载信息 +func (this *Model_Equipment_Comp) Equipment_UpdateByHeroId(uid string, equipments ...*pb.DB_Equipment) (err error) { for _, v := range equipments { if err = this.ChangeList(uid, v.Id, map[string]interface{}{ "heroId": v.HeroId, }); err != nil { - log.Errorf("Equipment_UpdateIsEquip err:%v", err) + log.Errorf("err:%v", err) return } } @@ -119,10 +138,11 @@ func (this *Model_Equipment_Comp) newEquipment(uid string, conf *cfg.Game_equipD equipment = &pb.DB_Equipment{ Id: primitive.NewObjectID().Hex(), CId: conf.Id, + Lv: 1, UId: uid, OverlayNum: num, IsInitialState: true, - AdverbEntry: make([]*pb.EquipmentAttributeEntry, 4), + AdverbEntry: make([]*pb.EquipmentAttributeEntry, 0), } if mattr, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureById(conf.Leadlibrary); err != nil || len(mattr) == 0 { return @@ -130,9 +150,9 @@ func (this *Model_Equipment_Comp) newEquipment(uid string, conf *cfg.Game_equipD equipment.MainEntry = &pb.EquipmentAttributeEntry{ Id: mattr[0].Key, Libraryid: mattr[0].Libraryid, - Lv: 0, - AttrName: mattr[0].Attr[0], - Value: 0, + Lv: 1, + AttrName: mattr[0].Attrkey, + Value: mattr[0].Attrvar, } if sattr, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureById(conf.Addlibrary); err != nil || len(mattr) == 0 { return @@ -148,18 +168,67 @@ func (this *Model_Equipment_Comp) newEquipment(uid string, conf *cfg.Game_equipD break } } - if satterNum > 0 { + if satterNum > 0 && satterNum <= 4 { r := rand.New(rand.NewSource(time.Now().Unix())) - for i, v := range r.Perm(len(sattr))[:satterNum] { - equipment.AdverbEntry[i] = &pb.EquipmentAttributeEntry{ + for _, v := range r.Perm(len(sattr))[:satterNum] { + equipment.AdverbEntry = append(equipment.AdverbEntry, &pb.EquipmentAttributeEntry{ Id: sattr[v].Key, Libraryid: sattr[v].Libraryid, - Lv: 0, - AttrName: sattr[v].Attr[0], - Value: 0, - } + Lv: 1, + AttrName: sattr[v].Attrkey, + Value: sattr[v].Attrvar, + }) } } - + return +} + +//升级武器 +func (this *Model_Equipment_Comp) upgradeEquipment(equipment *pb.DB_Equipment, equip *cfg.Game_equipData, intensify *cfg.Game_equipIntensifyData) (err error) { + equipment.Lv++ + equipment.MainEntry.Lv++ + equipment.MainEntry.Value += equipment.MainEntry.Value * (intensify.Bonus / 1000.0) + if !intensify.Activation { //不触发副词条变化 + return + } + if len(equipment.AdverbEntry) < 4 { //去随机副词条 + var temp []*cfg.Game_equipAttrlibraryData + var sattr []*cfg.Game_equipAttrlibraryData + if temp, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureById(equip.Addlibrary); err != nil || len(temp) == 0 { + log.Errorf("升级服务错误 读取副词条配置错误!") + return + } + //检索出未使用的词条 + for _, v := range sattr { + iskeep := false + for _, v1 := range equipment.AdverbEntry { + if v.Key == v1.Id { + iskeep = true + } + } + if !iskeep { + sattr = append(sattr, v) + } + } + r := rand.New(rand.NewSource(time.Now().Unix())) + index := r.Perm(len(sattr))[0] + equipment.AdverbEntry = append(equipment.AdverbEntry, &pb.EquipmentAttributeEntry{ + Id: sattr[index].Key, + Libraryid: sattr[index].Libraryid, + Lv: 1, + AttrName: sattr[index].Attrkey, + Value: sattr[index].Attrvar, + }) + } else { //随机一个副词条 强化 + var attrlibrary *cfg.Game_equipAttrlibraryData + r := rand.New(rand.NewSource(time.Now().Unix())) + index := r.Perm(len(equipment.AdverbEntry))[0] + + if attrlibrary, err = this.module.configure_comp.GetEquipmentAttrlibraryConfigureByKey(equipment.AdverbEntry[index].Id); err != nil { + return + } + equipment.AdverbEntry[index].Value += attrlibrary.Addition[equipment.AdverbEntry[index].Lv-1] / 1000.0 * attrlibrary.Attrvar + equipment.AdverbEntry[index].Lv++ + } return } diff --git a/modules/equipment/module.go b/modules/equipment/module.go index 78eb4b435..dbacf2ca0 100644 --- a/modules/equipment/module.go +++ b/modules/equipment/module.go @@ -4,7 +4,9 @@ import ( "go_dreamfactory/comm" "go_dreamfactory/lego/core" "go_dreamfactory/modules" + "go_dreamfactory/pb" + "github.com/go-redis/redis/v8" "github.com/smallnest/rpcx/log" ) @@ -58,3 +60,33 @@ func (this *Equipment) OnInstallComp() { this.model_equipment_comp = this.RegisterComp(new(Model_Equipment_Comp)).(*Model_Equipment_Comp) this.configure_comp = this.RegisterComp(new(Configure_Comp)).(*Configure_Comp) } + +//IEquipment------------------------------------------------------------------------------------------------------------------------------- +//查询武器信息 +func (this *Equipment) QueryEquipment(source *comm.ModuleCallSource, uid string, Id string) (equipment *pb.DB_Equipment, code pb.ErrorCode) { + var err error + if equipment, err = this.model_equipment_comp.Equipment_QueryUserEquipmentsById(uid, Id); err != nil { + if err == redis.Nil { + code = pb.ErrorCode_EquipmentOnFoundEquipment + } else { + code = pb.ErrorCode_SystemError + } + } + return +} + +//查询卡片数量 +func (this *Equipment) QueryEquipmentAmount(source *comm.ModuleCallSource, uid string, equipmentId int32) (amount uint32) { + amount = this.model_equipment_comp.QueryEquipmentAmount(uid, equipmentId) + return +} + +//添加武器 +func (this *Equipment) AddNewEquipments(source *comm.ModuleCallSource, uid string, cIds map[int32]uint32) (code pb.ErrorCode) { + var err error + if err = this.model_equipment_comp.Equipment_AddEquipments(uid, cIds); err != nil { + log.Errorf("err%v", err) + code = pb.ErrorCode_SystemError + } + return +} diff --git a/modules/equipment/module_test.go b/modules/equipment/module_test.go index 5a8a34a5a..d30f57b02 100644 --- a/modules/equipment/module_test.go +++ b/modules/equipment/module_test.go @@ -7,6 +7,7 @@ import ( "go_dreamfactory/lego/base/rpcx" "go_dreamfactory/lego/core" "go_dreamfactory/lego/sys/log" + "go_dreamfactory/modules/hero" "go_dreamfactory/services" "go_dreamfactory/sys/cache" "go_dreamfactory/sys/configure" @@ -40,7 +41,7 @@ func (this *TestService) InitSys() { } else { log.Infof("init sys.db success!") } - if err := configure.OnInit(this.GetSettings().Sys["configure"]); err != nil { + if err := configure.OnInit(this.GetSettings().Sys["configure"], configure.SetConfigPath("F:/work/go/go_dreamfactory/bin/json")); err != nil { panic(fmt.Sprintf("init sys.configure err: %s", err.Error())) } else { log.Infof("init sys.configure success!") @@ -63,6 +64,7 @@ func TestMain(m *testing.M) { go func() { lego.Run(service, //运行模块 module, + hero.NewModule(), ) }() time.Sleep(time.Second * 3) @@ -70,5 +72,10 @@ func TestMain(m *testing.M) { } func Test_Module(t *testing.T) { - + code := module.AddNewEquipments(&comm.ModuleCallSource{ + Module: "Test", + FuncName: "Test_Module", + Describe: "摸底测试", + }, "0_62b16dda909b2f8faeff788d", map[int32]uint32{10001: 1}) + log.Debugf("Test_Module Code:%d", code) } diff --git a/modules/items/module.go b/modules/items/module.go index 772acbc45..8c95f3ab5 100644 --- a/modules/items/module.go +++ b/modules/items/module.go @@ -46,7 +46,7 @@ func (this *Items) OnInstallComp() { this.configure_comp = this.RegisterComp(new(Configure_Comp)).(*Configure_Comp) } -//IPack------------------------------------------------------------------------------------------------------------------------------- +//IItems------------------------------------------------------------------------------------------------------------------------------- ///查询用户背包物品数量 func (this *Items) QueryItemAmount(source *comm.ModuleCallSource, uId string, itemid int32) (amount uint32) { defer log.Debugf("获取物品 uId:%s itemid:%d addnum:%d ", uId, itemid, amount) diff --git a/modules/model_comp.go b/modules/model_comp.go index 215c2bb9e..289172ccf 100644 --- a/modules/model_comp.go +++ b/modules/model_comp.go @@ -294,6 +294,9 @@ func (this *Model_Comp) GetList(uid string, data interface{}) (err error) { } temp[_id] = elem.Elem().Addr().Interface() } + if len(temp) == 0 { //没有数据自己返回 + return + } for k, v := range temp { key := this.ukeylist(uid, k) if err = this.Redis.HMSet(key, v); err != nil { diff --git a/modules/modulebase.go b/modules/modulebase.go index 8c22c5f66..c2220b59a 100644 --- a/modules/modulebase.go +++ b/modules/modulebase.go @@ -80,36 +80,36 @@ func (this *ModuleBase) SendMsgToUsers(mainType, subType string, msg proto.Messa //校验消耗资源 func (this *ModuleBase) CheckConsumeRes(uid string, res []*cfg.Game_atn) (code pb.ErrorCode) { var ( - module core.IModule - err error - resID int - amount int32 - user comm.IUser //用户模块 - items comm.IItems //道具背包模块 - hero comm.IHero //英雄模块 - equipment comm.IEquipment //装备模块 + module core.IModule + err error + resID int + amount int32 + user comm.IUser //用户模块 + items comm.IItems //道具背包模块 + hero comm.IHero //英雄模块 + // equipment comm.IEquipment //装备模块 ) if module, err = this.service.GetModule(comm.SM_UserModule); err == nil { return } user = module.(comm.IUser) - if module, err = this.service.GetModule(comm.SM_UserModule); err == nil { + if module, err = this.service.GetModule(comm.SM_ItemsModule); err == nil { return } items = module.(comm.IItems) - if module, err = this.service.GetModule(comm.SM_UserModule); err == nil { + if module, err = this.service.GetModule(comm.SM_HeroModule); err == nil { return } hero = module.(comm.IHero) - if module, err = this.service.GetModule(comm.SM_UserModule); err == nil { - return - } + // if module, err = this.service.GetModule(comm.SM_EquipmentModule); err == nil { + // return + // } + // equipment = module.(comm.IEquipment) source := &comm.ModuleCallSource{ Module: string(this.module.GetType()), FuncName: "CheckConsumeRes", Describe: "消耗资源", } - equipment = module.(comm.IEquipment) //校验消费资源是否充足 for _, v := range res { if v.A == comm.AttrType { //用户属性资源 @@ -135,16 +135,18 @@ func (this *ModuleBase) CheckConsumeRes(uid string, res []*cfg.Game_atn) (code p code = pb.ErrorCode_ResNoEnough return } - } else if v.A == comm.EquipmentType { - if resID, err = strconv.Atoi(v.T); err != nil { - code = pb.ErrorCode_ConfigurationException - return - } - if amount = int32(equipment.QueryEquipmentAmount(source, uid, int32(resID))); amount < v.N { - code = pb.ErrorCode_ResNoEnough - return - } } + //不存在消耗武器的情况 + // } else if v.A == comm.EquipmentType { + // if resID, err = strconv.Atoi(v.T); err != nil { + // code = pb.ErrorCode_ConfigurationException + // return + // } + // if amount = int32(equipment.QueryEquipmentAmount(source, uid, int32(resID))); amount < v.N { + // code = pb.ErrorCode_ResNoEnough + // return + // } + // } } for _, v := range res { @@ -156,10 +158,12 @@ func (this *ModuleBase) CheckConsumeRes(uid string, res []*cfg.Game_atn) (code p } else if v.A == comm.CardType { //卡片资源 resID, _ = strconv.Atoi(v.T) hero.AddCard(uid, int32(resID), -1*v.N) - } else if v.A == comm.EquipmentType { - resID, _ = strconv.Atoi(v.T) - equipment.AddNewEquipments(source, uid, resID, -1*v.N) } + //不存在消耗武器的情况 + // } else if v.A == comm.EquipmentType { + // resID, _ = strconv.Atoi(v.T) + // equipment.AddNewEquipments(source, uid, resID, -1*v.N) + // } } return diff --git a/sys/configure/structs/game.equipAttrlibraryData.go b/sys/configure/structs/game.equipAttrlibraryData.go index 9d8ac77f4..b3c9988dd 100644 --- a/sys/configure/structs/game.equipAttrlibraryData.go +++ b/sys/configure/structs/game.equipAttrlibraryData.go @@ -1,4 +1,3 @@ - //------------------------------------------------------------------------------ // // This code was generated by a tool. @@ -11,49 +10,87 @@ package cfg import "errors" type Game_equipAttrlibraryData struct { - Key int32 - Libraryid int32 - Attr []string - Probability int32 - Addition []int32 + Key int32 + Libraryid int32 + Attrkey string + Attrvar int32 + Probability int32 + Addition []int32 } func (Game_equipAttrlibraryData) GetTypeId() int { - return -437457248 + return -437457248 } func NewGame_equipAttrlibraryData(_buf map[string]interface{}) (_v *Game_equipAttrlibraryData, err error) { - _v = &Game_equipAttrlibraryData{} - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { err = errors.New("key error"); return }; _v.Key = int32(_tempNum_) } - { var _ok_ bool; var _tempNum_ float64; if _tempNum_, _ok_ = _buf["libraryid"].(float64); !_ok_ { err = errors.New("libraryid error"); return }; _v.Libraryid = int32(_tempNum_) } - { - var _arr_ []interface{} - var _ok_ bool - if _arr_, _ok_ = _buf["attr"].([]interface{}); !_ok_ { err = errors.New("attr error"); return } + _v = &Game_equipAttrlibraryData{} + { + var _ok_ bool + var _tempNum_ float64 + if _tempNum_, _ok_ = _buf["key"].(float64); !_ok_ { + err = errors.New("key error") + return + } + _v.Key = int32(_tempNum_) + } + { + var _ok_ bool + var _tempNum_ float64 + if _tempNum_, _ok_ = _buf["libraryid"].(float64); !_ok_ { + err = errors.New("libraryid error") + return + } + _v.Libraryid = int32(_tempNum_) + } + { + var _ok_ bool + if _v.Attrkey, _ok_ = _buf["attrkey"].(string); !_ok_ { + err = errors.New("attrkey error") + return + } + } + { + var _ok_ bool + var _tempNum_ float64 + if _tempNum_, _ok_ = _buf["attrvar"].(float64); !_ok_ { + err = errors.New("attrvar error") + return + } + _v.Attrvar = int32(_tempNum_) + } + { + 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.Attr = 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.Attr = append(_v.Attr, _list_v_) - } - } + _v.Addition = make([]int32, 0, len(_arr_)) - { 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 } + 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_) + } + } - _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 + return }